Question about rooting Fire TV2 with version 5.2.7.3 - Fire TV Q&A, Help & Troubleshooting

Hello guys,
I'm brand new here in the forum and would like to root my Fire TV2 ( Version 5.2.7.3 ). I know about rooting and already own a Fire TV2 that I successfully rooted myself a few years ago. I haven't really found much about this latest version. Just a Pre-Rooted 5.2.7.3 ROM ( from rbox ). But this is of no use to me without the SU and TWRP installed. Has anyone successfully rooted a Fire TV2 with this version and can help me ?
Best regards
Maxidoman

Maxidoman said:
Hello guys,
I'm brand new here in the forum and would like to root my Fire TV2 ( Version 5.2.7.3 ). I know about rooting and already own a Fire TV2 that I successfully rooted myself a few years ago. I haven't really found much about this latest version. Just a Pre-Rooted 5.2.7.3 ROM ( from rbox ). But this is of no use to me without the SU and TWRP installed. Has anyone successfully rooted a Fire TV2 with this version and can help me ?
Best regards
Maxidoman
Click to expand...
Click to collapse
Yeah, root is still possible, here is the thread: Link

Hello Sus_i,
Thanks for the link. But I don't want to open the Fire TV Box for root. Isn't there an easier option for version 5.2.7.3, for example with the sideloading tool adblink for Windows? I could use it to install the SuperUser & TWRP Recovery.
Best regards
Maxidoman

Maxidoman said:
Hello Sus_i,
Thanks for the link. But I don't want to open the Fire TV Box for root. Isn't there an easier option for version 5.2.7.3, for example with the sideloading tool adblink for Windows? I could use it to install the SuperUser & TWRP Recovery.
Best regards
Maxidoman
Click to expand...
Click to collapse
No, unfortunately there isn't another (known) way to root/install TWRP at this fw.

Sus_i said:
No, unfortunately there isn't another (known) way to root/install TWRP at this fw.
Click to expand...
Click to collapse
Hello Sus_i,
I've changed my mind. There must always be a small risk with a root attempt. Otherwise the thrill is missing. Where can I find the required files ( python3, PySerial, adb, fastboot ) on the Internet? How do I get Linux to work on my Windows 7/10 Latop ?

Maxidoman said:
Hello Sus_i,
I've changed my mind. There must always be a small risk with a root attempt. Otherwise the thrill is missing. Where can I find the required files ( python3, PySerial, adb, fastboot ) on the Internet? How do I get Linux to work on my Windows 7/10 Latop ?
Click to expand...
Click to collapse
One way is to create a bootable USB drive with Linux. See https://ubuntu.com/tutorials/try-ubuntu-before-you-install#1-getting-started for Ubuntu instructions.
The link in post 2 includes instructions for installing python3 and PySerial, if they are not already installed. Adb and fastboot are in the Android Platform Tools at https://developer.android.com/studio/releases/platform-tools.
Another way would be to run Linux in a VM under Windows.

Maxidoman said:
Hello Sus_i,
I've changed my mind. There must always be a small risk with a root attempt. Otherwise the thrill is missing. Where can I find the required files ( python3, PySerial, adb, fastboot ) on the Internet? How do I get Linux to work on my Windows 7/10 Latop ?
Click to expand...
Click to collapse
That's easy. Grab rufus (from rufus.ie) and an ubuntu iso, then flash ubuntu with rufus to an usb stick.
Boot it as live version (depends on your laptop, press F2, F12 or something like that for the boot menu) and connect to the internet.
Then just do all requirements from the root OP thread.
Most critical part is the shorting! Don't damage the resistor, best is to use some fine flexible copper cable... but never use sharp tools or steel!
If the short doesn't work within 10 seconds, disconnect power and usb, then try again.
Good luck

Hello Guys,
Thanks for the information. I still have a few questions for understanding. I created a bootable usb stick with ubuntu-20.04.1-desktop-amd64 and now i can start ubuntu. I did not select Install rather l just try out and my latop is connected to my network via wifi. Then open a terminal and enter the following commands :
sudo apt update
sudo add-apt-repository universe
sudo apt install python3 python3-serial adb fastboot
Some downloads started automatically and the files were installed. The next command :
sudo apt remove modemmanager
Then I opened a new terminal in the amonet-sloane-v1.3 folder and entered the command :
sudo ./bootrom-step.sh
The following is now displayed on the screen
Picture
Is everything okay so far ?
I haven't opened the Fire TV box yet. Couldn't you first connect the USB cable for testing (without the short-circuit bridge between DAT0 and GND) to see if the connection works? I would then possibly expect the message :
Bus 001 Device 013: ID 0e8d: 2000 MediaTek Inc. MT65xx Preloader
Best regards
Maxidoman

Maxidoman said:
Hello Guys,
Thanks for the information. I still have a few questions for understanding. I created a bootable usb stick with ubuntu-20.04.1-desktop-amd64 and now i can start ubuntu. I did not select Install rather l just try out and my latop is connected to my network via wifi. Then open a terminal and enter the following commands :
sudo apt update
sudo add-apt-repository universe
sudo apt install python3 python3-serial adb fastboot
Some downloads started automatically and the files were installed. The next command :
sudo apt remove modemmanager
Then I opened a new terminal in the amonet-sloane-v1.3 folder and entered the command :
sudo ./bootrom-step.sh
The following is now displayed on the screen
Picture
Is everything okay so far ?
I haven't opened the Fire TV box yet. Couldn't you first connect the USB cable for testing (without the short-circuit bridge between DAT0 and GND) to see if the connection works? I would then possibly expect the message :
Bus 001 Device 013: ID 0e8d: 2000 MediaTek Inc. MT65xx Preloader
Best regards
Maxidoman
Click to expand...
Click to collapse
There are a couple of potential issues which may (or may not) cause problems.
1. The amonet log cannot be written due to a read-only file system. Try this command - "sudo chmod -R +w /cdrom/amonet-sloan-v1.3". That may or may not make the file system writable. If not, and if it does cause problems, do "mount | grep amonet" and let me know the output.
2. The adb and fastboot you installed using apt are probably not the latest versions. The latest versions are in the link I gave you above. You may not need the latest versions, though.
You can connect the USB cable without the short-circuit bridge. Execute the command "lsusb" and you should see the firestick. The file manager may also open, or you may be prompted to open the firestick with the file manager.
Sorry to be so vague, but I'd have to duplicate what you are doing to be more exact, and it has been a while since I have done it with my firestick 4k. Also, your Fire TV Box may produce different results than my firestick.

It actually looks like I only have read access. Or did I enter something wrong ?
[email protected]:/cdrom/amonet-sloane-v1.3$ sudo chmod -R +w /cdrom/amonet-sloane-v1.3
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/bootrom-step.sh': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/gpt-fix.sh': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/bin': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/bin/boot.img': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/bin/force_recovery.img': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/bin/gpt-sloane.bin': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/bin/lk.img': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/bin/preloader.img': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/bin/tz.img': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/bin/unbrick.img': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/brom-payload': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/brom-payload/build': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/brom-payload/build/payload.bin': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/modules': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/modules/common.py': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/modules/handshake.py': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/modules/load_payload.py': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/modules/logger.py': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/modules/main.py': Read-only file system

Maxidoman said:
It actually looks like I only have read access. Or did I enter something wrong ?
[email protected]:/cdrom/amonet-sloane-v1.3$ sudo chmod -R +w /cdrom/amonet-sloane-v1.3
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/bootrom-step.sh': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/gpt-fix.sh': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/bin': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/bin/boot.img': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/bin/force_recovery.img': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/bin/gpt-sloane.bin': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/bin/lk.img': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/bin/preloader.img': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/bin/tz.img': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/bin/unbrick.img': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/brom-payload': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/brom-payload/build': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/brom-payload/build/payload.bin': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/modules': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/modules/common.py': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/modules/handshake.py': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/modules/load_payload.py': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/modules/logger.py': Read-only file system
chmod: changing permissions of '/cdrom/amonet-sloane-v1.3/modules/main.py': Read-only file system
Click to expand...
Click to collapse
do "mount | grep cdrom" and let me know the output.
also how did you install the amonet zip file, and where can I get it?
If it is actually on a cdrom, you will have to copy it to the local file system. A cdrom is read-only.
Do "cp -r /cdrom/amonet-sloane-v1.3 ~" to copy it to your home directory.

Hi dcarvil,
here is the output : [email protected]:/cdrom/amonet-sloane-v1.3$ mount | grep cdrom
/dev/sdb1 on /cdrom type vfat (ro,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
I start Ubunto from the USB stick and select Try Ubunto. The amonet-sloane-v1.3 folder including bootrom-step.sh is also on the USB stick. I have downloaded adb and fastboot (tools_r30.0.4-linux) how do I install adb and fastboot? Unfortunately, I've never worked with Linux ...
My Fire TV is not yet connected to the laptop

Maxidoman said:
Hi dcarvil,
here is the output : [email protected]:/cdrom/amonet-sloane-v1.3$ mount | grep cdrom
/dev/sdb1 on /cdrom type vfat (ro,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
I start Ubunto from the USB stick and select Try Ubunto. The amonet-sloane-v1.3 folder including bootrom-step.sh is also on the USB stick. I have downloaded adb and fastboot (tools_r30.0.4-linux) how do I install adb and fastboot? Unfortunately, I've never worked with Linux ...
My Fire TV is not yet connected to the laptop
Click to expand...
Click to collapse
You can try to remount cdrom as writable with this command "sudo mount -o remount,rw /cdrom". If that doesn't work, just copy /cdrom/amonet-sloane-v1.3 to your home directory using the command in post 11, and execute it from there.
I'd try the adb/fastboot you installed with apt first, as you may not need the latest version. If that doesn't work, these commands should install the zip you downloaded.
sudo apt remove adb fastboot
Change to the directory where you downloaded platform-tools_r30.0.4-linux.zip (presumably Downloads). "cd Downloads", if that is where it is. If not, also change it in the "export PATH" commands below.
unzip platform-tools_r30.0.4-linux.zip
export PATH=~/Downloads/platform-tools:$PATH
Execute "adb --version" to test.
echo "PATH=~/Downloads/platform-tools:\$PATH" >> ~/.profile
echo "export PATH >> ~/.profile

dcarvil said:
You can try to remount cdrom as writable with this command "sudo mount -o remount,rw /cdrom". If that doesn't work, just copy /cdrom/amonet-sloane-v1.3 to your home directory using the command in post 11, and execute it from there.
I'd try the adb/fastboot you installed with apt first, as you may not need the latest version. If that doesn't work, these commands should install the zip you downloaded.
sudo apt remove adb fastboot
Change to the directory where you downloaded platform-tools_r30.0.4-linux.zip (presumably Downloads). "cd Downloads", if that is where it is. If not, also change it in the "export PATH" commands below.
unzip platform-tools_r30.0.4-linux.zip
export PATH=~/Downloads/platform-tools:$PATH
Execute "adb --version" to test.
echo "PATH=~/Downloads/platform-tools:\$PATH" >> ~/.profile
echo "export PATH >> ~/.profile
Click to expand...
Click to collapse
Sorry to intrude here and I dunno if I misread .
Has he even carried out the short process???
before we get into the error and software issues?

Bertonumber1 said:
Sorry to intrude here and I dunno if I misread .
Has he even carried out the short process???
before we get into the error and software issues?
Click to expand...
Click to collapse
You are welcome to intrude. I don't have this fire tv model, and don't know what the short process is. I'm just trying to help with the Linux issues, which is the extent of my knowledge. Please feel free to jump in with additional instructions.

dcarvil said:
You are welcome to intrude. I don't have this fire tv model, and don't know what the short process is. I'm just trying to help with the Linux issues, which is the extent of my knowledge. Please feel free to jump in with additional instructions.
Click to expand...
Click to collapse
hi dcarvil, I was just scanning through there mate and seen that he is talking in a hypothetical manner without the short attached.
I was thinking the read only maybe because he hasnt carried out the short. I'm not sure though but I never actually checked if my box was ro or rw, I just went straight ahead with the short and everything was kooshty :good: anyway.
Suppose we won't know until he replies,

I got a little further but now my FireTV no longer works. First I took it from a different notebook and didn't get an error message ( when i execute sudo ./bootrom-step.sh ) . Then FireTv disassembled and soldered a thin cable to Data0. FireTV started again. Everything was fine. Then follow the instructions step by step. I get this output:
[email protected]:/media/ubuntu/Windows/amonet-sloane-v1.3$ sudo ./bootrom-step.sh
[2020-09-05 11:51:29.645048] Waiting for bootrom
[2020-09-05 11:51:43.461377] Found port = /dev/ttyACM0
[2020-09-05 11:51:43.462252] Handshake
[2020-09-05 11:51:43.462759] Disable watchdog
* * * Remove the short and press Enter * * *
[2020-09-05 11:51:44.967514] Init crypto engine
[2020-09-05 11:51:44.991475] Disable caches
[2020-09-05 11:51:44.992334] Disable bootrom range checks
[2020-09-05 11:51:45.010616] Load payload from ../brom-payload/build/payload.bin = 0x48B0 bytes
[2020-09-05 11:51:45.014370] Send payload
[2020-09-05 11:51:45.637327] Let's rock
[2020-09-05 11:51:45.638437] Wait for the payload to come online...
[2020-09-05 11:51:45.642160] all good
[2020-09-05 11:51:45.642494] Check GPT
[2020-09-05 11:51:46.754204] gpt_parsed = {'PRO_INFO': (1024, 254), 'NVRAM': (2048, 10240), 'TEE1': (12288, 10240), 'TEE2': (22528, 10240), 'lk': (32768, 2048), 'boot': (34816, 51200), 'recovery': (86016, 51200), 'KB': (137216, 2048), 'DKB': (139264, 2048), 'MISC': (141312, 1024), 'LOGO': (142336, 16384), 'EXPDB': (158720, 23296), 'system': (182016, 2477600), 'cache': (2659616, 512000), 'userdata': (3171616, 12098239), '': (0, 1)}
[2020-09-05 11:51:46.755407] Check boot0
[2020-09-05 11:51:47.013076] Check rpmb
[2020-09-05 11:51:47.222409] RPMB: b'AMZN\x01\x00\x00\x00\x04\x00\x05\x01\x02\x00Xc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
[2020-09-05 11:51:47.223998] Clear preloader header
[8 / 8]
[2020-09-05 11:51:47.712429] Flashing TEE..
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 500, in read
raise SerialException(
serial.serialutil.SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "main.py", line 164, in <module>
main()
File "main.py", line 126, in main
flash_binary(dev, "../bin/tz.img", gpt["TEE1"][0], gpt["TEE1"][1] * 0x200)
File "main.py", line 56, in flash_binary
dev.emmc_write(start_block + x, data[x * 0x200x + 1) * 0x200])
File "/media/ubuntu/Windows/amonet-sloane-v1.3/modules/common.py", line 200, in emmc_write
code = self.dev.read(4)
File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 509, in read
raise SerialException('read failed: {}'.format(e))
serial.serialutil.SerialException: read failed: device reports readiness to read but returned no data (device disconnected or multiple access on port?)
The LED no longer flashes after the start, no picture .... Can I still do something or do I now have a fullbrick? The query with the bridge still works and if I remove it, this is also recognized.

Maxidoman said:
The LED no longer flashes after the start, no picture ....
Click to expand...
Click to collapse
You see, the pl header gets wiped, just behind the RPMB thing. That is a feature: in case the script errors out, you're able to start it again 'without shorting'...
Maxidoman said:
Can I still do something or do I now have a fullbrick?
Click to expand...
Click to collapse
Idk, there are some faulty eMMC chips out there, nobody knows which box is affected.
Just run the script again, without shorting this time...

My FireTv is running again :laugh:. Thank you very much to all of you for the numerous tips. But I still have two questions.
1. My FireTV does not always start correctly. Either it starts completely normally as if no TWRP was installed. Or the 5 seconds overlay with the blue bar for the normal start / TWRP selection appears and starts the box after that it gets stuck (black picture on TV)
2. Is it possible to flash older firmware directly with TWRP with this version (5.2.7.3)?
best regards
Maxidoman

Maxidoman said:
My FireTv is running again :laugh:. Thank you very much to all of you for the numerous tips. But I still have two questions.
1. My FireTV does not always start correctly. Either it starts completely normally as if no TWRP was installed. Or the 5 seconds overlay with the blue bar for the normal start / TWRP selection appears and starts the box after that it gets stuck (black picture on TV)
2. Is it possible to flash older firmware directly with TWRP with this version (5.2.7.3)?
best regards
Maxidoman
Click to expand...
Click to collapse
Hi @Maxidoman I've got the exact same error as your post above with the "multiple access on ports error,, demonstrates a willingness to read..... " during rpmb downgrade in amonet script
Could you be so kind and elaborate how you got past this error.
Another member said to update fireiso software through the pacman command,, this is well over my head as im using Ubuntu 18.04 Lts (dual boot) and am updating this to latest Ubuntu distro just now and will update fb that way..
Cheers in advance

Related

[Q] Rooting G2 - Failed to copy : Read-only file system

Hey,
I'm following the tutorial over at G2 Hacks:
g2hacks.co m/g2-hacks/how-to-root-g2-phone
(omit the space between 'co' and 'm/')
I came across a problem at the beginning of the cmd portion.
This is what I type and the error I get.
Code:
C:\AndroidSDK\tools>adb push su \sdcard\su
failed to copy 'su' to '\sdcard\su': Read-only file system
How do you solve this problem?
EDIT: Go to 3rd post.
kpaekn said:
Hey,
I'm following the tutorial over at G2 Hacks:
g2hacks.co m/g2-hacks/how-to-root-g2-phone
(omit the space between 'co' and 'm/')
I came across a problem at the beginning of the cmd portion.
This is what I type and the error I get.
Code:
C:\AndroidSDK\tools>adb push su \sdcard\su
failed to copy 'su' to '\sdcard\su': Read-only file system
How do you solve this problem?
Click to expand...
Click to collapse
If you're wanting to root, go straight to the source; the guide in the Wiki here is based on the work the devs who actually found the means to root the device.
http://forum.xda-developers.com/wik...sion#Rooting_the_Vision_.28G2.2FDZ.29_and_DHD
Sent from my T-Mobile G2 using XDA App
I was following the tutorial from the Wiki Guide:
ht tp://forum.xda-developers.co m/wiki/index.php?title=HTC_Vision#Rooting_the_Vision_.28G2.2FDZ.29_and_DHD
(omit the space between 'ht' and 'tp' , 'co' and 'm/')
I came across a problem under the TEMP ROOT section.
This is what I type and the error I get.
Code:
C:\AndroidSDK\tools>adb push su \sdcard\su
failed to copy 'su' to '\sdcard\su': Read-only file system
How do you solve this problem?
kpaekn said:
I was following the tutorial from the Wiki Guide:
ht tp://forum.xda-developers.co m/wiki/index.php?title=HTC_Vision#Rooting_the_Vision_.28G2.2FDZ.29_and_DHD
(omit the space between 'ht' and 'tp' , 'co' and 'm/')
I came across a problem under the TEMP ROOT section.
This is what I type and the error I get.
Code:
C:\AndroidSDK\tools>adb push su \sdcard\su
failed to copy 'su' to '\sdcard\su': Read-only file system
How do you solve this problem?
Click to expand...
Click to collapse
Is USB debugging turned on and is the SDcard not mounted?
Sent from my T-Mobile G2 using XDA App
Sounds like the SD card is mounted on your PC and not the phone ? It needs to be mounted on the phone or this won't work.
Sent from my HTC Desire Z
All that command does is copy that file from your computer to the sdcard. You could accomplish the same thing by dragging and dropping that file to the sdcard.
The 'push' command just means "copy from location A to location B"
Sent from my HTC Vision using XDA App
You could always just mount the SDcard... but anyway, to solve this type in "adb remount" and enter the command before pushing the file
Sent from my HTC Vision using XDA App
USB debugging is on and SD is not mounted to my computer.
I tried directly copying the files onto the sdcard, but when I need to push rage, busybox, etc. I cannot access the data folder graphically from the computer.
So I'll still need to use cmd.
I tried the remount, but this is what I get:
Code:
C:\AndroidSDK\tools>adb remount
remount failed: Operation not permitted
kpaekn said:
USB debugging is on and SD is not mounted to my computer.
I tried directly copying the files onto the sdcard, but when I need to push rage, busybox, etc. I cannot access the data folder graphically from the computer.
So I'll still need to use cmd.
I tried the remount, but this is what I get:
Code:
C:\AndroidSDK\tools>adb remount
remount failed: Operation not permitted
Click to expand...
Click to collapse
The adb remount error is expected (the command requires your ro.secure prop to be set to 0, which you can't do until you have rooted).
So you were able to copy files to the SD card? Just to verify again, you should try mounting the SD card to you computer (so it shows up as a device on your computer's file explorer), copy over a file, unmount the card from your computer (and remember to also hit the button on phone to do so), and then try the ADB push commands again.
Ok, with the phone on plug it into your computer and mount USB storage. Drag and drop 'su' and superuser.apk into the sdcard then unmount USB storage. Make sure USB debugging is on at this point (you'll see it in the notification task bar). Do these commands:
Code:
adb push rage /data/local/tmp/rage
adb push busybox /data/local/tmp/busybox
adb push root /data/local/tmp/root
adb shell chmod 0755 /data/local/tmp/*
Then in the terminal app type:
Code:
/data/local/tmp/rage
You'll see some message pop up saying something about 'forked #### childs' and that's temp root. Then follow the instructions on running gfree to gain full root. Btw, you can just copy and paste all those commands if you think you'll make a mistake.
You may also be able to run the '/data/local/tmp/rage' command with the 'adb shell' command, never tried it myself though.
kpaekn said:
I was following the tutorial from the Wiki Guide:
ht tp://forum.xda-developers.co m/wiki/index.php?title=HTC_Vision#Rooting_the_Vision_.28G2.2FDZ.29_and_DHD
(omit the space between 'ht' and 'tp' , 'co' and 'm/')
I came across a problem under the TEMP ROOT section.
This is what I type and the error I get.
Code:
C:\AndroidSDK\tools>adb push su \sdcard\su
failed to copy 'su' to '\sdcard\su': Read-only file system
How do you solve this problem?
Click to expand...
Click to collapse
Oh come on !!!
the path separator in linux (and the phone is a linux computer) is / and not \ !!!
So the command is:
Code:
C:\AndroidSDK\tools>adb push su /sdcard/su
Just to tell you something about the unix shell:
The \ char is a so called escape character that you use to tell the shell that it should not ignore the next character even if it is a white space (i.e. space)
You would use it if you have to specify a path that contains spaces:
i.e.:
Code:
mkdir dir\ with\ 3\ spaces
will create a directory with the name "dir with 3 spaces". This would not work without the \ characters.
have fun - Guhl
Haha... it's funny how simple the answer was.
Thanks for your guys' help.

[Guide] How to get Karmic Koala on your HTC Vision

So, for all of you guys down here that are Debian junkies, then you're gonna love this. I managed to get Ubuntu Karmic Koala on my G2 after a bit of messing around with adb. This is my first tutorial on xda-developers, so please tell me how I'm doing. Remember to hit the Thanks button at the bottom if you're satisfied
Code:
#Your warranty has been voided
#I am not the cause of any damage done to your device
#Should you accuse me, I will laugh at you
Reasons why you should follow this tutorial:
- It allows you to make use wide array of applications available in Debian/Ubuntu's repos.
- It doesn't overwrite the current Android operating system.
- It'll allow you to turn your G2, Desire Z, etc. into more than just a sub-par cellphone.
- If you're developing software/applications, this will give you the proper environment for you test them on, if you don't care for Virtualbox or don't have access to a computer at the current moment.
- This tutorial will make the best use of Android and Linux's open-source nature.
Please note that this DOES NOT replace Android nor is it a port of Ubuntu/Debian. Ubuntu/Debian support ARM EABI which is the underlying architecture of Android.
READ EVERYTHING BEFORE DOING ANYTHING. I KNOW IT'S LONG, I WROTE THIS TUTORIAL
For those of you that can't use, can't set it up, or don't care for adb, you can still get Ubuntu to work on your device using a Terminal Emulator app, but you're probably gonna be stuck at the command line. I haven't actually tried setting up the GUI using the Terminal, so I'm not 100% sure. Now, before I start the tutorial, you NEED to be rooted.
NOTE: Whenever you see a $ or a # sign, those are indicators for the next command. Please do not enter them as you're typing in the commands. The same goes for the "[email protected]:/#" sign.
Before we begin we will need the following:
On your phone, have the following installed and/or readily available
-androidVNC application
-Terminal Emulator app (use this to boot into Ubuntu shell)
-Busybox (preferably, the latest one. If you rooted your phone using the method on the xda wiki OR your custom ROM has it pre-installed, then continue)
- At least 2GB space free on your microSD card
- Loopdevice support for your ROM. I think Cyanogen and another kernel should do the trick.
On your computer have the following installed and/or on the desktop:
-Ubuntu Karmic Koala image. If you don't have it, download it from this link ->http://bit.ly/moghJ3
-adb installed and fully functioning on your computer
EDIT 4 June, 2011: For those of you having troubles getting the shell to boot up, I found an alternative bootubuntu file. Extract it and replace the one that comes with the image with this one http://bit.ly/j7zORF
Let's begin, shall we?
Step 1: Connect your phone to your computer. Make sure you have "USB Debugging" checked off in "Settings -> Applications -> Development", then mount your sd card.
Step 2: Transfer the extracted "ubuntu" folder to the root of your sd card [NOT IN ANY FOLDERS, JUST the sd card itself, for those of you who don't know]. It might take a few minutes, so you might wanna make yourself a little snack for the wait.
Step 3: When the file transfer is done, disable the USB connection, so we can make use of adb. This is where USB Debugging is CRUCIAL. Open up a command window/terminal, go to where adb is located and enter the following commands:
Code:
$ adb shell
$ cd /sdcard/ubuntu
# su
# sh ./ubuntu.sh
# bootubuntu
At this point, you've set up the Ubuntu shell, as indicated by the "[email protected]:/#" sign.
However, our shell is still incomplete. We're gonna need a GUI for actual usage. If you're fine with using the command line then stop here. If you want to give yourself a PC-like experience, then please continue. You might wanna connect to WiFi if you're in an area where your mobile data is inconsistent or restricted to an EDGE connection.
Step 4: With the command prompt/terminal window that contains your adb/ubuntu shell, let's continue entering some commands to get our GUI set up.
Code:
[email protected]:/# apt-get update
[email protected]:/# apt-get install tightvncserver
[email protected]:/# apt-get install lxde
[email protected]:/# export USER=root
[email protected]:/# vncserver -geometry 1024x800
After entering the last command, you'll be prompted to enter a password. It'll ask you to set up a second one, just press "n" then continue.
For the second and third commands, press "y" when prompted to then hit ENTER, so you can install the packages. The reason why we set the VNC server's resolution is because even though the G2/Dz's resolution is 800x480, a higher resolution will provide a better viewing experience. If you want it set up to your phone's resolution, then swap it with "800x480" to scale the server's resolution to your phone's screen size.
Step 5: Enter the following commands. After entering the first command, you'll notice there's no user indicator at the left side. DON'T PANIC. Just continue entering the following commands:
Code:
[email protected]:# cat > /root/.vnc/xstartup
#!/bin/sh
xrdb $HOME/.Xresources
xsetroot -solid grey
icewm &
lxsession
Then, press Ctrl+D twice and press enter. You'll be back at "[email protected]:/#" (Conversely, if you're on Mac OS or Linux, just press Ctrl+D once)
Step 6: Go to your phone, and open up the androidVNC app. We're gonna need this to view our desktop. set the nickname to "root" and enter the password you set earlier. Set the port to "5901" and press connect.
Step 7a: And bam! You've got your own cool GNOME desktop! (Though in my experience, it switches over to lxde after a few uses.) Now, we need to get the VNC app to open up every time we boot into our shell. We need to enter a few more commands (yeah I know, it's getting a bit tedious at this point.)
Code:
[email protected]:/# cat > front
export USER=root
cd /
rm -r -f tmp
mkdir tmp
cd /
vncserver -geometry 1024×800
Again, you can replace "1024x800" with any screen resolution you desire.
Step 7b: Enter just a few more commands [trust me, we're almost done ]
Code:
[email protected]:/# cat front /root/.bashrc > temp
[email protected]:/# cp temp /root/.bashrc
Step 8: To check that everything is working, enter the following commands in your command prompt/terminal window that contains our adb/ubuntu shell that I hope you kept open all this time.
Code:
[email protected]:/# exit
# bootubuntu
And you're done! Give yourself a round of applause and a pat on the back, because now you have Ubuntu Linux running alongside Android. Yay!!!!!!
To boot into your shell AFTER you're done, use the Terminal Emulator app to access your shell:
Code:
$ su
# bootubuntu
That's it, you're finished.
Now, I don't know why this happens, but after rebooting your phone, it'll take a few extra seconds for your devices to start up. I think it's because of all the files that are in the phone's internal memory. I'm not sure. Also, the VNC server might not open up after you're done with the tutorial. It's only a minor setback, you can still manually open it yourself which is in itself relatively quick.
When you're done with the tutorial, be sure to type in "exit" in the terminal and press enter for a clean kill of Ubuntu. Otherwise, you're gonna have to redo the entire procedure.
If you have any questions, please email me at [email protected]
FAQ
- I don't have adb, can I still follow this tutorial?
A: Yes you can. However, you're probably going to be stuck at Step 3 with the command line. You can still use the shell, but you won't have a GUI.
- Why does my phone show a black screen after rebooting?
A: It's probably because of all the modding that's a result of the commands we entered.
Don't worry, Your phone will boot up normally. However, if this goes on longer than usual, you might have to install a different ROM. I've tested it on CM7 (Stable and Nightly), Stock G2 ROM, Virtuous 1.0.2, Virtuous G-Lite 1.0.2, and their respective ROM bases with no problems.
- I get an error that won't let me boot into the Ubuntu shell. Help me!!!!!
A: Yeah, you probably either downloaded an incomplete image OR you entered an important command wrong. I suggest deleting the ubuntu image from your sdcard and then copy the image you extracted onto your sdcard. Then what you have to do is redo the entire tutorial.
Interesting...
Sent from my T-Mobile G2 using XDA Premium App
Spastic909 said:
Interesting...
Sent from my T-Mobile G2 using XDA Premium App
Click to expand...
Click to collapse
What's interesting about this?
Edit: can't wait to try this!
Ouch. . .
It's my first tutorial. . .
I just want to know what he found interesting about this tutorial. No need to get so defensive over a comment some other guy made.
Sent from my T-Mobile G2 using XDA Premium App
Didn't mean any offense dude especially if you weren't trying to be rude. You know how the internet doesn't portray emotion very well in text. Just sounded snappy. Back on topic. Can't wait to try this!
Sent from my HTC Vision using XDA Premium App
I'm not much of a software junky, so what exactly would this do? It looks easy enough to accomplish, since most of it is done through terminal, but I kinda wanna know what this DOES xD
Sent from my HTC Vision using XDA Premium App
xsteven77x said:
Didn't mean any offense dude especially if you weren't trying to be rude. You know how the internet doesn't portray emotion very well in text. Just sounded snappy. Back on topic. Can't wait to try this!
Sent from my HTC Vision using XDA Premium App
Click to expand...
Click to collapse
Edit: Remember to hit that thanks button!
ohshootrawr said:
I'm not much of a software junky, so what exactly would this do? It looks easy enough to accomplish, since most of it is done through terminal, but I kinda wanna know what this DOES xD
Sent from my HTC Vision using XDA Premium App
Click to expand...
Click to collapse
Well, Ubuntu is a distribution of the Debian family of Linux.
Essentially, you have access to the plethora of apps that exist in Ubuntu/Debian's repos, and it's also possible to use this shell as a test monkey for applications that you might be developing.
Any idea if this will work with the new Ubuntu 11.04? Though I do hate the new layout
boost3d23 said:
Any idea if this will work with the new Ubuntu 11.04? Though I do hate the new layout
Click to expand...
Click to collapse
in theory, yes if the image has been compiled properly. also, the new layout technically can get overwritten with lxde or whatever desktop environment you installed.
reserved for future use.
im getting some errors in terminal when trying to set this up, im running mexdroid v3 android 2.3.4
C:\push\tools>adb shell
# cd /sdcard/ubuntu
cd /sdcard/ubuntu
# su
su
# sh ./ubuntu.sh
sh ./ubuntu.sh
modprobe: module 'ext2' not found
←[H←[Jmkdir: can't create directory '/data/local/mnt': File exists
←[H←[Jchmod: bootubuntu: Operation not permitted
chmod: fsrw: Operation not permitted
chmod: mountonly: Operation not permitted
chmod: ubuntu.img: Operation not permitted
chmod: ubuntu.sh: Operation not permitted
chmod: unionfs: Operation not permitted
←[H←[J
Ubuntu Chroot Bootloader v0.1
Ubuntu Bootloader is now installed!
This process does NOT damage Android OS!
Original Installer by Charan Singh
Modified for Ubuntu Chroot by Max Lee at AndroLinux.com ,G2Hacks.com and NexusOn
eHacks.net
To enter the Ubuntu Linux console just type 'bootubuntu'
# bootubuntu
bootubuntu
mknod: /dev/loop1: File exists
losetup: /dev/block/loop1: No such file or directory
mount: mounting /dev/block/loop1 on /data/local/ubuntu failed: Device or resourc
e busy
mount: mounting devpts on /data/local/ubuntu/dev/pts failed: No such file or dir
ectory
mount: mounting proc on /data/local/ubuntu/proc failed: No such file or director
y
mount: mounting sysfs on /data/local/ubuntu/sys failed: No such file or director
y
net.ipv4.ip_forward = 1
Setting /etc/resolv.conf to Google Open DNS 8.8.8.8 and 8.8.4.4
bootubuntu: cannot create /data/local/ubuntu/etc/resolv.conf: directory nonexist
ent
bootubuntu: cannot create /data/local/ubuntu/etc/resolv.conf: directory nonexist
ent
Setting localhost on /etc/hosts
bootubuntu: cannot create /data/local/ubuntu/etc/hosts: directory nonexistent
READY TO ROCK AND ROLL BABY!
Brought to you by NexusOneHacks.net and the open source community!
chroot: can't execute '/bin/bash': No such file or directory
Shutting down Ubuntu
umount: can't umount /data/local/ubuntu/dev/pts: No such file or directory
umount: can't umount /data/local/ubuntu/proc: No such file or directory
umount: can't umount /data/local/ubuntu/sys: No such file or directory
umount: can't umount /data/local/ubuntu: Invalid argument
losetup: /dev/block/loop1: Device or resource busy
# bootubuntu
bootubuntu
mknod: /dev/loop1: File exists
losetup: /dev/block/loop1: No such file or directory
mount: mounting /dev/block/loop1 on /data/local/ubuntu failed: Device or resourc
e busy
mount: mounting devpts on /data/local/ubuntu/dev/pts failed: No such file or dir
ectory
mount: mounting proc on /data/local/ubuntu/proc failed: No such file or director
y
mount: mounting sysfs on /data/local/ubuntu/sys failed: No such file or director
y
net.ipv4.ip_forward = 1
Setting /etc/resolv.conf to Google Open DNS 8.8.8.8 and 8.8.4.4
bootubuntu: cannot create /data/local/ubuntu/etc/resolv.conf: directory nonexist
ent
bootubuntu: cannot create /data/local/ubuntu/etc/resolv.conf: directory nonexist
ent
Setting localhost on /etc/hosts
bootubuntu: cannot create /data/local/ubuntu/etc/hosts: directory nonexistent
READY TO ROCK AND ROLL BABY!
Brought to you by NexusOneHacks.net and the open source community!
chroot: can't execute '/bin/bash': No such file or directory
Shutting down Ubuntu
umount: can't umount /data/local/ubuntu/dev/pts: No such file or directory
umount: can't umount /data/local/ubuntu/proc: No such file or directory
umount: can't umount /data/local/ubuntu/sys: No such file or directory
umount: can't umount /data/local/ubuntu: Invalid argument
losetup: /dev/block/loop1: Device or resource busy
#
teh5abiking said:
Well, Ubuntu is a distribution of the Debian family of Linux.
Essentially, you have access to the plethora of apps that exist in Ubuntu/Debian's repos, and it's also possible to use this shell as a test monkey for applications that you might be developing.
Click to expand...
Click to collapse
Seriously? Mmm, okay. I'm gonna try it sometime this week ;D
Sent from my HTC Vision using XDA Premium App
strker45 said:
im getting some errors in terminal when trying to set this up, im running mexdroid v3 android 2.3.4
C:\push\tools>adb shell
# cd /sdcard/ubuntu
cd /sdcard/ubuntu
# su
su
# sh ./ubuntu.sh
sh ./ubuntu.sh
modprobe: module 'ext2' not found
←[H←[Jmkdir: can't create directory '/data/local/mnt': File exists
←[H←[Jchmod: bootubuntu: Operation not permitted
chmod: fsrw: Operation not permitted
chmod: mountonly: Operation not permitted
chmod: ubuntu.img: Operation not permitted
chmod: ubuntu.sh: Operation not permitted
chmod: unionfs: Operation not permitted
←[H←[J
Ubuntu Chroot Bootloader v0.1
Ubuntu Bootloader is now installed!
This process does NOT damage Android OS!
Original Installer by Charan Singh
Modified for Ubuntu Chroot by Max Lee at AndroLinux.com ,G2Hacks.com and NexusOn
eHacks.net
To enter the Ubuntu Linux console just type 'bootubuntu'
# bootubuntu
bootubuntu
mknod: /dev/loop1: File exists
losetup: /dev/block/loop1: No such file or directory
mount: mounting /dev/block/loop1 on /data/local/ubuntu failed: Device or resourc
e busy
mount: mounting devpts on /data/local/ubuntu/dev/pts failed: No such file or dir
ectory
mount: mounting proc on /data/local/ubuntu/proc failed: No such file or director
y
mount: mounting sysfs on /data/local/ubuntu/sys failed: No such file or director
y
net.ipv4.ip_forward = 1
Setting /etc/resolv.conf to Google Open DNS 8.8.8.8 and 8.8.4.4
bootubuntu: cannot create /data/local/ubuntu/etc/resolv.conf: directory nonexist
ent
bootubuntu: cannot create /data/local/ubuntu/etc/resolv.conf: directory nonexist
ent
Setting localhost on /etc/hosts
bootubuntu: cannot create /data/local/ubuntu/etc/hosts: directory nonexistent
READY TO ROCK AND ROLL BABY!
Brought to you by NexusOneHacks.net and the open source community!
chroot: can't execute '/bin/bash': No such file or directory
Shutting down Ubuntu
umount: can't umount /data/local/ubuntu/dev/pts: No such file or directory
umount: can't umount /data/local/ubuntu/proc: No such file or directory
umount: can't umount /data/local/ubuntu/sys: No such file or directory
umount: can't umount /data/local/ubuntu: Invalid argument
losetup: /dev/block/loop1: Device or resource busy
# bootubuntu
bootubuntu
mknod: /dev/loop1: File exists
losetup: /dev/block/loop1: No such file or directory
mount: mounting /dev/block/loop1 on /data/local/ubuntu failed: Device or resourc
e busy
mount: mounting devpts on /data/local/ubuntu/dev/pts failed: No such file or dir
ectory
mount: mounting proc on /data/local/ubuntu/proc failed: No such file or director
y
mount: mounting sysfs on /data/local/ubuntu/sys failed: No such file or director
y
net.ipv4.ip_forward = 1
Setting /etc/resolv.conf to Google Open DNS 8.8.8.8 and 8.8.4.4
bootubuntu: cannot create /data/local/ubuntu/etc/resolv.conf: directory nonexist
ent
bootubuntu: cannot create /data/local/ubuntu/etc/resolv.conf: directory nonexist
ent
Setting localhost on /etc/hosts
bootubuntu: cannot create /data/local/ubuntu/etc/hosts: directory nonexistent
READY TO ROCK AND ROLL BABY!
Brought to you by NexusOneHacks.net and the open source community!
chroot: can't execute '/bin/bash': No such file or directory
Shutting down Ubuntu
umount: can't umount /data/local/ubuntu/dev/pts: No such file or directory
umount: can't umount /data/local/ubuntu/proc: No such file or directory
umount: can't umount /data/local/ubuntu/sys: No such file or directory
umount: can't umount /data/local/ubuntu: Invalid argument
losetup: /dev/block/loop1: Device or resource busy
#
Click to expand...
Click to collapse
I had this issue aswell.
To solve it firts fix your permissions in Rom manager.
Then install busy box.
This should then allow you to install ubuntu. (atleast it did with me)
Hope this is some help to you
teh5abiking said:
What's interesting about this?
Click to expand...
Click to collapse
The post dude.. would you rather I said boring? Settle down
Do u know what interesting means? It means I am interested in this..didn't think you could mistake that but guess I was wrong
Sent from my T-Mobile G2 using XDA Premium App
Spastic909 said:
The post dude.. would you rather I said boring? Settle down
Do u know what interesting means? It means I am interested in this..didn't think you could mistake that but guess I was wrong
Sent from my T-Mobile G2 using XDA Premium App
Click to expand...
Click to collapse
hey man, i just wanna know what you found interesting about the tutorial.
i wasn't trying to be3 a smart aleck.
I really don't know **** about linux except for the few times I've had to run it on a virtual machine for rooting certain phones or to check out a few programs. With linux installed on my phone,
does that mean that I would be able to run any linux based program? For example aircrack or something like it?
Edit: I basically want to know what the purpose of doing this would be. What it would enable me to do
* I'm just sayin......
gazlufc said:
I had this issue aswell.
To solve it firts fix your permissions in Rom manager.
Then install busy box.
This should then allow you to install ubuntu. (atleast it did with me)
Hope this is some help to you
Click to expand...
Click to collapse
installed newest version of busybox 1.19.0 and fixed permissions and still received the same errors :/
strker45 said:
installed newest version of busybox 1.19.0 and fixed permissions and still received the same errors :/
Click to expand...
Click to collapse
.
Create a backup of you current rom using Rom manager.
Then install a new rom from the developer section of the G2/Desire z
First install busybox.
Second fix permissions.
Third is reboot
open adb and now try the process this should now allow you to install ubuntu.

[Emulation] Linux/Ubuntu for android (compatible with cm7/miui)

Hello,
I am going to prensent you today how to install ubuntu on your android device. Some of you propably already tried ,and had problems
making it work (or not). I modified the tutorial to make it easier, and corrected things. I also modified some paths in the scripts so that it can work with
cm7, if you are not a cm7 user you can download the other scripts too.
I based myself on this tutorial:
http://androlinux.com/android-ubuntu-development/how-to-install-ubuntu-on-android/
So let's start !
First, download the following cm7-ubuntu.rar file (decompress and copy over the whole ubuntu directory to the exeternal SD card of your Android smartphone/tablet:
Download cm7-ubuntu.rar:
http://www.fileserve.com/file/KQWsbRG
If you are a miui user, download cm7-ubuntu.rar, and replace the scripts by these:
http://www.fileserve.com/file/Tu8WZP5
If you are a not a cm7 neither a miui user, download cm7-ubuntu.rar, and replace the scripts by these:
http://www.fileserve.com/file/tuVMB9h
1) Make sure your phone is rooted and that busybox installed (if you are on cm7 all is ok).
2) Download Terminal Emulator on the market. Open it and type “su” to enter super user mode, then type “cd /emmc” or "cd /sdcard/external_sd" if your are a miui user or "cd /sdcard" if you are not on cm7, and “cd ubuntu” to enter the ubuntu directory in your SD card of your Android device.
3) Next, type “sh ubuntu.sh” to run the script which will basically get your Ubuntu image ready to run on your Android smartphone/tablet.
If you get error messages, don’t worry and keep going.
4) Type “bootubuntu” to enter Ubuntu. (Next time you enter Ubuntu, you just need to type “bootubuntu” from your /emmc/ubuntu directory, no need to run ubuntu.sh again.
If you got “[email protected]” at this point, congratulations! This means your Android OS comes with loop device support and Ubuntu is now running “chrooted” on top of your Android OS!!!
However, if there is an error like : "losetup: /dev/block/loop2: No such file or directory", this propably means that app2sd is conflicting with your sdcard, so to solve that
move all your applications on your internal sdcard and try again. If this doesn't solve your problem, that means that your kernel doesn't support loop
devices in most of the case, try flashing other kernels.
If after that you still have problems post, and I will try to reply when I have time
5) How to Install Programs on your Ubuntu!
Once you’ve got Ubuntu running on your Android device, it’s time to install some Ubuntu packages(or programs).
Type “apt-get update” to update, this is the first thing you will need to do before installing any new programs.
6) How to Install OpenSSH-server on your Android Ubuntu!
Type “apt-get install openssh-server” to install OpenSSH-server. What is OpenSSH-server? If you want to connect to your Android Ubuntu via an IP address (and SSH into it), you will want to do this.
7) How to Install TightVNCServer on your Android Ubuntu!
If you want to access the GUI of your Android Ubuntu, you can install TightVNCServer, which allows you to access the Android Ubuntu via Android VNC app on your Android smartphone/tablet or even access it remotely from your desktop computer.
Type “apt-get install tightvncserver” to install.
8) How to Install LXDE!(optional)
Next, we will install LXDE (Lightweight X11 Desktop Environment). Although we can use Ubuntu’s default GNOME (and trust me I love that), LXDE takes up less memory so our GUI access will be faster.
If you like GNOME, you can skip this step though.
Type “apt-get install lxde”
How to setup xstartup file so that when TightVNCServer is started, the LXDE runs instead of GNOME:
Type:
export USER = root
vncserver
(here he will ask you for a password for vnc, then if you want a view-only password, this mean you connect to vnc and you cannot interact with ubuntu, say n if you don't want and y if you want)
cat > /root/.vnc/xstartup
#!/bin/sh
xrdb $HOME/.Xresources
xsetroot -solid grey
icewm &
lxsession
Then press Volume-down&D togethe.
9) How fix language and start vnc at each boot:
Type:
touch /root/.bashrc
cat > /root/.bashrc
export LANG=en_US.UTF-8
export USER=root
rm /tmp/.X1-lock
rm /tmp/.X11-unix/X1
vncserver -geometry 1024x800 <== Here, you can change the resolution settings 1024×800 to the resolution of your liking. (Do not write that !)
Then again press Volume-down&D together.
10) Now we are going to reboot ubuntu to apply changes:
Reboot your phone, open Terminal Emulator again and type:
su
bootubuntu
Now your TightVNCServer is ready to accept any incoming connections from your phone or computer. Just point to the correct IP address and use port number 5901 to connect.
On your Android smartphone, just download the free app “Android-VNC-Viewer” and set the IP address to “127.0.0.1″ , port number 5901 and insert the password you set before in password.
Then enjoy !
SHUT DOWN UBUNTU: Sorry you have to reboot the phone, if you try to boot other ubuntu your phone will start to lag
Extra:
If you want more space to install programs & stuff, you can extend your user space without loosing your data.
Requirements:
Linux (you can make a live CD) or just an environment like cygwin for windows
Procedure:
1. UnZip Android or your present ubuntu.img file to your Home Folder. Or a folder of your liking (or even on your memory card!), just remember to cd before you do the following:
2. Open Terminal and Copy&Paste (Ctrl+C, Ctrl+Shift+V) this:
Code:
dd if=/dev/zero bs=1M count=XXX >> ubuntu.img
where XXX is the amount, in MB, by which data.img should be increased by.
My filesize started out as 256MB and I wanted a total of 512MB. That would mean I needed a extra 256MB, so I executed this:
Code:
dd if=/dev/zero bs=1M count=256 >> ubuntu.img
3. Run a file system check and file system resizer
Code:
e2fsck -f ubuntu.img
resize2fs ubuntu.img
e2fsck -f ubuntu.img
if prompted, press "y" for "yes"
4. Copy all of the Android files onto your SD card, put it into your phone...
Source: http://forum.xda-developers.com/showthread.php?t=737826
Sorry for my bad english
If you liked this thread, don't forget there is a Thanks button !
I have a problem with miui chamaleon rc2 . after i type bootubuntu i cant get [email protected] . im thinking that talonmtd dont support loopdevice but i have tried also with plapytus with no luck . you know i kernel with loop support for my rom ?
thanks
Do you have adb ?
MIU is based on cm7, you should have loop support...
do you have the error losetup : /dev/block/loop2: No such file or directory ?
im restarting device and i will copy all the commands . one moment
edit : i get this :
# sh ubuntu.sh
sh ubuntu.sh
modprobe: chdir(/lib/modules): No such file or directory
←[H←[Jmkdir: can't create directory '/data/local/mnt': File exists
←[H←[Jcd: can't cd to /emmc/ubuntu
chmod: bootubuntu: Operation not permitted
chmod: fsrw: Operation not permitted
chmod: mountonly: Operation not permitted
chmod: ubuntu.img: Operation not permitted
chmod: ubuntu.sh: Operation not permitted
chmod: unionfs: Operation not permitted
←[H←[J
Ubuntu Chroot Bootloader v0.1
Ubuntu Bootloader is now installed!
This process does NOT damage Android OS!
Original Installer by Charan Singh
Modified for Ubuntu Chroot by Max Lee at AndroLinux.com ,G2Hacks.com and Ne
eHacks.net
To enter the Ubuntu Linux console just type 'bootubuntu'
# bootubuntu
bootubuntu
mknod: /dev/loop2: File exists
losetup: /dev/block/loop2: No such file or directory
mount: mounting /dev/block/loop2 on /data/local/ubuntu failed: Invalid argu
mount: mounting devpts on /data/local/ubuntu/dev/pts failed: No such file o
ectory
mount: mounting proc on /data/local/ubuntu/proc failed: No such file or dir
y
mount: mounting sysfs on /data/local/ubuntu/sys failed: No such file or dir
y
net.ipv4.ip_forward = 1
Setting /etc/resolv.conf to Google Open DNS 8.8.8.8 and 8.8.4.4
bootubuntu: cannot create /data/local/ubuntu/etc/resolv.conf: directory non
ent
bootubuntu: cannot create /data/local/ubuntu/etc/resolv.conf: directory non
ent
Setting localhost on /etc/hosts
bootubuntu: cannot create /data/local/ubuntu/etc/hosts: directory nonexiste
READY TO ROCK AND ROLL BABY!
Brought to you by NexusOneHacks.net and the open source community!
chroot: can't execute '/bin/bash': No such file or directory
Shutting down Ubuntu
umount: can't umount /data/local/ubuntu/dev/pts: No such file or directory
umount: can't umount /data/local/ubuntu/proc: No such file or directory
umount: can't umount /data/local/ubuntu/sys: No such file or directory
umount: can't umount /data/local/ubuntu: Invalid argument
losetup: /dev/loop2: No such device or address
No, verify you don't have applications on your external sd card, if there is, transfer them to the internal sd card
EDIT: Yes, verify you don't have applications on your sd card
i dont have application on sd card
Okay this is wierd !
2 possibilities :
1. busybox is not installed
2. Your phone do not support loop devices
Can you send me a file in your /proc/ directory named config.gz ? (sorry it is a pain in the ass...)
Oh sorry I forgot how is named your external sdcard ? emmc or sdcard ?
Rename it to *.gz . Xda dont accept gz extension . I looked to sh script and i think the problem is that in cm7 sdcard is /sdcard not /emmc .
my external card is named /sdcard/external_sd and is a 16 gb class 2 so is a bit slower
Okay I think if found, I going to post new scripts for you quickly, I just verify that you have loop support
EDIT: Yes you have loop support, it is scripts
Replace these scripts : http://www.fileserve.com/file/Tu8WZP5
AnonymeLex said:
Okay I think if found, I going to post new scripts for you quickly, I just verify that you have loop support
EDIT: Yes you have loop support, it is scripts
Replace these scripts : http://www.fileserve.com/file/Tu8WZP5
Click to expand...
Click to collapse
Dont worry , but please upload this to xda because i hate fileserve and i have to wait 1200 seconds to download another file . Thanks
Yes, I forgot it's quicker, but does it work finally ?
I think is better that you fix the first post with instruction for miui users
Ok works , thanks a lot
i maked an error .
after this cat > /root/.bashrc i typed :
export LANG=en_US.UTF-8
export USER=root
rm /tmp/.X1-lock
rm /tmp/.X11-unix/X1
vncserver -geometry 800x480
exit
so every time i run bootubuntu this shut down . XD what i have to do to fix that ?
Edit : im recopying all including new script and i will not do same error
I'm using Ubuntu since 2006, it's really nice to see that the interest in Linux is growing so fast!
thunderteaser said:
I'm using Ubuntu since 2006, it's really nice to see that the interest in Linux is growing so fast!
Click to expand...
Click to collapse
im using ubuntu since the first version of android XD . im using it in dual boot . but i have changed 5 pc since 2005 for too use . is in use 24h/7d also with overclock . super pc !!! super android !!
thunderteaser said:
I'm using Ubuntu since 2006, it's really nice to see that the interest in Linux is growing so fast!
Click to expand...
Click to collapse
We can't ignore linux
(
Alberto96 said:
i maked an error .
after this cat > /root/.bashrc i typed :
export LANG=en_US.UTF-8
export USER=root
rm /tmp/.X1-lock
rm /tmp/.X11-unix/X1
vncserver -geometry 800x480
exit
so every time i run bootubuntu this shut down . XD what i have to do to fix that ?
Edit : im recopying all including new script and i will not do same error
Click to expand...
Click to collapse
Oh never thinked we could be in such a situation
The .bashrc is inside ubuntu.img, I don't really see a solution appart redownloading...
Sorry
Wait, exit don't really close ubuntu I think, it juste close terminal you should still able to connect via vnc and modify .bashrc ! To shut it down do Ctrl+D

[Nexus Player Root][LMY47D][5.1.0] root-boot - 03|26|2015

I am not responsible for whatever may happen to you or your device when using this, Run this at your own risk!!
Requires unlocked bootloader!
Based on SuperSU - v4.46 (the binary updates from within the app later on)
I put together root installer script that comes with SU-binary/App with a insecure boot.img, everything is done over adb shell since we don't have a recovery right now but i will be working on it and already booted CWM
For current firmware:
LMY47D - root-boot
For past firmware:
LRX21V - root-boot
For past firmware:
LRX21M - root-boot
crappy video but simple demonstration :good:​How to install:
Download the zip depending on your Nexus Player's firmware than extract & run root-boot.bat (Other operating system support coming soon for the installer script) Made on windows 7
Follow and read the on screen instruction carefully
Click to expand...
Click to collapse
SU app and binarys gets installed to /system/* directory's, The insecure boot.img gets installed to be able to access root adb shell and install those binarys
The root-boot boot.img is temporarily booted once during this process on the first boot of installation, it does not flash the boot.img
The previous boot.img before the installation is restored after SU is installed
Click to expand...
Click to collapse
Thanks @Chainfire for Superuser
My Donation Box​
Troubleshooting:
Check to make sure your device gets picked up in adb before running the script - - - ADB Drivers
This tool uses an unlocked bootloader and i have not unlocked mine yet, does unlocking the bootloader wipe the device? - - - Yes unlocking the bootloader will wipe the device
After fastboot flashed the boot.img than rebooted to the home screen i continued the the script like the installation steps said but it returned "device not found" - - - As long as it shows transferring files a few seconds after than its fine, adb restarts at that moment which will than return "device not found" than it reconnects and transfers. if fastboot flashed than rebooted fine than adb shouldn't have an issue
Help! Something went wrong and im bootlooping but i dont want to loose all my saved data - - - Everything is fine, Download the factory zip from here for your android version than extract the zip and retrieve the system.img and copy it into a folder that contains adb/fastboot and boot your device into fastboot mode and do "fastboot flash system system.img" doing it this way wont wipe your "/data" partition leaving everything intact but will restore the system back to its defaults
(If you were to run the factory zip as an update than it would format everything)
I installed SU with this method but cant use adb commands on my device - - - Go into "Settings>About" and click on "Build" 7 times very fast and it will enable "Developer options" in the settings menu, Go back to the settings menu and open developer options (You may need to reboot if it doesnt show up immediately) and enable the "USB debugging" option
Ill be updating this as new version of lollipop get released
support for both firmwares are up, any issues let me know i tested them both though and everything looked okay
Reuploading, had a minor issue
Edit: LRX21M link back up, let me know if there's any issues
Whoa...
Let the games begin....
ftarules said:
Whoa...
Let the games begin....
Click to expand...
Click to collapse
yeup, after recovery i have a few system modification ideas for the settings apk i was considering
i do have other devices to worry about though so it may take some time
bunchies said:
I put together root installer script that comes with SU-binary/App with a insecure boot.img, everything is done over adb shell since we don't have a recovery right now but i will be working on it and already booted CWM
For current firmware:
LRX21V - root-boot
Click to expand...
Click to collapse
Working well, Thank you, after semi-manually adapting for working from Linux Mint.
I don't have permission to do "adb logcat" or "adb shell logcat" anymore though, unless I restart adbd as root.
mikereidis said:
Working well, Thank you, after semi-manually adapting for working from Linux Mint.
I don't have permission to do "adb logcat" or "adb shell logcat" anymore though, unless I restart adbd as root.
Click to expand...
Click to collapse
Use adb shell
than type su to use root adb shell
Since running the script everything seems all good except for using voice search. Anybody else having issues where voice search just closes?
Update: Erased and manually flashed the V firmware as I was on M and now it appears to be working correctly, not sure if this is going to be a problem with people stuck on M for now but you may want to think of upgrading your fimware.
Getting ADB device not found.. Anywhere I can download drivers from? I have the latest android-sdk
xReaper7x said:
Getting ADB device not found.. Anywhere I can download drivers from? I have the latest android-sdk
Click to expand...
Click to collapse
http://developer.android.com/sdk/win-usb.html
at what point, adb will restart about half way through and it shows it cant connect to device but it really is
but if your in fastboot and it cant connect to the device than thats an issue
i should note this in the OP
Subscribed for later. Awaiting someone else to port a recovery for this, I am lazy.
Snuzzo said:
Subscribed for later. Awaiting someone else to port a recovery for this, I am lazy.
Click to expand...
Click to collapse
lol Snuzzo :good: recovery coming soon
Links are down. Does anyone have a mirror of 21V?
prsterero said:
Links are down. Does anyone have a mirror of 21V?
Click to expand...
Click to collapse
Links are up, hosted on android file host
Can mirror in a bit if needed
bunchies said:
Links are up, hosted on android file host
Can mirror in a bit if needed
Click to expand...
Click to collapse
Looks like it's working now. Before I was getting that the file couldn't be found. Thanks I appreciate you releasing this I just got it unlocked so time to root and have some fun expanding the storage to 128gb
Alright so I just got around to running the script, and none of the commands work after booting back up. There's a failure for every rmdir and mkdir command that's used, so the device doesn't get rooted. I tried doing a adb remount, but the device isn't allowing that.
________________________________________________________
root-boot: By Bunchies @xda
________________________________________________________
________________________________________________________
Power off/unplug the device, hold the power button while
plugging in the device until you see the google logo and
than let go to enter fastboot mode
________________________________________________________
________________________________________________________
Plugin the device to a PC using a usb cable
________________________________________________________
Press any key to continue . . .
waiting for ADB
target reported max download size of 536870912 bytes
sending 'boot' (5424 KB)...
OKAY [ 1.357s]
writing 'boot'...
OKAY [ 1.515s]
finished. total time: 2.876s
rebooting...
finished. total time: 0.602s
When boot completes
and you see the launcher
Press any key to continue . . .
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
error: device not found
error: device not found
error: device not found
error: device not found
error: device not found
error: device not found
error: device not found
rm: /system/bin/install-recovery.sh: Read-only file system
mkdir failed for /system/app/SuperSU, Read-only file system
mkdir failed for /system/bin/.ext, Read-only file system
failed to copy 'SuperSU/SuperSU.apk' to '/system/app/SuperSU/': Is a directory
failed to copy 'x86/su' to '/system/xbin/su': Read-only file system
failed to copy 'x86/supolicy' to '/system/xbin/supolicy': Read-only file system
failed to copy 'x86/libsupol.so' to '/system/lib/libsupol.so': Read-only file sy
stem
failed to copy 'x86/99SuperSUDaemon' to '/system/etc/init.d/99SuperSUDaemon': Re
ad-only file system
failed to copy 'x86/install-recovery.sh' to '/system/etc/install-recovery.sh': R
ead-only file system
cp: system/xbin/su: No such file or directory
cp: system/xbin/su: No such file or directory
cp: system/xbin/su: No such file or directory
cp: /system/xbin/sugote-mksh: Read-only file system
ln: /system/bin/su: Read-only file system
ln: /system/bin/install-recovery.sh: File exists
rm: /system/bin/app_process: Read-only file system
ln: /system/bin/app_process: File exists
mv: rename /system/bin/app_process32 to /system/bin/app_process32_original: Read
-only file system
ln: /system/bin/app_process32: File exists
cp: /system/bin/app_process32_original: No such file or directory
Unable to chmod /system/app/SuperSU: No such file or directory
Unable to chmod /system/app/SuperSU/SuperSU.apk: No such file or directory
Unable to chmod /system/xbin/su: No such file or directory
Unable to chmod /system/lib/libsupol.so: No such file or directory
Unable to chmod /system/bin/.ext: No such file or directory
Unable to chmod /system/bin/.ext/.su: No such file or directory
Unable to chmod /system/etc/init.d/99SuperSUDaemon: No such file or directory
Unable to chmod /system/xbin/daemonsu: No such file or directory
Unable to chmod /system/xbin/sugote: No such file or directory
Unable to chmod /system/xbin/sugote-mksh: No such file or directory
Unable to chmod /system/etc/install-recovery.sh: No such file or directory
Unable to chmod /system/xbin/supolicy: No such file or directory
Unable to chmod /system/bin/app_process32_original: No such file or directory
Unable to chmod /system/bin/app_process_init: No such file or directory
chcon: Could not label /system/xbin/su with ubject_r:system_file:s0: No such
file or directory
chcon: Could not label /system/bin/.ext/.su with ubject_r:system_file:s0: No
such file or directory
chcon: Could not label /system/lib/libsupol.so with ubject_r:system_file:s0:
No such file or directory
chcon: Could not label /system/etc/init.d/99SuperSUDaemon with ubject_r:syste
m_file:s0: No such file or directory
chcon: Could not label /system/bin/sh with ubject_r:system_file:s0: Read-onl
y file system
chcon: Could not label /system/xbin/sugote with ubject_r:zygote_exec:s0: No
such file or directory
chcon: Could not label /system/xbin/supolicy with ubject_r:system_file:s0: N
o such file or directory
chcon: Could not label /system/xbin/sugote-mksh with ubject_r:system_file:s0:
No such file or directory
chcon: Could not label /system/bin/app_process32_original with ubject_r:zygot
e_exec:s0: No such file or directory
chcon: Could not label /system/bin/app_process_init with ubject_r:system_file
:s0: No such file or directory
Finished, you can now exit the installer
Press any key to continue . . .
Edit: Fixed it! I had to manually do "adb root" then "adb remount" and remount succeeded that time and I was able to run the rest of the script and saw all the file transfers.
prsterero said:
Alright so I just got around to running the script, and none of the commands work after booting back up. There's a failure for every rmdir and mkdir command that's used, so the device doesn't get rooted. I tried doing a adb remount, but the device isn't allowing that.
Edit: Fixed it! I had to manually do "adb root" then "adb remount" and remount succeeded that time and I was able to run the rest of the script and saw all the file transfers.
Click to expand...
Click to collapse
Glad to hear that!
bunchies said:
Glad to hear that!
Click to expand...
Click to collapse
The first time around I got into the bootloop so I had to start over. Second time and it worked now it seems that I can't get apps to install through the adb install command. I'm mainly trying to get es file explorer and stick mount so I can use an external flash drive. Is it possible that the root method somehow nuked this functionality? I've already restarted the adb server numerous times, rebooted the player, turned debugging off and back on, etc. Even after all that it just sits after displaying the transfer rate and never finishes.
Edit: Nevermind. Looks like this issue also goes back to having to do adb root and adb remount. Gotta do it for everything apparently
prsterero said:
The first time around I got into the bootloop so I had to start over. Second time and it worked now it seems that I can't get apps to install through the adb install command. I'm mainly trying to get es file explorer and stick mount so I can use an external flash drive. Is it possible that the root method somehow nuked this functionality? I've already restarted the adb server numerous times, rebooted the player, turned debugging off and back on, etc. Even after all that it just sits after displaying the transfer rate and never finishes.
Edit: Nevermind. Looks like this issue also goes back to having to do adb root and adb remount. Gotta do it for everything apparently
Click to expand...
Click to collapse
Weird, windows 8?

[Q] linux deploy fails when mounting any of the linux OS's

At first I thought it was maybe because I didnt'nt have enough free space on my sd card so I made sure I had 3GB's free but I still got this when I clicked install:
[13:04:26] Updating configuration file ... done
[13:04:27] >>> begin: install
[13:04:27] Checking mount points ... done
[13:04:27] Checking installation path ... done
[13:04:27] Making new disk image (512 MB) ... fail
[13:04:27] <<< end: install
And this when I try to reconfigure:
[13:02:49] Updating configuration file ... done
[13:02:50] >>> begin: configure
[13:02:50] Mounting partitions:
[13:02:50] / ... fail
[13:02:50] <<< end: configure
When I check my root stutus I get this message:
Congratulations! You have root access!
Super User Application Status:
SuperSU application by Chainfire - version 2.36 - is installed!
System File Properties for Root Access:
Standard Location
Check Command: ls -l /system/bin/su:
Result: /system/bin/su: No such file or directory
Analysis: File /system/bin/su does not exist.
Standard Location
Check Command: ls -l /system/xbin/su:
Result: -rwxr-xr-x root root 71264 2014-11-30 16:22 su
Analysis: Root access IS correctly configured for this file! Executing this file can grant root access! Root user ownership is present and setuid attribute is not present.
Alternative Location
Check Command: ls -l /sbin/su:
Result: /sbin/su: Permission denied
Analysis: File system permissions restricted and denied access.
Alternative Location
Check Command: ls -l /system/xbin/sudo:
Result: /system/xbin/sudo: No such file or directory
Analysis: File /system/xbin/sudo does not exist.
Root User ID and Group ID Status:
Root user id:
uid=0(root)
Root group id:
gid=0(root)
System Environment PATH: /sbin /vendor/bin /system/sbin /system/bin /system/xbin
ADB Shell Default User:
ADB shell setting for standard access, stored in default.prop, is configured as: shell (non root) user - ro.secure=1
Results provided on your SM-T800 - Android 4.4.2 device by Root Checker Pro version 1.3.9 from joeykrim in the Android Market
Can anybody tell me why I get this fail message after clicking install?i
Please help
Thank You
AO!
Same issue
Im currently having the same issue with trying to install kali on my tab s. Have root and even sd formated to ext4 but still issues .
Check your SE(Linux) status on Settings / About Device. If it says Enforcing then this is the cause of the problem.
You need to change it to permissive, but you can't do it on a stock rom. You need a kernel with permissive mode
enable or a custom rom with a permissive kernel.
Good Luck
eupeso4 is wrong. You don't need a different kernel. There is an app called SELinuxModeChanger... It works charms
I've attached the app below.
soulcrusher101 said:
eupeso4 is wrong. You don't need a different kernel. There is an app called SELinuxModeChanger... It works charms
I've attached the app below.
Click to expand...
Click to collapse
Also, go to terminal emulator after this.
Code:
su
getenforce
If you get "Enforcing" as a response, it's FUBAR. you can try to run the command "setenforce 0" as su as a workaround but if the app didn't work, it won't likely work either.
Molikai1988 said:
Also, go to terminal emulator after this.
Code:
su
getenforce
If you get "Enforcing" as a response, it's FUBAR. you can try to run the command "setenforce 0" as su as a workaround but if the app didn't work, it won't likely work either.
Click to expand...
Click to collapse
Okay i got enforcing. my deviceis SC-04E thats is S4 (docomo). i want to set SE Linux to premissive tell me the solution
soulcrusher101 said:
eupeso4 is wrong. You don't need a different kernel. There is an app called SELinuxModeChanger... It works charms
I've attached the app below.
Click to expand...
Click to collapse
Doesn't work on stock kernels.
I tried everything. But it doesn't work even after changing the SELinux to permissive., But after searching a lot, I found a thread which said me to change the partition to ext2. I changed the partition and then it all worked like charm.., If you still have issues, follow the guide in this link from start to end-https://github.com/meefik/linuxdeploy/issues/183, This solved most of the issues I had..
Linux Deploy Mounting Partitions Fail
Bro problem solved by me..
Check out this video
https://youtu.be/n5opus76c3k

Categories

Resources