[CHROOT] Running Arch Linux on the RARZ i - RAZR i Android Development

Right before the Introduction, I am not responsible for anything you do to you Phone, you are free to do or not to do what I am explaining to you so its on your own risk...
Introduction:
Ok guys so here we are, trying to install a Linux Distro on our awesome x86 Phone...
Damn this doesnt work because our Android is compiled in a different way than ARM Android so we have to wait for better Docs or someone who can get the bootloader to laod a different OS...
But you dont want to wait right?
So here we go, the only alternative:
Chroot into Linux
Description:
Chrooting lets you run annother Linux on top of the currently running Linux (what Android actually is...more or less).
So you mount an existing Linux and simply run it.
What I want to do:
I want to guide you through chrooting and setting up an Arch Linux on your RAZR i.
Requirements:
You need:
A micro SD card (I used a 8GB sized one but 4GB/more than 8 should also work, you just have to adjust some Steps)
An Arch Linux Image (I will give you a link)
(Not required but I will focus on this Platform because I use it myself and it works best, I guess)
A Linux PC running Virtual Box
Tutorial:
First you need an Arch Linux Image. Any other Linux Distro should work fine, but others also take up a lot more Space and Ubuntu for Example has many Problems running in Chroot (because Canonical did some S***).
I used this one:
Arch Linux 2012.10.06
Again, any Version should work fine, just took the latest one
So lets set up our System...
Start Virtual Box and create a new System.
Create a new Hard Drive and size it so it fits onto your micro SD.
I used 5 GB-7.5GB on a 8GB micro SD.
Insert the downloaded ISO FIle into the Virtual Box CD Drive and start your Virtual Machine.
Select the i686 mode (because or CPU is 32bit not 64bit)
If you have the wrong Keyboard Layout Follow this Keyboard Setup Keyboard Config
Next you need to partition the HDD: Partitioning the HDD
Now Install the Base System: Install the Base System
After this follow the next Steps on the Arch WIki (Generate an fstab, Chroot and configure the base system, Set the root password and add a regular user)
DO not reboot because you didnt create a Bootloader (not required for chrooting), instead go to the "Extra" Section and follow all Steps till troubleshooting (DO NOT REBOOT AND DO NOT STARTX this didnt work for, might for you, might not and then you have to cold reboot the VM)
Now you can reboot Again enter the Live System, load your keymap and chroot into the system
You might already install some Packages like a VNC server (pacman -S tightvnc) which will be required for a Graphical User Interface later...
To create the Image you need later, the easiest way for me to pull the Image out of the VM (which has no space for this Image) because the Virtual Box Plugin didnt work for me is sshfs.
I highly recommend to install an ssh server ond the sshfs system into you arch.
If you have done so, mount your PC from inside the VM so you can put the Image on your PC's HDD.
now to create an Image of your Arch theres one command and two ways:
You create an Image of the whole HDD (what I did)
You create an Image of the one Partition
I chose the first because i didnt want to put anything else on my micro SD, I cant confirm that the second way works but it is suppoes to so lets create the Image:
We make use of the Linux command dd, really, REALLY mke sure that you are executing from inside the VM since you can harm your HDD and dont forget the file extension....
First method:
Code:
dd if=/dev/sda of=/location/to/your/PC/HDD/imagefilename.img
The Second method (not confirmed):
Code:
dd if=/dev/sda1 of=/location/to/your/PC/HDD/imagefilename.img
where sda1 should be the partition you want to image...
This might take a loooooooong time
Now you have this Image, put your micro SD into an Adapter and put it into your PC.
Now find out the name of the SD, I used gparted and I found out that the name is sdc (could be sd + letter of alphabet)
Here the Ways split again:
The first Method completly overwrites anything that is on your microSD so make a backup, the second Way is just putting the created .img file onto the micro SD:
Method One:
Code:
dd if=/path/of/the/img/file of=/dev/sdc
Replace sdc with your micro SD letter, if you put in a wrong letter, you might overwrite your HDD so be careful, I am not responsible for what you do...
For me my Phone said, the micro SD is empty or has a wrong FIlesystem (its ext4) but you shouldnt care, we can mount it anyway...
Now copy the FIle mountscript.sh to the internal SD (the FIle is in this Posts Attachements)
Next open up a Terminal and type in:
Code:
cat /proc/partitions
You should get a list of all your Partitions, if you followed my Way, the last one should be your micro SD (look at the size) and called like mmcblk1p1
If you followed the Second Way, you dont need this Step...
Now type in the Terminal:
Code:
busybox sh /mnt/sdcard/mountscript.sh
the busybox in the beginning seemed required for me because our busybox is kinda strange...
You will be guide through a little setup, I hope it is selfexplaining...
When the script ran through successfully your terminal should look like [[email protected] /]#
In the next Post I will guide you through the Setup of the VNC Server
Any questions or something doesnt work? Just tell me
//Robert

Post reserved for VNC Tutorial
You can start by grabbing yourself this App...

Guess I forgot something
Added the mountscript as Attachemenet

did anybody try?
//Robert

this should fix network issues:
https://blog.tuinslak.org/socket-permission-denied

Hai Robbilie, After install with Ubuntu PC & turn off pc & All seem ok & at phone till [[email protected] /]# & open installed VNCwith name DLKS & 192.168.0.9 & port 5900 but cant handshake & also try many similar VNC still the same. Unlike our PC where on>boot>desktop shown & can play ? Pls advice. Thks.

i advice tiger vnc, but the console tells you the vnc server started?
btw its only 5900 when its on display 0 when its on display 1 its 5901 and so on...
the used display is shown in the console...
are you running the vnc from root?

How to run vnc from root? i only start separately,pls advice.Thks

if you have a vnc server installed in the chroot environment you need to run
vncserver -geometry 888x540
this is just to fit the phones resolution

I'm following your instructions for this. They are well written but I can't figure out the part about ssh and sshfs. What do you do for that step?
Is there seriously not an easier way such as opening the vdi image with some program and copying and pasting the files to my Windows desktop and then using something like IMGBurn to create an iso file and then convert it to an img file?

Ubuntu ?
Hello
I just see this old news when i would like to install Linux Mobile , any news about or link ?
http://www.firstpost.com/topic/prod...otorola-razr-i-video-9n_E6aapPSo-51417-1.html
Thanks
EDIT : http://sourceforge.net/projects/mpsdk/

Related

Linux driver for Fuze memory card?

I need to find a driver so i can plug my phone into my linux box and access the sd memory card. This is the machine that has all of the mp3 files. I don't need to sync or anything difficult, just transfer files.
Can someone point me to a driver please?
Maybe you just need to update your installation. Mine TP has worked in linux since I bought it a year ago. Using Ubuntu btw
I use Fedora Core 11. It's relatively new release and I keep it updated regularly. I'm not very good with Linux, but I like it better than MS. It's all the dependencies and line commands you have to do. I found this
http://linux.blogs2k.com/2009/02/21/...-ubuntu-linux/
but it doesn't help me at all. none of the commands work in Fedora. It's probably something simple (for linux gurus), but I'm too stupid to know what it is.
if you box will detect a memory stick it should detect the a phone with the usb manager installed on it. I had best luck with fedora as well. A side note is that there is a nice app made by pof on here that you can flash roms on linux as well
be sure you are selecting the usb connection as "data drive", are you on a stock rom?
otherwise
from a terminal do
Code:
lsusb
if you see the drive in the list (sandisk kingston etc..) then u should just need to mount it. i'm not the best on linux either, especially redhat, but i'm sure u can google a method to mount a usb drive. GL
You'll need an app like the built in 'Disk Drive' USB application or WM5torage. Once you have it in that mode, you can do the following:
Check your /dev/ folder for an item along the lines of 'sda1' or 'sdb1' that wasn't there before you plugged in the phone. Once you have it, you can create a folder, then:
sudo mount /dev/sdx1 /path/to/your/folder/
where /dev/sdx1 is your device and /path/to/your/folder is the folder you created.
Google 'mount usb flash drive linux' for more info.
ktemkin said:
Check your /dev/ folder for an item along the lines of 'sda1' or 'sdb1' that wasn't there before you plugged in the phone. Once you have it, you can create a folder, then:
Click to expand...
Click to collapse
or two other ways to find it by comparing output before and after plugin the phone :
fdisk -l
or
cat /proc/partitions
For accessing the storage, by default fedora mounts the device under /media/ I'll assume other "modern" distros are acting at the same way.
But a question regarding your SD card, is it encrypted ?
ubuntu hardy and jaunty working out of the box with storage mode
plug it in via usb and type dmesg at the command line
look for something like /dev/sdb /dev/sdb1 or something similar
this is your memory stick on the fuze make a mount point as root under /media like mkdir /media/fuze then
mount /dev/sdb /media/fuze
bingo bango

[HOW-TO] Run Debian Armel on your N1

Hi all!
I want to share the way i have to run Debian on Nexus One
I'm editing my own install of deb-armel and ill upload to everyone but first i need to finish it
By now, we will use a qemu image ready and edit it to your needs
You'll need a SD parted with Amon_RA recovery, few files i'll upload later and some skills with Debian, of course hehe
Partition could be user-alike but i recommend:
Im using a microsdhc 8gb class-2 from my magic
- EXT3: 2gb (nice for install a lot of stuff)
- SWAP: 150MB
- The rest as fat32
You need also a rom with app2sd or mount ETX3 partition under /system/sd, im using Modaco's 1.3
First of all, im working on archlinux but this can be done on windows too using the qemu version for windows
Install qemu on your machine.
NOTE: Also you can start a new installation from 0 using images (iso) and info found on google
Now we will use the following QEMU images:
http://people.debian.org/~aurel32/qemu/armel/
We will download the followings Of course you can choose the small or normal version with X preinstalled (the X version preinstalled is not tested by me and i dont know if works)
debian_lenny_armel_small.qcow2 150M
initrd.img-2.6.26-1-versatile 2.1M
vmlinuz-2.6.26-1-versatile 1.2M
Put they in your home folder or where u want.
Now, lets run it.
Use the following command (run it from the folder you have the downloaded files) :
qemu-system-arm -M versatilepb -kernel vmlinuz-2.6.26-1-versatile -initrd initrd.img-2.6.26-1-versatile -hda debian_lenny_armel_small.qcow2 -append "root=/dev/sda1"
Wait a moment... Debian-armel running under qemu
Here are the configuration by default:
- Keyboard: British English
- Language: English
- Mirror: ftp.uk.debian.org
- Hostname: debian-armel
- Root password: root
- User account: user
- User password: user
Edit the system to fit your needs, im not going to explain how to do this, im asumming you know how to. If u don't, use the debian reference guide:
http://www.debian.org/doc/manuals/debian-reference/
Of course, you'll need to edit basic things as locales, network, ssh preferences, etc...
Edit your system, update, configure packages, etc...
Once edited and configured, quit you virtual machine.
Now, we are going to convert the qemu image to a raw image, mount the fs and copy to your SD
Assuming you still in the same folder as the qcow2 image of debian (for windows, google a little, im sure there are something to do the same):
qemu-img convert -O raw debian_lenny_armel_small.qcow2 debian.raw
With this will obtain the qcow2 converted to a raw file (without touching the original qcow2 file)
Now mount it where u want or follow this steps:
sudo mkdir /media/debian
Before mount, lets see where start the partition on the raw file:
sfdisk -l -uS debian.raw
U will see a list of partions under the raw file, use the first, like this one:
debian.raw1 * 63 20225834 20225772 83 Linux
Now, we know the / starts at 63, mount this partition
sudo mount -o loop,offset=$((63*512)) debian.raw /media/debian
Ok, we have our partition mounted now, lets make a copy in our EXT3 partition on SD.
Use the USB Storage function from android, sd card reader... and mount the EXT3 partition
Once mounted, copy everything from /media/debian to /media/yourSDext3mounted
cd /media/debian
sudo cp -a * /media/yourSDext3mounted/
If everithing works as expected, umount the systems /media/debian/ and /media/yourSDext3mounted or use the Android notif to disconnect the USB storage function
Check if everything is now in the SD EXT3. Open a terminal and adb shell
adb shell
cd /system/sd
ls
U'll see the Debian / extructure and the app & app-private
Of course dont worry about this, u can still using apps2sd and debian at the same time
Now, it's time to boot debian
We need some modded files from the G1 version to boot it:
Download from Megaupload: http://www.megaupload.com/?d=Q67SNOBC
Download from MediaFire: http://www.mediafire.com/?mxgcyk3whdt
Also, files attached to post (rename the extension to tar.gz)
Put the files into your FAT32 SD partition, no in a folder just in "/"
Now, it's time to give it a try
U have two ways:
Open a terminal window in your PC
adb shell
cd /sdcard/
sh installer.sh
sh bootdeb
Or:
Open up a terminal in your N1, like Terminal Emulator on Market
cd /sdcard/
sh installer.sh
sh bootdeb
PROFIT!!!
Enjoy your debian-armel on your N1
For the next chapter, how to run X with VNC Viewer
Bye and thanks for reading!
Looks like Klingon to me.
I have Debian running too now
Nice! Cant wait to try it out!
nice, i've been looking for a n1 debian how-to
Installing debian is pretty much the same as running it on your g1. I had it working the day after I got mine using the g1 instructions.
So, what's the reason or running debian on your phone?
Jst wondering
u
The reason by now is just fun hehe
But, if we can run it natively via fastboot, would be awesome hehe
Sorry for the delay guys, ill do it now, the last night was too late for me 4am here hehe
EDIT: Just give some time more, i going to try it with the Cm 5.0 beta 1
jairuncaloth said:
Installing debian is pretty much the same as running it on your g1. I had it working the day after I got mine using the g1 instructions.
Click to expand...
Click to collapse
I couldnt get chmod or installer.sh from the g1 instructions to work. I tried it both with bacon and modaco 1.3. I skipped the jesusfreak part though so maybe thats why. Anyway seeing confirming instructions would be nice.
Because the g1 files need to be modded first
I have it running it under modaco 1.3 and now im going to try it with the new b1 from cyanogen
Guide ready
Enjoy it!
Hi,
i have one question about debian. Is the network traffic routed trough android, or does debian has direct access to the wlan adapter for monitor mode and aircrack ?
meld0
it's using the same ip and mac, so is shared for both
If there are the apropiate drivers maybe, don't really know
Calling Linux Experts!!! hehe
Is there any way to create a boot.img bootable via fastboot to run the ext3 partition of sdcard with debian?
Driskol said:
Calling Linux Experts!!! hehe
Is there any way to create a boot.img bootable via fastboot to run the ext3 partition of sdcard with debian?
Click to expand...
Click to collapse
sorry for being noob in this matter but, why do i need debian on my phone? what does it give me?
amir
The answer is a choice, Android or a Full Desktop OS with Firefox, Thunderbird, OpenOffice, etc...
When its booting I'm getting an error:
/system/bin/bootdeb: line 61: chroot: command not found
Doing "find / -name chroot" only returns binaries within the debian image.
Any ideas?
Driskol said:
The answer is a choice, Android or a Full Desktop OS with Firefox, Thunderbird, OpenOffice, etc...
Click to expand...
Click to collapse
How well does Firefox run?
Can anyone take some pics or video?
Any instructions for creating and mounting linux as an img file instead of using separate partitions?
tetlee said:
When its booting I'm getting an error:
/system/bin/bootdeb: line 61: chroot: command not found
Doing "find / -name chroot" only returns binaries within the debian image.
Any ideas?
Click to expand...
Click to collapse
Maybe your rom doesn't have Busybox
EDIT: Im going to make a img version tutorial
Of course, this version was without the highmem kernel, now with more ram, more flawlessly

XDAndroid - is it better to run from main???

Hello.
I just put the last build of XDAndroid 2.1. It works just fine, with only the known issues ( battery, slow wake up, memory leak). Though, the faster, the better , and I found this:
These packages contain all the files needed, to run Android on one of the following HTC mobile Diamond, Raphael, Blackstone, Rhodium or Topaz
The system files are extracted from the XDandroid build and the root filesystem are extracted from this root filesystem and modified to run on a ext2 partition
Howto run:
* Extract the latest Android filesystem to a ext2 partition on the internal Storage
*
Extract the latest kernel and modules to the root of the windows partition
*
Copy Haret.exe and a default.txt for your mobile to the windows partition (fat) and rename the text file to default.txt
*
Run haret.exe from WinMo, and you are on the way, to a better system!
Did anyone try this? Is the system better than with Android located on Internal Storage?
If performance is better, how to create ext2 partition with XP only( or Win7)
thanx in advance
i have not tried this. but..
i have not tried this. but if you want to do it you can.
sadly satin soft (Microsoft) can not make ext2.
but you can make a liveusb or live cd with Ubuntu(a Linux operating system) and select the try Ubuntu option. it will boot like a normal operateing system without installing. under system > administration there will be a program called gparted. there you can make a ext2 filesystem!!. to read this filesystem in windows (note read and write/ not format to) you can use ext2fsd.
links
http://www.ubuntu.com/
http://www.ext2fsd.com/
How to make liveusb (run ubuntu from a 1gb+ usb)
https://help.ubuntu.com/community/Installation/FromUSBStick
How to make a livecd
https://help.ubuntu.com/community/BurningIsoHowto
install from iso and boot into an installed ubuntu
or you can mount the iso in windows useing an iso mounter. and use the windows installer to make an half-assed install of ubuntu. then restart and choose the Ubuntu boot option. then run this in terminal to get gparted
Code:
sudo apt-get install gparted
tried it
i tried it. seemed like it was working. but it crashes during setup. (when you sign in to Google)

[GUIDE] How to get Ubuntu on the TouchPad

First off this is completely from Rennat over at PreCentral
-------------------------------------------------------------------------------------
TUTORIAL: How to get the UbuntuChroot up and running for your HP TouchPad
Intro:
UbuntuChroot is the raw Ubuntu terminal without the familiar GNOME graphical interface that all have come to think of Ubuntu. With this installed, you will be able to install ubuntu programs and launch them with in the terminal card.
To do this, the basic rundown will be making a new WebOS Doctor that has a separete partition of memory for Ubuntu to run with in. Then we will install it on your TouchPad and mount that partition so it will be able to be used after a reboot of the device. Lastly, we will install Xecutah, XServer, and UbuntuChroot from Preware and boot up Ubuntu on your TouchPad.
Both credit and Props go to WebOS Internals for making this possible and putting in all the hard work they have to make it as easy as it is.
Warnings:
I nor WebOS Internals take no responsibility over what may happen to your device. If you follow these instructions it 'should' work perfectly. If you do endup messing something up you 'should' be able to just doctor the device using the stock WebOS Doctor from HP.
Step Zero:
- I have provided 2 different ways to set your device up to install the UbuntuChroot onto your device; use the meta-doctor and create your own doctor (Step 1-A) or do as Step 1-B says and contact my army of monkeys for an easier alternitive that won't take forever.
##You my want to backup app data and the like using Save/Restore in Preware as you will lose all your data buy installing a WebOS Doctor. Please do so! And done hesitate to ask questions.
Step 1-A: Creating a WebOS Doctor
- We will be using the Meta Doctor to create a special WebOS Doctor that will create a 2GB (or more if you wish to do so) partition in /media/ext3fs/ were Ubuntu will be.
- Use the WebOS Internals Guide to installing and running the Meta Doctor. In Step 2 you will have to rename you downloaded webOS doctor to the name of the Bell Mobility doctor they have under Step 2'3 (webosdoctorp100ewwbellmo.jar) go ahead and add the webOS version after it like it advises.
- In Step 2'6, if you are using a Wifi Only TouchPad you will be using the last one which has touchpad for device and WiFi all for the carrier.
- Once the Meta Doctor is done, run the Web's Doctor it created under the 'builds' folder. And setup your device.
Step 1-B: Contacting My Army of Monkeys
- If you are having trouble with or are intimidated by Step 1-A go ahead and contact my army of monkeys at [email protected]. Simple.
Step 2: Mounting the new ext3fc partition on bootup
- Now before we continue we have to make sure we have the partition fully setup and mounted on bootup. To do this follow the below WebOS Internals instructions.
All of this is done on device either via novaterm or an SSH login. (simpler terms mean use WebOS Quick install by connecting you device, opening WebOSQuickInstall, and click Tools-Command Line.) If your device does NOT have a folder at /media/ext3fs then you will need to create it first. Use the following two commands:
Code:
mount -o remount,rw /
mkdir -p /media/ext3fs
it is important that you use /media/ext3fs as the location, otherwise some homebrew applications (such as Optware and the Ubuntu 11.04 Chroot) will not be able to find it and use it properly.
After you have created the mountpoint, we are going to edit the fstab file to set it up to mount at bootup.
Code:
mount -o remount,rw /
echo "/dev/mapper/store-ext3fs /media/ext3fs ext3 noatime,data=writeback 0 0" >> /etc/fstab
Now to get it mounted you have several options, the best one is the first command as it will use the data in /etc/fstab. If that works, then you have done this correctly and your ext3fs will mount at bootup.
Code:
mount -a
If you do not want it mounted at bootup, but you do need it mounted, you can use this command.
Code:
mount /dev/mapper/store-ext3fs /media/ext3fs
Click to expand...
Click to collapse
Step 3: Adding Testing Feeds
- Follow these WebOS Internals Instructions to add the Testing Feeds.
NOTE: These are edited slightly and will only work on a Wifi only TouchPad.
- Open Preware and wait for it to finish loading.
- Open the App Menu (tap "Preware" in the top left corner of the screen) and tap Manage feeds.
- Scroll to the bottom until you see the New Feed box.
- Type or paste a name (webos-testing-armv7) and URL (Right Click - Copy Address) sure the URL does *not* have a slash at the end.
- Make sure the IS COMPRESSED option is set to YES.
- Tap Add Feed and then tap Yes when the alert pops up.
- Gesture swipe back. Preware will alert you that you have added feeds and ask if you want to update them now. Choose YES.
Click to expand...
Click to collapse
Step 4: Installing UbuntuChroot, Xecutah, and XServer
- Open up Preware and tap List Of Everything.
- Search for and install the following: UbuntuChroot, Xecutah, and XServer
- Now opened Xecutah and tap XServer and a new card will come up.
- Go back to Xecutah and tap UbuntuChroot. Then swipe back to the new card that came up.
- Now you should have the Ubuntu terminal. Done. It should have a few 'mount' commands and then the @Touchpad:
Step 5: Installing Programs
- Now to have some fun after all that work you put in!
- Type the below and it will update the program lists.
Code:
apt-get update
- Now type the following to install what ever you wish!
Code:
/***type the below for AbiWord
apt-get install abiword
/***type the below for the Chromium Browser
apt-get install chromium-browser
/***type the below for GIMP
apt-get install gimp
/***type the below for Eclipse
apt-get install eclipse
/**type the below for LibreOffice
apt-get install LibreOffice
/***type the below for LXDE (a windows graphical interface) and then launch it by typing lxsession.
apt-get install lxde
---------------------------------------------------------------------------------------
agian from precentral enjoy guys
Mods please move to there thread i was in a rush (dead battery) and put it in the wrong forum
Does anything else besides chromium, abiword, eclipse, libreoffice, lxde and gimp work?
linkinpark4175 said:
Does anything else besides chromium, abiword, eclipse, libreoffice, lxde and gimp work?
Click to expand...
Click to collapse
anything you can compile for ARM or want to compile for ARM. there is a apt repository.
You could also find a complete guide to install Ubuntu Linux on HP TouchPad here
same thing
XDAnoobr said:
You could also find a complete guide to install Ubuntu Linux on HP TouchPad here
Click to expand...
Click to collapse
agian that is only for Chroot which is the exact same thing
Works great, now I have lxde on my touchpad.
able to get ubuntu chroot working properly, with libreoffice
now, hunting for a Bluetooth Keyboard
any one going to test if BT Mouses work? (yeah, i know theres a touchscreen)
Is multi-touch supported on this?
what version of libreoffice does it install the latest one? And if anyone has installed it the ubuntu laggy or is it normal.
harsh3090416 said:
what version of libreoffice does it install the latest one? And if anyone has installed it the ubuntu laggy or is it normal.
Click to expand...
Click to collapse
a little laggy sometimes, but still usable most of the time without any problems
libreoffice 3.3.2... you should probably check the ubuntu ARM 11.04 repository to see what is there
top says 1gb ram, 0.90gb used.... not sure why......
EDIT: Tried pairing a BT Mouse... able to find the device via "BT->Search other", but unable to pair properly. Mouse said paired successful, but touchpad couldnt continue, kept searching for devices
Tried "BT->Search Keyboard", but couldnt find the mouse this way
Now they have Debian chroot. Works great as well. Both can coexist at once. All it is is a folder at /media/extfs
Btw, has anyone gotten gnome working? I keep getting segmentation faults.
Is there a way to make that partition without meta doctor?
DJGonzo said:
Is there a way to make that partition without meta doctor?
Click to expand...
Click to collapse
metadoctor makes a partition
you could loop a filesystem ontop of the existing partition to avoid this issue, but the page below recommends against it
http://www.webos-internals.org/wiki/Chrooting
mount: mounting /dev/mapper/store-ext3fs on /media/ext3fs failed: No such file o
r directory
Why am i getting this error when trying to mount? It's really ticking me off as I haven't done anything different from the instructions.
I just spent an hour redoing the whole thing and guess what... i'm pissed off
same ****
samvillian said:
mount: mounting /dev/mapper/store-ext3fs on /media/ext3fs failed: No such file o
r directory
Why am i getting this error when trying to mount? It's really ticking me off as I haven't done anything different from the instructions.
I just spent an hour redoing the whole thing and guess what... i'm pissed off
same ****
Click to expand...
Click to collapse
looks like you didn't do metadoctor properly,
or you didn't make the /media/ext3fs directory,
or "mount -o remount,rw" didn't execute properly
1st problem: your touchpad should have around 10GB free(out of 16GB, or do the math if you have a 32/64gb)
2nd problem: go back to cmd prompt and check that /media/ext3fs exists
3rd problem: reinstall via webos doctor and do it again
kevina90 said:
Now they have Debian chroot. Works great as well. Both can coexist at once. All it is is a folder at /media/extfs
Btw, has anyone gotten gnome working? I keep getting segmentation faults.
Click to expand...
Click to collapse
Sorry, this is off topic. I'm sure Android will get here, but I really want to use my Touchpad (I haven't done much because I figured everything would get wiped anyway this weekend), so I think I'm going to give Linux a go. My understanding of Linux is rather crap. I thought Linux was the OS, and Ubuntu and other things were just GUIs to make it easier for people unfamiliar with command line. How could Debian simultaneously coexist?
I know I could go to wikipedia and look around and try to understand it, but by chance does anyone know any website that kinda describes Linux to beginners? I don't just want to follow the directions step by step on the guide (although its brilliant, looks very easy)without having the slightest effin idea what everything is, you know? Its weird, Linux confuses me, I don't know why. I've used ubuntu a number of times but it's just browsing firefox, not exactly rocket science!
Thanks if you can easily give link and press send then thanks but don't go out of your way, I can find something eventually, but I don't want someone else mucking around for my sake. Its no emergency.
Komodo Rogue said:
Sorry, this is off topic. I'm sure Android will get here, but I really want to use my Touchpad (I haven't done much because I figured everything would get wiped anyway this weekend), so I think I'm going to give Linux a go. My understanding of Linux is rather crap. I thought Linux was the OS, and Ubuntu and other things were just GUIs to make it easier for people unfamiliar with command line. How could Debian simultaneously coexist?
I know I could go to wikipedia and look around and try to understand it, but by chance does anyone know any website that kinda describes Linux to beginners? I don't just want to follow the directions step by step on the guide (although its brilliant, looks very easy)without having the slightest effin idea what everything is, you know? Its weird, Linux confuses me, I don't know why. I've used ubuntu a number of times but it's just browsing firefox, not exactly rocket science!
Thanks if you can easily give link and press send then thanks but don't go out of your way, I can find something eventually, but I don't want someone else mucking around for my sake. Its no emergency.
Click to expand...
Click to collapse
I would just find a book on amazon about linux with good reviews made in the past 1-2 years. I would look for one that is distribution neutral.
The reason you can have webos on there and another version of linux is because it's basically installed in another partition (not really, but that's the easiest way I can describe it to you). The actual details of how chroot works are different, but that should relate enough to you to get what it it is.
Linux is the Kernel. Debian, Ubuntu, Fedora and the rest are distributions of that kernel along with a GUI, and programs to make it a fully functional OS like Windows or OS X.
The Debian and Ubuntu on WebOS is minimal pared down distribution with no gui.
I just went thru all the steps , contacting the army of monkeys, and installed all the preware stuff.
I get Service Error Unable to run command : /sbin/initctl start org.webinternals.debian-squeeze etc etc
Unknown job org.webosinternals.debian-squeeze-chroot.
I got this with the Ubuntu chroot too. any ideas?
paperWastage said:
looks like you didn't do metadoctor properly,
or you didn't make the /media/ext3fs directory,
or "mount -o remount,rw" didn't execute properly
1st problem: your touchpad should have around 10GB free(out of 16GB, or do the math if you have a 32/64gb)
2nd problem: go back to cmd prompt and check that /media/ext3fs exists
3rd problem: reinstall via webos doctor and do it again
Click to expand...
Click to collapse
I've redone webos doctor like 4 times already.
How do I check if the directory exists? Plus i'm on a fresh 32gb, so its not that.
thanks
edit: i tested to see if the directories existed and i found a possible error.
i just cd to the folder to see if it exists, and media/ext3fs existed.
but the /dev/mapper/store-ext3fs doesn't exist apparently...
would that be the issue?

Fire TV 2 - Ubuntu (Headless) Install Guide

This guide is intend to help you with "installing" Ubuntu 14.04 (12.04 also works) on the Amazon Fire TV 2 after @rbox recovery has been setup. Only headless mode is possible, similar to Ubuntu Server, but it still makes a nice little ARMv8 development box. Starting X.org or running systemd based Linux distributions will likely never be possible due to features missing from the Amazon kernel. Creative use of the framebuffer is possible if desired, maybe eventually a terminal emulator could be started. As long as you don't mount and modify mmcblk0pX there should be no possible way to mess up Android or brick the device. It's 100% reversible by just removing the SD card. You accept all responsibility for what you do with this work should something go wrong and the device becomes inoperable. With disclaimers and precursor knowledge out of the way let's get started.
To follow this guide you will need:
A micro SD card (2 GB+ recommended)
A Linux system
To login into Ubuntu you will need either:
A 1.8 V TTY USB serial device connected to the UART
A pair of USB serial devices and a null modem cable
I actually used a pair of Xbee's for testing the ttyUSB0 stuff, so hence a pair of FTDI chips would also work.
Preparing the SD Card
To get started you need to first partition the micro SD card:
Type = MBR
Part 1 = 100 MB, Fat32 (vfat)
Part 2 = Remainder, Ext4
Extract the attached zip file to the root of the first partition (extracted filename must be "ramdisk-recovery.cpio.lzma"). This is an alternative initramfs that simply uses busybox to clean up from the partial Android boot and prepare the filesystem for regular Linux. Extract an Ubuntu core root filesystem archive, ubuntu-core-14.04.4-core-arm64.tar.gz, to the root of the second partition as the root user (to preserve ownership/permissions). Make sure you sync or eject the device when done with this work so the data gets flushed to the SD card.
Now we need to make a few changes to the root filesystem to avoid usability issues and allow logins.
Replace /etc/fstab with the following contents to correct some mount options. This "disables" SELinux which fixes dpkg errors and some other login annoyances.
Code:
/dev/mmcblk1p2 / ext4 defaults,relatime 0 0
selinuxfs /sys/fs/selinux selinuxfs ro,relatime 0 0
Replace /etc/init/console.conf with the following contents to allow logins from the UART. Once the root password has been set (root is disabled by default) you can remove "-a root" if desired.
Code:
# console - getty
#
# This service maintains a getty on console from the point the system is
# started until it is shut down again.
start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]
respawn
exec /sbin/getty -s -a root console
Create /etc/init/ttyUSB0.conf with the following contents to allow logins from an attached USB serial device. This should help people who don't want to take apart their device to solder wires onto the UART test points. SSH would of course be an alternative but it's not installed by default in Ubuntu core and this guide is about the building blocks not providing pre-made images (yet). Since udev doesn't work due to devtmpfs not being enabled in the kernel you will need to attach the USB serial device before booting for this to work. As before you can remove "-a root" later if desired once the root password is set. Also you should change the baud rate if needed.
Code:
start on (tty-device-added ttyUSB0)
stop on (runlevel [!2345] or tty-device-removed ttyUSB0)
respawn
exec /sbin/getty -L -a root 115200 ttyUSB0 vt102
Preparing the Fire TV
Until the search order for the initramfs file is changed by @rbox you will need to rename the initramfs on the system partition so it will continue to search for one on the SD card or USB stick. You need to connect to the device using adb either over USB or the network to execute the following commands.
Code:
adb$ su
adb# mount -o remount,rw /system
adb# mv /system/recovery/ramdisk-recovery.cpio.lzma /system/recovery/ramdisk-recovery.cpio.lzma.bak
adb# mount -o remount,ro /system
Right now this prevents "su" from working, which should be fixed by @rbox in due time. To get "su" working again you should extract the original recovery initramfs file to a USB stick and boot the device with that USB stick inserted instead of the previously created SD card. Then to restore "su" you can repeat the above steps just swapping the order of the files in the "mv" command.
Booting Ubuntu
After connecting your serial device of choice simply insert the SD card and power on the device. It's that easy! With luck you should get a shell prompt that is already logged in as root. It's a good idea to set the root password before going much further. The device isn't too useful without networking, so you can install more packages. To solve that connect an ethernet cable (since it's simpler) and type "dhclient eth0" to get online. At this point you can install openssh-server using apt-get or do anything else you'd normally do on an Ubuntu VM or headless Ubuntu system. I'm interested in hearing what people plan to do with a more-or-less high-end ARM development system.
Tips and Tricks
NOTE: These changes, unless otherwise noted, are performed while logged into the target Ubuntu system.
Setting the Hostname
You can change the hostname using the following command:
Code:
echo sloane > /etc/hostname
You should also create a simple /etc/hosts file that matches the chosen hostname.
Code:
127.0.0.1 localhost
127.0.1.1 sloane
Enable Ethernet at Boot
Create the file /etc/network/interfaces.d/eth0 with the following contents:
Code:
auto eth0
iface eth0 inet dhcp
Allow Users Network Access
Since we are stuck running an Android kernel you need to create the following group and add users who need network access (such as ping) to this special group.
Code:
groupadd -g 3003 aid_inet
usermod -G aid_inet -a root
usermod -G aid_inet -a <username>
Removing Failed Services
There are a few services that fail to start due to hardware limitations. We should just prevent them from starting in the first place. We have no VT support enabled in the kernel (boo) so we can just remove the ttyX login prompt services. Also the console setup doesn't work since our console is a serial device not a virtual terminal or other "graphical" type terminal emulator.
Code:
rm /etc/init/tty?.conf
echo manual > /etc/init/console-font.override
echo manual > /etc/init/console-setup.override
Fix /dev Hotplug
As stated before udev doesn't work due to missing kernel features. The busybox applet mdev is a simple replacement for most users. After installing the "busybox-static" package run the following command:
Code:
ln -s /bin/busybox /sbin/mdev
Now add the following line to /etc/rc.local before "exit 0".
Code:
echo /sbin/mdev > /proc/sys/kernel/hotplug
Pre-installing SSH
See: http://forum.xda-developers.com/showpost.php?p=65595013&postcount=13 (thanks @segfault1978)
Thanks a lot, that was exactly the thing I was searching for. Since before today the Raspi3 came out, this box is the cheapest ARMv8 development machine available. With your instruction I was able to login via SSH and install all required software for my development environment. No GUI needed for that, I'm doing all remotely via SSH. Again, thank you!
segfault1978 said:
Thanks a lot, that was exactly the thing I was searching for. Since before today the Raspi3 came out, this box is the cheapest ARMv8 development machine available. With your instruction I was able to login via SSH and install all required software for my development environment. No GUI needed for that, I'm doing all remotely via SSH. Again, thank you!
Click to expand...
Click to collapse
Awesome to hear that it worked for you. Just curious if you went the USB serial route or soldered to the UART pins.
There is also the Dragonboard 410c which is a quad core A53 but has a bit more than the raspberry pi. The price is higher though but it has been out probably a year or so. Just FYI. The raspberry pi 3 is a good deal.
zeroepoch said:
Awesome to hear that it worked for you. Just curious if you went the USB serial route or soldered to the UART pins.
Click to expand...
Click to collapse
None of these methods (since I was in my weekend and all cables and adapters reside in my office)
I placed all .deb-files for openssh-server including all requiremens onto the microSD card, and placed a call "dpkg -i /*.deb" with logging options in /etc/rc.local. I also configured network by mounting the sd card, editing /etc/network/interfaces, and last changed /etc/shadow to have a valid root account for login. It took my some try-and-error loops, but finally it worked as expected. Call me crazy, but I succeeded without any hardware.
---------- Post added at 09:09 PM ---------- Previous post was at 09:03 PM ----------
zeroepoch said:
There is also the Dragonboard 410c which is a quad core A53 but has a bit more than the raspberry pi. The price is higher though but it has been out probably a year or so. Just FYI. The raspberry pi 3 is a good deal.
Click to expand...
Click to collapse
Thank you for the hint, I'll have a look for the availability of this board in germany.
I'm facing a memory problem, resulting in a reboot of the device when all RAM is being used. My compile session takes more than 1.x GB of RAM for the quite complex compilation of all required packages. I can reproduce the situation where all memory is consumed and the device instantly reboots when hitting "no memory left" situation. Since "swapon" is not supported by the kernel (really?): is there any way to enable swap functionality, i.e. via a kernel module? How to overcome this situation where more memory is needed?
segfault1978 said:
None of these methods (since I was in my weekend and all cables and adapters reside in my office)
I placed all .deb-files for openssh-server including all requiremens onto the microSD card, and placed a call "dpkg -i /*.deb" with logging options in /etc/rc.local. I also configured network by mounting the sd card, editing /etc/network/interfaces, and last changed /etc/shadow to have a valid root account for login. It took my some try-and-error loops, but finally it worked as expected. Call me crazy, but I succeeded without any hardware.
Click to expand...
Click to collapse
That is pretty crazy, but since you knew the changes required it worked Not everyone I expected to have such experience. I figured someone might even try to do a qemu chroot or debbootstrap to preinstall openssh. Multiple ways to solve the same problem I guess.
segfault1978 said:
I'm facing a memory problem, resulting in a reboot of the device when all RAM is being used. My compile session takes more than 1.x GB of RAM for the quite complex compilation of all required packages. I can reproduce the situation where all memory is consumed and the device instantly reboots when hitting "no memory left" situation. Since "swapon" is not supported by the kernel (really?): is there any way to enable swap functionality, i.e. via a kernel module? How to overcome this situation where more memory is needed?
Click to expand...
Click to collapse
Looking at the default kernel config from the source code drop from Amazon I see:
Code:
# CONFIG_SWAP is not set
Swap can not be compiled as a module. Even if you chose to use a USB stick or something as the swap device It wouldn't work. Given that we can't change the kernel we can't try stuff like zram or zswap either. The only other suggestion I might have is if you're using "-j4" or something while compiling just remove that so it does a single threaded compile. I'm sure you already tried that. Beyond that you could look at using the Linaro AArch64 toolchain and cross compile. Since we're running Ubuntu you shouldn't need to worry about static binaries.
zeroepoch said:
Looking at the default kernel config from the source code drop from Amazon I see:
Code:
# CONFIG_SWAP is not set
Swap can not be compiled as a module. Even if you chose to use a USB stick or something as the swap device It wouldn't work. Given that we can't change the kernel we can't try stuff like zram or zswap either. The only other suggestion I might have is if you're using "-j4" or something while compiling just remove that so it does a single threaded compile. I'm sure you already tried that. Beyond that you could look at using the Linaro AArch64 toolchain and cross compile. Since we're running Ubuntu you shouldn't need to worry about static binaries.
Click to expand...
Click to collapse
Unfortunately, I'm not compiling with parallel processes (I'm compilig Icinga2 for arm64), I'm running
Code:
dpkg-buildpackage -us -uc
within the source package. One single cpp call consumes so much memory (which is crazy in my eyes, never seen such a big compiler process until today), so I'll investigate the option of cross compiling and afterwards creating the deb file outside of the machine.
Code:
cd /root/icinga2-2.4.3/obj-aarch64-linux-gnu/lib/base && /usr/bin/aarch64-linux-gnu-g++ -DI2_BASE_BUILD -Doverride="" -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g -pthread -std=c++11 -Wno-inconsistent-missing-override -fPIC -I/root/icinga2-2.4.3 -I/root/icinga2-2.4.3/lib -I/root/icinga2-2.4.3/obj-aarch64-linux-gnu -I/root/icinga2-2.4.3/obj-aarch64-linux-gnu/lib -I/root/icinga2-2.4.3/third-party/execvpe -I/root/icinga2-2.4.3/third-party/mmatch -I/root/icinga2-2.4.3/third-party/socketpair -o CMakeFiles/base.dir/base_unity.cpp.o -c /root/icinga2-2.4.3/obj-aarch64-linux-gnu/lib/base/base_unity.cpp
I'm a novice in android devices: What would be required to use a custom kernel? A hacked boot loader, which is not available for the AFTV2?
segfault1978 said:
I'm a novice in android devices: What would be required to use a custom kernel? A hacked boot loader, which is not available for the AFTV2?
Click to expand...
Click to collapse
Yep... we need to be able to use fastboot to boot an unsigned kernel and initramfs (boot.img). I tried at one point to overwrite the boot partition with own image and it failed to boot. Since I had the preloader stuff worked out already I was able to restore the original boot image and get it working again.
On a side note, if you don't mind could you post the list of packages needed to install SSH server from rc.local? Others might find that useful. To get around the unset password issue you could have also saved a public key in /root/.ssh/authorized_keys which would also avoid you needing to change /etc/ssh/sshd_config to allow password logins as root.
segfault1978 said:
within the source package. One single cpp call consumes so much memory (which is crazy in my eyes, never seen such a big compiler process until today), so I'll investigate the option of cross compiling and afterwards creating the deb file outside of the machine.
Code:
cd /root/icinga2-2.4.3/obj-aarch64-linux-gnu/lib/base && /usr/bin/aarch64-linux-gnu-g++ -DI2_BASE_BUILD -Doverride="" -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g -pthread -std=c++11 -Wno-inconsistent-missing-override -fPIC -I/root/icinga2-2.4.3 -I/root/icinga2-2.4.3/lib -I/root/icinga2-2.4.3/obj-aarch64-linux-gnu -I/root/icinga2-2.4.3/obj-aarch64-linux-gnu/lib -I/root/icinga2-2.4.3/third-party/execvpe -I/root/icinga2-2.4.3/third-party/mmatch -I/root/icinga2-2.4.3/third-party/socketpair -o CMakeFiles/base.dir/base_unity.cpp.o -c /root/icinga2-2.4.3/obj-aarch64-linux-gnu/lib/base/base_unity.cpp
Click to expand...
Click to collapse
I see you are not using -pipe which is good, but a quick search suggested something that might not be simple since this package has it's own build system but changing from -O2 to -O1 might help.
I noticed that Debian has the package available for the same version and already built for arm64.
https://packages.debian.org/sid/icinga2
Maybe you already tried that. You could try going back to jessie which is probably an older version but I think most jessie packages work with Ubuntu 14.04.
zeroepoch said:
Yep... we need to be able to use fastboot to boot an unsigned kernel and initramfs (boot.img). I tried at one point to overwrite the boot partition with own image and it failed to boot. Since I had the preloader stuff worked out already I was able to restore the original boot image and get it working again.
On a side note, if you don't mind could you post the list of packages needed to install SSH server from rc.local? Others might find that useful. To get around the unset password issue you could have also saved a public key in /root/.ssh/authorized_keys which would also avoid you needing to change /etc/ssh/sshd_config to allow password logins as root.
Click to expand...
Click to collapse
This is the list of packages I manually downloaded for ARM64 (unfortunately I used Debian packages which worked first, but leads to a hell situation afterwards when dealing with other dependencies; be sure to use Ubuntu packages in order to avoid problems afterwards):
Code:
busybox_1.22.0
libedit2_3.1
libgssapi-krb5
libk5crypto3
libkeyutils1
libkrb5
libkrb5support0
libwrap0
openssh-client
openssh-server
openssh-sftp-server
This is the piece of calls in /etc/rc.local, right before the exit:
Code:
dpkg --force-all -i /*.deb > /install.log 2>/install.err
echo $? >> /install.log
echo "installation finished" >> /install.log
It took about 1-2 minutes before SSH started to work automatically, you can mount the SD card afterwards in another system in order to check the written logfiles.
Here are some notes for getting wireless working. In addition to the normal OS steps (installing wpasupplicant or wireless-tools and editing /etc/network/interfaces or using wicd) you will need some firmware files from /system (/dev/mmcblk0p13).
Code:
mount -o ro /dev/mmcblk0p13 /mnt
cp -r /mnt/etc/firmware/ /lib/
cp -r /mnt/etc/Wireless /etc/
umount /mnt
segfault1978 said:
None of these methods (since I was in my weekend and all cables and adapters reside in my office)
I placed all .deb-files for openssh-server including all requiremens onto the microSD card, and placed a call "dpkg -i /*.deb" with logging options in /etc/rc.local. I also configured network by mounting the sd card, editing /etc/network/interfaces, and last changed /etc/shadow to have a valid root account for login. It took my some try-and-error loops, but finally it worked as expected. Call me crazy, but I succeeded without any hardware.
Thank you for the the fire tv guide.
Click to expand...
Click to collapse
So, what's the verdict on this? I want to use my firetv 2 as an emby server. Is it worth it trying to get Ubuntu to run?
Sent from my Mi A1 using Tapatalk
mrchrister said:
So, what's the verdict on this? I want to use my firetv 2 as an emby server. Is it worth it trying to get Ubuntu to run?
Click to expand...
Click to collapse
If it has arm64 packages and headless you can give it a try. If you don't like it you can just revert the ramdisk and go back to Android.
Ok sweet, thanks for the reply
Sent from my Mi A1 using Tapatalk
Just curious if anyone's tried running Plex server on this?
I've been looking for a better solution without shelling out $500+ for a dedicated NAS. AFTV is tiny so I could hardwire it and hide it away.
Thanks
I got the same idea. Right now the firetv is still being used as a media streamer but I'm thinking of doing this soon

Categories

Resources