Vogue Android in depth Rom Building guide requested - Touch CDMA General

Hi all , i am a new android user and would like to have a go a biulding some custom roms, Now i have no experiene with linux.. well the last 3days.. lol, and i have read the how to make a hero rom txt from the vogue - hero site and while that maybe suffucient for others to get up and away with rom building its not for me, So i am wondering if there is a more in depth step by step guide for not only a new android user but a new linux user also, would be very much appreciated
ok so there hasnt been much of a respone so ill share the steps i have so far
1. I installed Ubuntu linux ( Dual Boot with win 7 )
2. Needed to know how to install Squashfs did a search on google found this
A) open terminal window ( Ubuntu start menu, accessories )
B) type: sudo aptitude search squashfs , u will be prompted for password
this is what happened with mine:
[email protected]:~$ sudo aptitude search squashfs
[sudo] password for ali3nfr3ak:
i squashfs-tools - Tool to create and append to squashfs filesystems
C) type this command:sudo apt-get install squashfs-tools
My Dialog ( ihad to uninstall and then reinstall to get this so mine will be alittle different to
yours
[email protected]:~$ sudo apt-get install squashfs-tools
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
squashfs-tools
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B/122kB of archives.
After this operation, 319kB of additional disk space will be used.
Selecting previously deselected package squashfs-tools.
(Reading database ... 115049 files and directories currently installed.)
Unpacking squashfs-tools (from .../squashfs-tools_1%3a4.0-1_i386.deb) ...
Processing triggers for man-db ...
Setting up squashfs-tools (1:4.0-1) ...
[email protected]:~$
C) all done close terminal i type: exit
3: Next for testing purposes download this Google-Android-Ion-v1.5-2009-10-23-sdcard-not-google-apps and etract this and placed a copy of system.sqsh into it s own directory
4: i then opened another terminal window ( easier to copy and paste show you what my window looks like
[email protected]:~$ dir
Desktop Documents Downloads examples.desktop HERO Music Pictures Public Templates Videos
[email protected]:~$ cd HERO
[email protected]:~/HERO$ dir
Testing
[email protected]:~/HERO$ cd Testing
[email protected]:~/HERO/Testing$ dir
system.sqsh
[email protected]:~/HERO/Testing$ unsquashfs system.sqsh
Parallel unsquashfs: Using 2 processors
650 inodes (1408 blocks) to write
[=====================================================================================================================================================-] 1408/1408 100%
created 650 files
created 45 directories
created 0 symlinks
created 0 devices
created 0 fifos
[email protected]:~/HERO/Testing$ dir
squashfs-root system.sqsh
[email protected]:~/HERO/Testing$
basicially u can use the same commands as windows but with out the / and the spelling and Capitial letters have to be exact
Windows
/dir
/cd hero
Linux
dir
cd HERO
A new folder is created called squashfs-root which has all the files/ folders from the system.sqsh u just decompressed ( my description )
and that is a far as i have got so far

ali3nfr3ak said:
Hi all , i am a new android user and would like to have a go a biulding some custom roms, Now i have no experiene with linux.. well the last 3days.. lol, and i have read the how to make a hero rom txt from the vogue - hero site and while that maybe suffucient for others to get up and away with rom building its not for me, So i am wondering if there is a more in depth step by step guide for not only a new android user but a new linux user also, would be very much appreciated
Click to expand...
Click to collapse
If you still have that txt, would you mind hosting or pasting it here? I've been asking around for a copy and everyone seems to have lost it.

clockworx said:
If you still have that txt, would you mind hosting or pasting it here? I've been asking around for a copy and everyone seems to have lost it.
Click to expand...
Click to collapse
same here. trying to make my first rom also

How-To-Make-A-Hero-ROM.TXT attached

MUCH appreciated!

updated 1st post with my very linux noob steps lol

having alittle trouble anyone can someone shed some light please
[email protected]:/home/ali3nfr3ak/Downloads/HERO2# genext2fs -d ./system -b 180000 -a system.ext2
genext2fs: invalid option -- 'a'
genext2fs: Note: options have changed, see --help or the man page.
[email protected]:/home/ali3nfr3ak/Downloads/HERO2# genext2fs -help
Usage: genext2fs [options] image
Create an ext2 filesystem image from directories/files
-x, --starting-image <image>
-d, --root <directory>
-D, --devtable <file>
-b, --size-in-blocks <blocks>
-i, --bytes-per-inode <bytes per inode>
-N, --number-of-inodes <number of inodes>
-m, --reserved-percentage <percentage of blocks to reserve>
-g, --block-map <path> Generate a block map file for this path.
-e, --fill-value <value> Fill unallocated blocks with value.
-z, --allow-holes Allow files with holes.
-f, --faketime Set filesystem timestamps to 0 (for testing).
-q, --squash Same as "-U -P".
-U, --squash-uids Squash owners making all files be owned by root.
-P, --squash-perms Squash permissions on all files.
-h, --help
-V, --version
-v, --verbose
and
[email protected]:/home/ali3nfr3ak/Downloads/HERO2# mkdir rootfs-mount
[email protected]:/home/ali3nfr3ak/Downloads/HERO2# mount -o loop rootfs.img
mount: can't find rootfs.img in /etc/fstab or /etc/mtab

ali3nfr3ak said:
having alittle trouble anyone can someone shed some light please
[email protected]:/home/ali3nfr3ak/Downloads/HERO2# genext2fs -d ./system -b 180000 -a system.ext2
genext2fs: invalid option -- 'a'
genext2fs: Note: options have changed, see --help or the man page.
[email protected]:/home/ali3nfr3ak/Downloads/HERO2# genext2fs -help
Usage: genext2fs [options] image
Create an ext2 filesystem image from directories/files
-x, --starting-image <image>
-d, --root <directory>
-D, --devtable <file>
-b, --size-in-blocks <blocks>
-i, --bytes-per-inode <bytes per inode>
-N, --number-of-inodes <number of inodes>
-m, --reserved-percentage <percentage of blocks to reserve>
-g, --block-map <path> Generate a block map file for this path.
-e, --fill-value <value> Fill unallocated blocks with value.
-z, --allow-holes Allow files with holes.
-f, --faketime Set filesystem timestamps to 0 (for testing).
-q, --squash Same as "-U -P".
-U, --squash-uids Squash owners making all files be owned by root.
-P, --squash-perms Squash permissions on all files.
-h, --help
-V, --version
-v, --verbose
and
[email protected]:/home/ali3nfr3ak/Downloads/HERO2# mkdir rootfs-mount
[email protected]:/home/ali3nfr3ak/Downloads/HERO2# mount -o loop rootfs.img
mount: can't find rootfs.img in /etc/fstab or /etc/mtab
Click to expand...
Click to collapse
first no -a it doesn't work
[CODEgenext2fs -d ./system -b 180000 system.ext2[/CODE]
then mount it for me i made the directory /mnt/system
Code:
sudo mkdir /mnt/system
sudo mount -o loop /whereever/system.ext2 /mnt/system
then make sure you do not have squashfs-tools 4.0 it wont work
make the sqsh file
Code:
sudo mksquashfs /mnt/system system.sqsh
say rootfs.img was on your desktop
Code:
sudo mkdir /mnt/rootfs
sudo mount -o loop /home/king0fkings/desktop/rootfs.img /mnt/rootfs

jamezelle said:
first no -a it doesn't work
[CODEgenext2fs -d ./system -b 180000 system.ext2[/CODE]
then mount it for me i made the directory /mnt/system
Code:
sudo mkdir /mnt/system
sudo mount -o loop /whereever/system.ext2 /mnt/system
then make sure you do not have squashfs-tools 4.0 it wont work
make the sqsh file
Code:
sudo mksquashfs /mnt/system system.sqsh
say rootfs.img was on your desktop
Code:
sudo mkdir /mnt/rootfs
sudo mount -o loop /home/king0fkings/desktop/rootfs.img /mnt/rootfs
Click to expand...
Click to collapse
Ok thank you very kindly.. just got in from milking the cows, so ill give this a blast

Code:
genext2fs -d ./system -b 180000 -a system.ext2
the -a does work when you use the right genext2fs from the sdk or from pulling the android source and building it. the genext2fs i had uploaded uses the -a but you need to have it in your path before the generic genext2fs gets used or directly execute it. i keep it in /root/bin and execute it from there.
Code:
~/bin/genext2fs -d ./system -b 180000 -a system.ext2
the -a is for making android specific images and sets correct permissions
http://dl.dropbox.com/u/2888561/porting/genext2fs
make sure you set it to executable
Code:
chmod 755 genext2fs

zenulator said:
Code:
genext2fs -d ./system -b 180000 -a system.ext2
the -a does work when you use the right genext2fs from the sdk or from pulling the android source and building it. the genext2fs i had uploaded uses the -a but you need to have it in your path before the generic genext2fs gets used or directly execute it. i keep it in /root/bin and execute it from there.
Code:
~/bin/genext2fs -d ./system -b 180000 -a system.ext2
the -a is for making android specific images and sets correct permissions
http://dl.dropbox.com/u/2888561/porting/genext2fs
make sure you set it to executable
Code:
chmod 755 genext2fs
Click to expand...
Click to collapse
hey there thanks for the info , i cannot get this command to work :
Code:
~/bin/genext2fs -d ./system -b 180000 -a system.ext2
i worked out how to get root on linux, copied genext2fs into /root/bin did this command
Code:
chmod 755 genext2fs
i dunno what to try now
[email protected]:~/Downloads/HERO2# ~/bin/genext2fs -d ./system -b 180000 -a system.ext2
bash: /root/bin/genext2fs: No such file or directory
[email protected]:~/Downloads/HERO2# chmod 755 genext2fs
[email protected]:~/Downloads/HERO2# ~/bin/genext2fs -d ./system -b 180000 -a system.ext2
bash: /root/bin/genext2fs: No such file or directory
im lost

ali3nfr3ak said:
hey there thanks for the info , i cannot get this command to work :
Code:
~/bin/genext2fs -d ./system -b 180000 -a system.ext2
i worked out how to get root on linux, copied genext2fs into /root/bin did this command
Code:
chmod 755 genext2fs
i dunno what to try now
[email protected]:~/Downloads/HERO2# ~/bin/genext2fs -d ./system -b 180000 -a system.ext2
bash: /root/bin/genext2fs: No such file or directory
[email protected]:~/Downloads/HERO2# chmod 755 genext2fs
[email protected]:~/Downloads/HERO2# ~/bin/genext2fs -d ./system -b 180000 -a system.ext2
bash: /root/bin/genext2fs: No such file or directory
im lost
Click to expand...
Click to collapse
1 go to package manager and remove genext2fs
2 login as root and copy zens genext2fs to /bin/
3 open terminal and type in
Code:
chmod 755 /bin/genext2fs
4 logout, then login as normal
5 it should work like so
Code:
genext2fs -d ./system -b 180000 -a system.ext2
I JUST DID IT SO I KNOW IT WORKS!!1

jamezelle said:
1 go to package manager and remove genext2fs
2 login as root and copy zens genext2fs to /bin/
3 open terminal and type in
Code:
chmod 755 /bin/genext2fs
4 logout, then login as normal
5 it should work like so
Code:
genext2fs -d ./system -b 180000 -a system.ext2
I JUST DID IT SO I KNOW IT WORKS!!1
Click to expand...
Click to collapse
ok thank you ill try that, thanks for all the help to by the way, its been a trying process learning how to use linux and build android roms, so thank u

ok got everything working and managed to create a system.sqsh to load, using msmisson ext2 method i tried to load it but has error:
mount: mounting /dev/block/loop1 on/sdcard/temp failed Invalid argument
failed
failed to mount /system
/bin/still (maybe ??? cant read properly) can't access tty: job control turned off
im basicially dumping Ion bundle and remaking it with no changes

big problem!!!!!!!
Selecting previously deselected package squashfs-tools.
(Reading database ... 115049 files and directories currently installed.)
Unpacking squashfs-tools (from .../squashfs-tools_1%3a4.0-1_i386.deb) ...
Processing triggers for man-db ...
Setting up squashfs-tools (1:4.0-1) ...
[email protected]:~$
4.0 will not work!!!!!!!!
1 do
Code:
sudo apt-get remove squashfs-tools
2 download this HERE

zenulator said:
Code:
genext2fs -d ./system -b 180000 -a system.ext2
the -a does work when you use the right genext2fs from the sdk or from pulling the android source and building it. the genext2fs i had uploaded uses the -a but you need to have it in your path before the generic genext2fs gets used or directly execute it. i keep it in /root/bin and execute it from there.
Code:
~/bin/genext2fs -d ./system -b 180000 -a system.ext2
the -a is for making android specific images and sets correct permissions
http://dl.dropbox.com/u/2888561/porting/genext2fs
make sure you set it to executable
Code:
chmod 755 genext2fs
Click to expand...
Click to collapse
damn zen i bet that has been half my battle with the power wake ups. i just ported a rom last night and got the power wakeups.
recreated it today with your genext2fs with -a and it booted right up thanks

I wanted to try testing some stuff using the emulator (not hardware related, obviously). Does anyone know if there a standalone tool for making yaffs2 filesystems (for system.img), or is my only option to install android source and compile it all?

jamezelle said:
big problem!!!!!!!
Selecting previously deselected package squashfs-tools.
(Reading database ... 115049 files and directories currently installed.)
Unpacking squashfs-tools (from .../squashfs-tools_1%3a4.0-1_i386.deb) ...
Processing triggers for man-db ...
Setting up squashfs-tools (1:4.0-1) ...
[email protected]:~$
4.0 will not work!!!!!!!!
1 do
Code:
sudo apt-get remove squashfs-tools
2 download this HERE
Click to expand...
Click to collapse
ok i see that , i saw that i had 4 but i guess when you said squashfs 4 wouldnt i guess i literally took it as it wouldnt work lol, not that the command would still work but the .sqsh not load , sorry bout that, but also once again thank you

woohoo got a booting image ,lol keeps telling me process android.process.acore has stopped unexpectedly, lots of times probably all those google packages i removed ...oh well i have a start now thanks jamezelle without your help wouldnt have happened

Thought you might want to take a look at this little script I made: ROM porting

Related

[Android Tutorials] Getting Started, ADB, Tethering, Building system images etc...

I figured I would start a tutorial thread. If you have some tutorials or instructions you would like to share then post them. Also post links to other helpful posts and threads.
Basic instructions for building an android squashfs system image:
First you need a Linux installation. I use Ubuntu 9.04 and run as the root user.
You need to have squashfs-utils installed. I have version 3.3 installed.
You need the android version of genext2fs. You might want to chmod this to executable before using it.
Starting simple download the ion 1.5 build or any other build that works on vogue as a base.
If the base image your using is a system.img then it's cramfs. You can mount this image and pull from it. Enter android-builds directory and create a tmp directory for mounting the image and a mount point in that tmp dir.
Code:
mkdir tmp
mkdir tmp/cram-sys
mount -o loop system.img tmp/cram-sys
The system.img should be mounted on tmp/cram-sys
Now you have a base system image to grab files from.
If you have a system.sqsh then it is a little easier to do.
Put the system.sqsh in a working directory like base-rom in your android-builds directory and while in the directory from a terminal execute:
Code:
unsquashfs system.sqsh
This will create a directory called squashfs-root.
Then download a build from the dream forums on xda.
Usually they come in update.zip format. Extract the zip to a working directory like android-builds/foo
Inside you should see some directories mainly data and system is what you are after.
Look inside the data folder for any app or app_s directories. Copy those apps to the system/app directory. Leave out any unnecessary apps like wifi tether and so on.
In the system directory is another directory called lib. You need to take out libaudio.so libaudioflinger.so libgps.so. Depending upon the build the vogue specific libraries are either in /lib or /lib/donut in the rootfs. We take these out of system/lib because they cause conflicts. Another way around this is to copy the vogue specific libraries to system/lib.
In the system directory is another directory called etc. You need to replace apns.conf with the one from a working vogue android build.
Depending on the build you are porting you will need to modify system/bin and system/xbin. I usually add any missing files to the new image and base the missing files off of the ones in the android 1.5 ion build.
After this you need to edit your build.prop in the system directory. Look at the ion cupcake 1.5 or a donut build with market fix for reference depending on the build you are porting.
The last step is to put a .build file in the system directory. This depends on the build type.
donut.build
ion.build
rogers.build
hero.build
After you've modified the system directory you need to use genext2fs to create an android specific ext2 image.
for cupcake/donut images
Code:
genext2fs -d ./system -b 80000 -a system.ext2
this will make ~80mb ext2 system image.
for hero/sense ui builds a larger image is required
Code:
genext2fs -d ./system -b 160000 -a system.ext2
This system.ext2 is now bootable and you should be able to copy it to your sdcard and run it.
To turn this into a system.sqsh you need to mount it
Code:
mkdir tmp/system-ext2-mnt
mount -o loop system.ext2 tmp/system-ext2-mnt
Then make a squashfs image of the mounted directory
Code:
mksquashfs tmp/system-ext2-mnt/ system.sqsh
Build scripts/environment from loserskater:
http://forum.xda-developers.com/showthread.php?t=585452
ADB setup and Telenet via adb:
enatefox's tutorial for setting up adb and udev
enatefox's tutorial for telenet via adb
Adding a hosts file to block adds
Download this hosts file and copy it to /etc/hosts this should block most adds while browsing in android. Saving you time and bandwidth.
Using google dns servers on your phone:
(mssmision)
connect to the adb shell or from the terminal with su in android type
setprop ro.kernel.android.ndns 2
setprop net.eth0.dns1 8.8.8.8
setprop net.eth0.dns2 8.8.4.4
Basic Theming:
http://forum.xda-developers.com/showpost.php?p=3175504&postcount=1
Tethering via tetherbot and adb.
Download and install adb on your computer.
Download tetherbot and install it in android.
Connect your phone to your computer
Open tetherbot on your phone and push "Start Socks"
Open a terminal on your computer and type
Code:
adb forward tcp:1080 tcp:1080
Open firefox on your computer and type
Code:
about:config
search in the filter for
Code:
network.proxy.socks_remote_dns
change the value from true to false
Go into your network preferences settings in firefox and select manual proxy configuration
In the SOCKS host field enter localhost and TCP port 1080
Select SOCKS_v5
Click OK
Reload firefox and you should be running off your phones data network.
thank you Zen will give it a blast
oooh yeah runs faster!!!
smarty lol do you still need to keep sd card in slot after flashing?
# mkdir /mnt
# mkdir /mnt/rootfs-sd
# mkdir /mnt/rootfs-nand
# mkdir /mnt/system-sd
# mkdir /mnt/system-nand
# mkdir /mnt/data
# mkdir /mnt/sdcard
# flash_eraseall /dev/mtd/mtd1
Erasing 128 Kibyte @ d80000 -- 100 % complete.
# flash_eraseall /dev/mtd/mtd2
Erasing 128 Kibyte @ 1a20000 -- 29 % complete.
Skipping bad block at 0x01a40000
Erasing 128 Kibyte @ 5980000 -- 100 % complete.
# flash_eraseall /dev/mtd/mtd3
Erasing 128 Kibyte @ 75e0000 -- 92 % complete.
Skipping bad block at 0x07600000
Erasing 128 Kibyte @ 8000000 -- 100 % complete.
are the bad blocks there normal?
ali3nfr3ak said:
# mkdir /mnt
# mkdir /mnt/rootfs-sd
# mkdir /mnt/rootfs-nand
# mkdir /mnt/system-sd
# mkdir /mnt/system-nand
# mkdir /mnt/data
# mkdir /mnt/sdcard
# flash_eraseall /dev/mtd/mtd1
Erasing 128 Kibyte @ d80000 -- 100 % complete.
# flash_eraseall /dev/mtd/mtd2
Erasing 128 Kibyte @ 1a20000 -- 29 % complete.
Skipping bad block at 0x01a40000
Erasing 128 Kibyte @ 5980000 -- 100 % complete.
# flash_eraseall /dev/mtd/mtd3
Erasing 128 Kibyte @ 75e0000 -- 92 % complete.
Skipping bad block at 0x07600000
Erasing 128 Kibyte @ 8000000 -- 100 % complete.
are the bad blocks there normal?
Click to expand...
Click to collapse
yea thats normal
here is what i did to get it working
1. unsquashfs the system.sqsh
2. move apps folder to desktop
3. then mksquashfs system.sqsh
4. in terminal do(make sure no data.img on desktop)
Code:
dd if=/dev/zero of=./desktop/data.img bs=1048576 count=128
mke2fs -F ./desktop/data.img
sudo mkdir /mnt/data
sudo mount -o loop ./desktop/data.img /mnt/data
sudo mv ./desktop/app /mnt/data/app_s
sudo umount /mnt/data
then copy the data.img and system.sqsh to sdcard
and then make
datafstonand
and
systemfstonand
then right after it starts to boot
A N D R I O D
enabled adb bla bla
then do
adb shell stop
then
ln -s /data/app_s /system/app
then
adb shell start
you should be good if you followed this to the T
jamezelle said:
yea thats normal
here is what i did to get it working
1. unsquashfs the system.sqsh
2. move apps folder to desktop
3. then mksquashfs system.sqsh
4. in terminal do(make sure no data.img on desktop)
Code:
dd if=/dev/zero of=./desktop/data.img bs=1048576 count=128
mke2fs -F ./desktop/data.img
sudo mkdir /mnt/data
sudo mount -o loop ./desktop/data.img /mnt/data
sudo mv ./desktop/app /mnt/data/app_s
sudo umount /mnt/data
then copy the data.img and system.sqsh to sdcard
and then make
datafstonand
and
systemfstonand
then right after it starts to boot
A N D R I O D
enabled adb bla bla
then do
adb shell stop
then
ln -s /data/app_s /system/app
then
adb shell start
you should be good if you followed this to the T
Click to expand...
Click to collapse
you should put the symlink in the system folder before you squash it that way it should boot straight through.
ali3nfr3ak said:
smarty lol do you still need to keep sd card in slot after flashing?
Click to expand...
Click to collapse
if you edit init and put cache in /data you should be able to fully run from nand.
or from adb shell
Code:
cd /
umount /cache
mkdir /data/cache
mount /cache /data/cache
pull your sdcard. look ma running from nand.
zenulator said:
you should put the symlink in the system folder before you squash it that way it should boot straight through.
Click to expand...
Click to collapse
one problem i have is i dont think compcache is being enabled, becaulse im getting home reloads every(yes everytime i hit home(hold cam/redbutton))
can i just add the commands from my hero.user.conf to init or init.hero.rc, or will they not be called right?
jamezelle said:
one problem i have is i dont think compcache is being enabled, becaulse im getting home reloads every(yes everytime i hit home(hold cam/redbutton))
can i just add the commands from my hero.user.conf to init or init.hero.rc, or will they not be called right?
Click to expand...
Click to collapse
when i ran the tattoo build from nand compcache was enabled. make sure you have the config files in your android directory on your sdcard. to check if you have swap enabled go into the terminal or adb shell and type
Code:
free
and see how much ram/swap you have.
also i think
Code:
cat /proc/swaps
will show you what swap is being used.
Zen can u tell me what all the files i need on my sdcard to get this going, i tried for a couple of hours last night to get this going no luck tho, and jamezelle helped me out as well still no luck tho, all i had was on my sdcard was android folder with dzos rootfs.img, system-noapps.sqsh, VOGUIMG.nbh as i flashed from sdcard and app_s.tar.gz
[email protected]:~# adb shell
# mkdir /mnt
# mkdir /mnt/rootfs-sd
# mkdir /mnt/rootfs-nand
# mkdir /mnt/system-sd
# mkdir /mnt/system-nand
# mkdir /mnt/data
# mkdir /mnt/sdcard
# flash_eraseall /dev/mtd/mtd1
Erasing 128 Kibyte @ d80000 -- 100 % complete.
# flash_eraseall /dev/mtd/mtd2
Erasing 128 Kibyte @ 1a20000 -- 29 % complete.
Skipping bad block at 0x01a40000
Erasing 128 Kibyte @ 5980000 -- 100 % complete.
# erase_eraseall /dev/mtd/mtd3
/system/bin/sh: erase_eraseall: not found
# flash_eraseall /dev/mtd/mtd3
Erasing 128 Kibyte @ 75e0000 -- 92 % complete.
Skipping bad block at 0x07600000
Erasing 128 Kibyte @ 8000000 -- 100 % complete.
# mount -t vfat /dev/block/mmcblk0p1 /mnt/sdcard/
# losetup /dev/block/loop1 /mnt/sdcard/android/rootfs.img
# mount /dev/block/loop1 /mnt/rootfs-sd
# mount /dev/block/mtd1 /mnt/rootfs-nand/
mount: mounting /dev/block/mtd1 on /mnt/rootfs-nand/ failed: No such file or directory
i cannot get past this part, Do i need more files on sdcard to get going?
ali3nfr3ak said:
Zen can u tell me what all the files i need on my sdcard to get this going, i tried for a couple of hours last night to get this going no luck tho, and jamezelle helped me out as well still no luck tho, all i had was on my sdcard was android folder with dzos rootfs.img, system-noapps.sqsh, VOGUIMG.nbh as i flashed from sdcard and app_s.tar.gz
[email protected]:~# adb shell
# mkdir /mnt
# mkdir /mnt/rootfs-sd
# mkdir /mnt/rootfs-nand
# mkdir /mnt/system-sd
# mkdir /mnt/system-nand
# mkdir /mnt/data
# mkdir /mnt/sdcard
# flash_eraseall /dev/mtd/mtd1
Erasing 128 Kibyte @ d80000 -- 100 % complete.
# flash_eraseall /dev/mtd/mtd2
Erasing 128 Kibyte @ 1a20000 -- 29 % complete.
Skipping bad block at 0x01a40000
Erasing 128 Kibyte @ 5980000 -- 100 % complete.
# erase_eraseall /dev/mtd/mtd3
/system/bin/sh: erase_eraseall: not found
# flash_eraseall /dev/mtd/mtd3
Erasing 128 Kibyte @ 75e0000 -- 92 % complete.
Skipping bad block at 0x07600000
Erasing 128 Kibyte @ 8000000 -- 100 % complete.
# mount -t vfat /dev/block/mmcblk0p1 /mnt/sdcard/
# losetup /dev/block/loop1 /mnt/sdcard/android/rootfs.img
# mount /dev/block/loop1 /mnt/rootfs-sd
# mount /dev/block/mtd1 /mnt/rootfs-nand/
mount: mounting /dev/block/mtd1 on /mnt/rootfs-nand/ failed: No such file or directory
i cannot get past this part, Do i need more files on sdcard to get going?
Click to expand...
Click to collapse
well the last command you typed should be
Code:
mount -t yaffs2 /dev/block/mtdblock1 /mnt/rootfs-nand
also i updated the tutorial to reflect that and also a simplified version along the lines of jamezelle's method of that uses dzo's normal installer so you shouldn't have to type all those commands just use the blank files in the rootfs and make sure you have the rest in /andoroid on your sdcard.
Not sure if you've seen the thread I started on the Kaiser forums. It's really easy to run scripts that I made for building systems.
Check it out
loserskater said:
Not sure if you've seen the thread I started on the Kaiser forums. It's really easy to run scripts that I made for building systems.
Check it out
Click to expand...
Click to collapse
I added a link in the first post. great work.
Installing adb drivers on Windows [Vista,7] x64
NOTE: You don't need to disable driver signing to install! The appropriate .cat files are included in the download.
//Prep
1. Download adb2 posted by dzo. It's on the sourceforge site:
adb2
2. Unpack the zip.
3. In android, go to settings - applications - development and make sure usb debugging is selected.
//Cleanup
4. Open device manager (start - run - devmgmt.msc)
5. Plug in your phone and _watch_ for something new to show up. Might be 'Android Phone.'
6. Confirm that the new device is your phone by unplugging. The device should disappear.
7. Plug back in.
8. Right click on the device and choose 'Uninstall'
9. Check the 'delete this driver from my computer' box.
10. click ok. NOTE: It may take a loong time. Wait.
11. Unplug your phone.
12. If prompted to reboot, do so.
13. Uninstall WMDC (Windows Mobile Device Center)
14. Reboot.
//Install
15. Re-download and reinstall WMDC
16. Plug in your phone.
17. The device driver installation wizard should fail. IF IT INSTALLS THE DEVICE, go back to cleanup.
18. Open device manager.
19. Right click on 'Android Phone' and choose 'update driver.'
20. Click 'Browse my computer for driver software.'
21. Click 'let me pick'
22. Click 'next'
23. Click 'have disk'
24. Click 'browse'
25. Browse to the location where you unzipped adb2.
26. Open the Vista_x64 directory.
27. Choose androidusb.inf
28. Click ok
29. Choose 'HTC, Corporation' as the manufacturer (may not see this)
30. Choose 'My HTC' as the model
31. Click 'next'
32. Click 'yes'
DONE!
Zen, I know we were talking yesterday. Do you think you can outline in detail how to convert an EXT2 or NAND or SD Card based installed system on the vogue into something we can distribute?
I'd really like to share my customized rom with people.
Thanks again for all of your contributions
Ok finally got tattoo booting was having wakeup problems but made system .ext2 then sqsh. But audio still not playing, any ideas? Thanx I did use audio libs from donut rootfs
i thought the libs had to come from an ION build?

Install Debian or Ubuntu on ERIS! [Froyolinux]

NEW DEBIAN.img
http://www.multiupload.com/FEO9PZLOCP
This image has internet working and very nice and neat.
To use image copy to ext2 partition and mount
You will need an ext2 partition, you can use my rom and follow its install instructoins and these images and my rom work together perfectly!
http://forum.xda-developers.com/showthread.php?p=16969687#post16969687
download the mount.zip it contains linux a terminal command and linuxboot.sh using adb
http://www.multiupload.com/SDOPA3GVSP
This requires either an ext2 partition or, The img file on your sdcard/debain.img. Using ext2 partition is what is recomended.
adb push linux /system/bin/
adb push linuxboot.sh /system/bin/
Click to expand...
Click to collapse
busybox mount -o rw,remount /
mkdir /mnt/linux
mkdir /sdcard/debain
mount -o rw,loop -t ext2 /sdcard/debain.img /sdcard/debain
mount -o rw -t ext2 /dev/block/mmcblk0p2 /mnt/linux
dd if=/sdcard/debain of=/mnt/linux
Click to expand...
Click to collapse
Now just type :
linux
Click to expand...
Click to collapse
in the terminal and you will be connected
On first boot
linux
Click to expand...
Click to collapse
this should put you into a localhost:#
once in local host type:
nano /etc/init.android/rc_enter.sh​now add this to the file
There should already be this inside:
if [ 1 -eq 1 ]; then echo nameserver 192.168.1.1 > /etc/resolv.conf; fi
/etc/init.d/hostname.sh start
Click to expand...
Click to collapse
ADD :
vncserver -kill :1
rm -r tmp
mkdir tmp
cd tmp
mkdir .X11-unix
cd ..
vncserver
Click to expand...
Click to collapse
To connect to vncserver use any vncserver app and use the following info:
username: localhost
password: android
host: localhost
port: 5901​
Click to expand...
Click to collapse
the new debian.img is roughly 2.5 gigs so I would make enough room on your ext2 partition for 2.5 gigs at least, if you have any problems let me know
OLD
_________________________________________________________________________________________________________________________________________________
OK everyone here it is. Debian and Ubuntu works on ERIS. I have an image that you can download and extract to /sdcard/Ubuntu/ or /sdcard/debian Download One of the .rars below. To use correctly you must have a 2.2 foryo rom, and flash conaps defauctcfs7 loop enabled kernal
Also need a few other files that I have either told you how to or were to download. Follow the instructions and you will be fine.
I am sorry this is not A SELF INSTALLER or an APK BY any means, You must start from scratch and compile your debian, but I have shown the way with Conaps help you can easily install debian from this tutorial.
Debian with vncserver download and extract and push to /sdcard/debian
Ubuntu with vncserver, icewb-UI, and synaptic packagemanager, and firefox, download and extract and push to /sdcard/ubuntu
For Debian
in terminal type:
su
insmod /system/lib/modules/loop.ko
sh /sdcard/debian/installer.sh
chroot debian /bin/bash
For Ubuntu Version
in terminal type:
su
insmod /system/lib/modules/loop.ko
sh /sdcard/ubuntu/mount.sh
chroot ubuntu /bin/bash
to start tightvncserver and connect threw pocket cloud type:
vncserver -geometry 480x320 {-geometry 480x320 is optional}
password:android
repeat:android
open pocket cloud
server: localhost
password:android
port:5901
Special thanks to Conap for creating his new DecafuctCFSv7.zip
Thanks to workshed for a nice keyboard fix
1. download Conap's loop kernal obviously.
2. Recomend downloading and installing conaps CELB (NOT CELEB LOL) ROM, But any 2.2 rom will work
Or Dualrom with loop kernal DualRomLoop
There is a tutorial on how to partitoin your sdcard there, although if you want to run dual rom with debian on second rom I would make my partition sizes as follows:
mkpartfs primary fat32 512B 300MB
mkpartfs primary ext2 300MB 550MB
mkpartfs primary ext2 550MB 900MB
mkpartfs extended 900MB 7948MB
mkpartfs logical ext2 900MB 975MB
mkpartfs logical fat32 975MB 7948
3. Install or flash conaps loop kernal, and conaps celb rom
4. Download this Linux.rar and extract to
/sdcard/debian/*files*here
or
/sdcard/ubuntu/*files*here
Then wait for your phone to boot, and follow the rest of the instructions; I would let the phone idle for a few minutes just to let it settle down
5. Download Swapper from the market, Not Swapper 2. install and create a swap.swp file of 256 megs the most you can, and make sure its running when you continue with the steps so dont exit it, press home instead of the back arrow
DEBIAN
In the terminal type:
su
insmod /system/lib/modules/loop.ko
sh /sdcard/debian/installer.sh
Then an easy chroot:
chroot /debian /bin/bash/
For UBUNTU
In the terminal type:
su
insmod /system/lib/modules/loop.ko
sh /sdcard/ubuntu/mount.sh
Then an easy chroot:
chroot ubuntu /bin/bash/
Or you can Install via gscript by running installer.sh in gscript then an easy chroot by typing in the terminal:
chroot /debian /bin/bash/
MAKE SURE TO SET YOUR PATH IN THE TERMINAL @ localhost:/ export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
first if that doesnt work try export USER=/root
One time install type:
/scripts/onetime.sh
A little clean up:
cd tmp
rm -r .X*
cd ..
gpg --recv-keys 9AA38DCD55BE302B
gpg --export 9AA38DCD55BE302B | apt-key add -
apt-get update
apt-get install tightvncserver
apt-get install lxde
to start tightvncserver and connect threw pocket cloud type:
vncserver -geometry 480x320
password:android
repeat:android
open pocket cloud
server: localhost
password:android
port:5901
Originally Posted by Conap
6. Open up Terminal Emulator and type:
su
insmod system/lib/modules/loop.ko
busybox mount -o remount,rw /
mkdir debian
busybox mknod /dev/loop0 b 7 0
mount -o loop,noatime sdcard/debian/debian.img debian
mount --bind /dev/pts /debian/dev/pts
mount --bind /proc /debian/proc
mount --bind /sys /debian/sys
sysctl -w net.ipv4.ip_forward=1
chroot /debian /bin/bash
export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
cd tmp
rm -r .X*
cd ..
If you have problems make sure that you have succesfully installed Conaps Loop
by puting the loop.ko in your sdcard and by typing:
su
cd /sdcard
insmod loop.ko
If your phone reboots you probably need to make sure swapper is running correctly and you have task killer to kill most tasks
GOOD LUCK!
Sounds cool
This is the same spot I am at although I did it a little different. What I am stuck on is getting a ui running. Any luck with that? also anything i apt-get seems to fail...
screenies?
list of wat is and isn't working?
great job though
My sd card is partitoned for Darktremor with a linux swap. Would I still need Swapper?
Sent from my ERIS using XDA App
Well i did the steps this way instead of using scripts.
1. insmod system/lib/modules/loop.ko
2. busybox mount -o remount,rw /
Forgot to write a step: mkdir image
3. busybox mknod /dev/loop0 b 7 0
4. mount -o loop,noatime sdcard/debian.img image
5 .cp -r image/* sd-ext/
6. mkdir data/local/debian/
7. mount -t ext2 /dev/block/mmcblk0p2 /data/local/debian
8. mount --bind /dev/pts /data/local/debian/dev/pts
9. mount --bind /proc /data/local/debian/proc
10. mount --bind /sys /data/local/debian/sys
11. sysctl -w net.ipv4.ip_forward=1
12. chroot /data/local/debian /bin/bash
Now if you don't want to partition your sd card I beleive you can just chroot into the img itself instead of copying the files so you would skip steps 5-7 and change the paths in the other steps from data/local/debian/ to image/ This image was only 1.4 GB which could be made bigger i believe if you wanted more room. The debian.img just goes on the fat32 portion of your sd card. This was done using celbfroyo but all cm roms mount an ext partition as sd-ext i beleive. If your not using a cm rom you would probably need to mount the ext partition yourself.
Tuckface1 said:
screenies?
list of wat is and isn't working?
great job though
Click to expand...
Click to collapse
no screenies cause at this point we are just at a command prompt of debian with no ui...when we get a ui I will get some screenies for you. I am getting an internet connection.
Conap said:
no screenies cause at this point we are just at a command prompt of debian with no ui...when we get a ui I will get some screenies for you. I am getting an internet connection.
Click to expand...
Click to collapse
ok I am getting ui with xwindows server but for some reason cant see login. I get a grey screen when connected to vnc
but under terminal I have web, and debian shell so its close
mjgdroid said:
ok I am getting ui with xwindows server but for some reason cant see login. I get internet with wget but doesnt let me download kde idk what ui are you going to get?
Click to expand...
Click to collapse
i was attempting to get icewm but would take anything at this point. How do you get the ui with xwindows? i was trying through the androidvnc app. Is there a different app?
Conap said:
i was attempting to get icewm but would take anything at this point. How do you get the ui with xwindows? i was trying through the androidvnc app. Is there a different app?
Click to expand...
Click to collapse
apt-get install tightvncserver (return)
apt-get install lxde (return)
i am using pocket cloud light
OK my phone just rebooted due to low memory I will be right back, but I posted what I did after I installed /ontime/sript.sh
then
apt-get install tightvncserver (return)
apt-get install lxde (return)
at wich point I can connect threw pockect cloud light , now I justneed a xwindows file or something
Any idea on how to get terminal not to shut out of localhost after we close it?
mjgdroid said:
Any idea on how to get terminal not to shut out of localhost after we close it?
Click to expand...
Click to collapse
are you running it on the phone or through adb?....i still get could not connect to server in vnc and cloud ...
phone.... adb seems messy to me, and I want to know it works while I'm doing it : ok stupid stupid me, just realized why u are yousing adb lol omg
eventually i would assume we would want a script to run on phone to start it which should be simple...i did get lxde ui to load
mjgdroid said:
apt-get install tightvncserver (return)
apt-get install lxde (return)
i am using pocket cloud light
Click to expand...
Click to collapse
Conap said:
eventually i would assume we would want a script to run on phone to start it which should be simple...i did get lxde ui to load
Click to expand...
Click to collapse
can you log into debian I get a grey screen on pocket cloud maybe a different vnc?
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Windows\System32>adb devicess
'adb' is not recognized as an internal or external command,
operable program or batch file.
C:\Windows\System32>adb devices
'adb' is not recognized as an internal or external command,
operable program or batch file.
C:\Windows\System32>cd c:\
c:\>cd c:\sdk\tools
c:\sdk\tools>adb devices
List of devices attached
HT9C2HG16524 device
c:\sdk\tools>adb shell
# su
su
su
su
# su
# insmod /sdcard/loop.ko
insmod /sdcard/loop.ko
# su
su
s#su
su
# insmod /sdcard/loop.ko
insmod /sdcard/loop.ko
insmod: init_module '/sdcard/loop.ko' failed (File exists)
# sh /sdcard/debian/bootdeb.sh
sh /sdcard/debian/bootdeb.sh
modprobe: chdir(2.6.29-DecaFuctCFS-dirty-512f5dee): No such file or directory
←[H←[JAndroid Filesytem remounted as read/write
←[H←[Jmount: can't setup loop device: No such file or directory
mount: mounting devpts on /data/local/mnt/dev/pts failed: No such file or direct
ory
mount: mounting proc on /data/local/mnt/proc failed: No such file or directory
mount: mounting sysfs on /data/local/mnt/sys failed: No such file or directory
Custom Linux Pseudo Bootstrapper V1 - by Charan Singh
WEB: http://www.maharajafarms.com
EML: [email protected]
Starting init process
INIT: Debian booting.....
Running Linux Kernel
net.ipv4.ip_forward = 1
AutoMounter started
Type EXIT to end session
Make sure you type EXIT for a clean kill of Debian, Phone will reboot after shut
down!
chroot: can't execute '/bin/bash': No such file or directory
Shutting down Debian
Processes killed......
Loopback device shutdown - success
Debian down
by Charan Singh
http://www.maharajafarms.com
[email protected]
Rebooting device to ensure clean shutdown so debian doesnt eat memory ........
.
c:\sdk\tools>su
'su' is not recognized as an internal or external command,
operable program or batch file.
c:\sdk\tools>cd c:\sdk\tools
c:\sdk\tools>adb shell
# insmod /sdcard/loop.ko
insmod /sdcard/loop.ko
# busybox mount -o remount,rw /
busybox mount -o remount,rw /
# busybox mkno /dev/loop0 b 7 0
busybox mkno /dev/loop0 b 7 0
mkno: applet not found
# busybox mknod /dev/loop0 b 7 0
busybox mknod /dev/loop0 b 7 0
# sh /sdcard/debian/bootdeb.sh
sh /sdcard/debian/bootdeb.sh
modprobe: chdir(2.6.29-DecaFuctCFS-dirty-512f5dee): No such file or directory
←[H←[JAndroid Filesytem remounted as read/write
mknod: /dev/loop2: File exists
←[H←[JCustom Linux Pseudo Bootstrapper V1 - by Charan Singh
WEB: http://www.maharajafarms.com
EML: [email protected]
Starting init process
INIT: Debian booting.....
Running Linux Kernel
net.ipv4.ip_forward = 1
AutoMounter started
Type EXIT to end session
Make sure you type EXIT for a clean kill of Debian, Phone will reboot after shut
down!
xauth: (argv):1: bad display name "localhost:1" in "add" command
New 'X' desktop is localhost:1
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/localhost:1.log
localhost:/# apt-get update
apt-get update
Hit http://ftp.de.debian.org lenny Release.gpg
Hit http://ftp.de.debian.org lenny Release
Ign http://ftp.de.debian.org lenny/main Packages/DiffIndex
Hit http://ftp.de.debian.org lenny/main Packages
Reading package lists... Done
W: There is no public key available for the following key IDs:
9AA38DCD55BE302B
W: You may want to run apt-get update to correct these problems
localhost:/#
How do I get rid of the error no public key available for the folowing id's says to run apt-get update, but if i do that i get this error again to run apt-get update endless looop
pocket cloud and tightvncserver working
This sounds promising, but what ui do you hope to run in the end?
Sent from my FroyoEris using XDA App
Nevermind. I read the original thread. Good luck to you all.
Sent from my FroyoEris using XDA App
to get rid of the key error i ran
gpg --recv-keys 9AA38DCD55BE302B
gpg --export 9AA38DCD55BE302B | apt-key add -
(Thanks to workshed for figuring that part out)
i still was having trouble running apt-get install whatever though...
i am able to log in through vnc and cloud now....
Not sure why but each time I chroot in I have to go in and remove all the .X files and directories from the tmp/ folder. Also have to run the command:
export HOME=/root
that can be added to bash.rc once i manage to edit it
I then run vncserver and it asks for a password.
then through cloud or androidvnc i use localhost and port 5901 and put in the password i entered above. I can't seem to get a keyboard on androidvnc so i think i'm gonna try cloud again.

Need help building a custom rom

Ok I been using Deodexer_2.5.6.2 It was built for the Samsung Vibrant. It builds flawless with a signed rom, but installs with errors. I see the some mount points that need to be changed, but not sure what else. Any developer that could help with this script would be great.
Have you tried [TOOL][PORT] Autodeodexer 2.3a for the Epic 4G Froyo - Windows in the dev section as an alternative?
Koadic said:
Have you tried [TOOL][PORT] Autodeodexer 2.3a for the Epic 4G Froyo - Windows in the dev section as an alternative?
Click to expand...
Click to collapse
Yes I have, but it does not build the entire rom for me as I would like. This script is a one stop shop. However is wants to install the device mount points for the other phone(Samsung Vibrant). I have been editing the bat but seems I am missing something some where of than the bat file. Like the other Galaxy S Phones they tend to use /dev/block/bml12 of the SDCARD while EPIC uses /dev/block/dm-12. So if you use either EC05 or EB13 you know the apps that move to the sdcard use this device mount point if you have alot of apps pushed to your sdcard. However I seem to be missing something else. Need help re-writing this.
ISSUE 1 deoall.bat
%adb% -d shell su -c "mount -o rw,remount /dev/block/stl9 /system && dd if=/dev/block/bml12 of=/sdcard/modem.bin bs=4096 && dd if=/dev/block/bml7 of=/sdcard/zImage bs=4096 && chmod 444 /system/etc/dbus.conf && chmod 444 /system/etc/bluetooth/* && chmod 775 /data/app" | FINDSTR /R "su..not.found Permission.denied" >>%errorlog%
ISSUE 2 deoall.bat
%adb% -d shell sh -c "mount -o rw,remount /dev/block/stl9 /system && chmod 444 /system/etc/dbus.conf && chmod 444 /system/etc/bluetooth/*" >>%errorlog%
::
IF NOT EXIST "%~dp0modem.bin" (
ECHO Downloading modem.bin
ECHO %time% Downloading modem.bin >>%errorlog%
IF NOT EXIST "%~dp0ROM/updates" MD "%~dp0ROM/updates"
%adb% -d shell dd if=/dev/block/bml12 of=/sdcard/modem.bin bs=4096 >nul
%adb% -d pull /sdcard/modem.bin "%~dp0ROM/updates/modem.bin" >nul
%adb% -d shell rm /sdcard/modem.bin >nul
)
::
IF NOT EXIST "%~dp0zImage" (
ECHO Downloading kernel
ECHO %time% Downloading kernel >>%errorlog%
IF NOT EXIST "%~dp0ROM/updates" MD "%~dp0ROM/updates"
%adb% -d shell dd if=/dev/block/bml7 of=/sdcard/zImage bs=4096 >nul
%adb% -d pull /sdcard/zImage "%~dp0ROM/updates/zImage" >nul
%adb% -d shell rm /sdcard/zImage >nul
)
ISSUE 3 update-script
run_program /tmp/updates/redbend_ua restore /tmp/updates/modem.bin /dev/block/bml12
print "Installing kernel..."
run_program /tmp/updates/redbend_ua restore /tmp/updates/zImage /dev/block/bml7
ISSUE 4 redbend_ua
Look in the redbend_ua but it has alot of binary and some script in it. Not sure that this file plays any editing importance since I compared it to the one-click-root_2.5.5 redbend_ua. Seems they are both the same. Looks like a command used for restoring the modem and zImage.

Not sure if this has been done yet (or is even possible...); Flashing via ADB

Hi everyone ^^
I recently had a little... "Incident"... With my phone, resulting in a soft-brick and a whole lot of the Android system being removed (/System/Bin had to be replaced with ADB). What used to happen (Before replacing some of the Android system) was the phone would boot and get stuck at the bootloader. What happens now (after replacing some of the system files) is it'll boot and then reboot after about 30 seconds.
Common fixes would normally include (And are unavailable because...);
Download Mode via 3 button combo (Unavalable due to homekey not working)
Download Mode via ADB (Reboot/Crash)
Recovery Mode via 3 button combo (Again ,home key)
Recovery Mode via ADB (Reboot/Crash)
JIG (Parts unavailable/Stupidly expensive)
Flash via Odin/Heimdall(ADB recognizes the phone, but the system Odin/Heimdall uses does not)
So, what can I do? Well I just tried "ADB shell sbin/recovery" and... Woah, it worked! Sort of... The phone still crashed after about 30 seconds or when I tried to use the CWM recovery to flash a zip. No biggie. It just means some system stuff is missing (I think...).
This is more or less development, and I do not claim to have any major understanding of Android's inner workings besides some UNIX commands. I can't post in Development because of the 10-post requirement, but meh.
What I'm looking for (It's not exactly a question ) is the absolutely critical files that my system is missing (Which I believe to be causing the crash). I ran logcat only to have;
Code:
link_image[1962]: 98 could not load needed library 'liblog.so' for 'logcat' (load_library[1104]: Library 'liblog.so' not found)CANNOT LINK EXECUTABLE
This would eventually go towards an open-source tool for software-based soft-brick recovery.
Here's the ls from /sbin;
Code:
[ expr mkyaffs2image split
[[ false mmcwait.sh stat
adbd fbsetup.sh modprobe strings
ash fdisk more stty
awk fgrep mount swapoff
basename find mountpoint swapon
bbconfig fix_permissions mv sync
bml_over_mtd flash_image nandroid sysctl
bunzip2 fold nandroid-md5.sh tac
busybox free nice tail
bzcat freeramdisk nohup tar
bzip2 fuser od tee
cal getopt parted test
cat grep patch time
catv gunzip pgrep top
chgrp gzip pidof touch
chmod head pkill tr
chown hexdump printenv true
chroot id printf tty
cksum insmod ps tune2fs
clear install pwd ueventd
cmp kill rdev umount
cp killall readlink uname
cpio killall5 realpath uniq
cut killrecovery.sh reboot unix2dos
date length recovery unlzop
dc less renice unyaffs
dd ln reset unzip
depmod losetup rm uptime
devmem ls rmdir usleep
df lsmod rmmod uudecode
diff lspci run-parts uuencode
dirname lsusb sdparted volume
dmesg lzop sed watch
dos2unix lzopcat seq wc
du md5sum setsid which
dump_image mkdir setupenv.sh whoami
e2fsck mke2fs sh xargs
echo mkfifo sha1sum yes
edify mkfs.ext2 sha256sum zcat
egrep mknod sha512sum
env mkswap sleep
erase_image mktemp sort
And ls /system;
Code:
app fonts lost+found tts xbin
bin framework media usr
etc lib modules vendor
Any help with this would be great ^^
So far, it looks like pushing the system directory from a romkitchen rom I built is working... The only problem is that it can't seem to access /sdcard or /sd-ext Can anybody help with this?
The Download mode jigs are cheap? eBay has them for not much at all, especially if you consider the cost of the handset. It's also possible to make them from more common parts. Read the thread, might save you a lot of messing about.

[HowTo] homebrew your custom Ubuntu image for Iconia A500

I'm posting this in a new thread as requested...
There is a simple way to preapare a custom Ubuntu image file compiled for ARMEL with only the packages and functionalities you need.
For this procedure you will need
- a linux machine with working ADB (I tried it on a x64 ubuntu machine)
- a rooted Iconia A500 with busybox installed
- a little knowledge about what you're doing, but just a little.
1. Install Rootstock
on your linux machine, open up the terminal and type
Code:
sudo apt-get install rootstock
If you use at least Ubuntu Karmic, it should automatically pull all the dependencies, otherwise you'll have to manually install Qemu and a newer debootstrap.
2. Create the tarball
you're ready to download the packages and prepare the tarball.
Remember: rootstock doesn't automatically include a kernel, so you'll have to manually include it in the package list
Here's the syntax for a basic run (run "man rootstock" for all the parameters):
Code:
sudo rootstock \
--fqdn [COLOR="Red"]<YOUR_CHOSEN_HOSTNAME>[/COLOR] \
--login [COLOR="Red"]<YOUR_CHOSEN_USERNAME>[/COLOR] \
--password [COLOR="Red"]<YOUR_CHOSEN_PASSWORD>[/COLOR] \
--imagesize [COLOR="Red"]<IMAGE_SIZE_IN_GB>[/COLOR]G \
--seed [COLOR="Red"]<LIST_OF_PACKAGES_SEPARATED_BY_COMMAS>[/COLOR]
Here's an example for a 2GB image with OMAP kernel and a complete Kubuntu-desktop distribution:
Code:
sudo rootstock \
--fqdn ubuntu \
--login ubuntu \
--password ubuntu \
--imagesize 2G \
--seed linux-image-omap,kubuntu-desktop
In --seed you can specify whatever package you want. You could start with just the kernel and build-essential, then add whatever you need. A good start could be like this:
Code:
--seed linux-image-omap,build-essential,lxde,tightvncserver,openssh-server
This will give you a running ubuntu with a very light, performance-oriented desktop environment (lxde) with ssh and vnc.
Remember: It's still possible to add new packages with apt-get from chroot whenever you want.
Once you have chosen the packages you want, you just have to press enter and rootstock will automatic download the packages and prepare the tarball.
You'll end up with a file named "armel-rootfs-<TIMESTAMP>.tgz"
3. Prepare the img file
This is very easy and quick:
Code:
dd if=/dev/zero of=arm_ubuntu.img bs=1MB count=0 seek=[COLOR="Red"]<SIZE_IN_MB>[/COLOR]
The seek parameter defines the size in MB of your image. make it as large as you want, it should at least be as big as the size you selected for the tarball (2G in my example).
Remember: 1 GB = 1024 MB
Now we format the image. Since the Iconia supports ext4 file system, we can use it!
Code:
mkfs.ext4 -F arm_ubuntu.img
You may want to pass other flags to define advanced options, labels and reserved blocks, but this is the least you need to make it work.
4. Decompress
Now we have to mount the img file in a loop:
Code:
sudo mount -o loop arm_ubuntu.img /mnt
and decompress the tarball into it.
Code:
sudo tar -C /mnt -zxf armel-rootfs-<TIMESTAMP>.tgz
It's done!
[OPTIONAL]
This is the right time to put custom scripts in /mnt/usr/bin like this one to start the vnc server with the correct geometry for the A500:
Code:
#!/bin/bash
rm -fr /tmp/.X1*
vncserver -geometry 1280x752
NB: the A500 screen is 1280x800, but the honeycomb statusbar (1280x48px) is always on top. To avoid panning to show the ubuntu menu bar, we just subtract those 48 pixels from the ubuntu vertical resolution.
Now we just umount it.
Code:
sudo umount /mnt
5. Load on the tablet and get it running
The script to mount and boot is derived from the one in the Backtrack 5 Thread.
Load the img file on the tablet with
Code:
adb push arm_ubuntu.img /sdcard/ubuntu/arm_ubuntu.img
It will take a loooong time and there's no progress bar, so just have faith.
Next, we prepare the boot script. The only thing you need to do is to put your username in (the one you chose in rootstock).
Code:
perm=$(id|cut -b 5)
if [ "$perm" != "0" ];then echo "This Script Needs Root! Type : su";exit;fi
mount -o remount,rw /dev/block/mmcblk0p5 /system
export kit=/sdcard/ubuntu
export bin=/system/bin
export mnt=/data/local/mnt
mkdir -p $mnt
export PATH=$bin:/usr/bin:/usr/local/bin:/usr/sbin:/bin:/usr/local/sbin:/usr/games:$PATH
export TERM=linux
export USER=[B][COLOR="Red"]<THE_USERNAME_YOU_CHOSE_BEFORE>[/COLOR][/B]
export HOME=/home/$USER
export stor=$mnt/home/$USER/storage
export sdcard=$stor/sdcard
export extsd=$stor/external_sd
export usb=$stor/USB_storage
if [ -b /dev/loop2 ]; then
echo "Loop device exists"
else
busybox mknod /dev/loop2 b 7 0
fi
mount -o loop,rw,noatime -t ext4 $kit/arm_ubuntu.img $mnt
echo "mounting storage devices in $stor..."
mkdir -p $sdcard
mkdir -p $extsd
mkdir -p $usb
busybox mount --bind /mnt/sdcard $sdcard
busybox mount --bind /mnt/external_sd $extsd
busybox mount --bind /mnt/usb_storage $usb
mount -t devpts devpts $mnt/dev/pts
mount -t proc proc $mnt/proc
mount -t sysfs sysfs $mnt/sys
busybox sysctl -w net.ipv4.ip_forward=1
echo "nameserver 8.8.8.8" > $mnt/etc/resolv.conf
echo "127.0.0.1 localhost ubuntu" > $mnt/etc/hosts
busybox chroot $mnt /bin/bash
echo "Shutting down Ubuntu ARM for Iconia A500"
umount $sdcard
umount $extsd
umount $usb
umount $mnt/dev/pts
umount $mnt/proc
umount $mnt/sys
umount $mnt
Once done, we can save the file as startubuntu and adb push it to the tab. (the same folder as the img is fine)
Done! We run it by invoking the startubuntu script from the android terminal emulator (must be in superuser mode)
I hope you found this how-to useful.
And we use this distro via our tablets ssh client?
EDIT: sorry my bad Never read code while tired
Hi,
i am running ubuntu natty.
and i got this error:
...
Setting up wireless-crda (1.13) ...
Setting up linux-image-2.6.38-8-omap (2.6.38-8.42) ...
Running depmod.
update-initramfs: Generating /boot/initrd.img-2.6.38-8-omap
/bin/df: Warning: cannot read table of mounted file systems: No such file or directory
Not sure if it is fatal. rootstock has created successful the rootfs
reida010 said:
Hi,
i am running ubuntu natty.
and i got this error:
...
Setting up wireless-crda (1.13) ...
Setting up linux-image-2.6.38-8-omap (2.6.38-8.42) ...
Running depmod.
update-initramfs: Generating /boot/initrd.img-2.6.38-8-omap
/bin/df: Warning: cannot read table of mounted file systems: No such file or directory
Not sure if it is fatal. rootstock has created successful the rootfs
Click to expand...
Click to collapse
Same happened to me. Totally not fatal. the tarball is good.
For everyone out there:
I would like your help with testing. I have a crash on start problem with firefox in all the images I tried. Does any of you have the same issue?
Hi,
i get
Code:
Loop device exists
then i did
Code:
echo "$kit/arm_ubuntu.img"
and i get
Code:
/sdcard/ubuntu/arm_ubuntu.img
but then i get
Code:
mount: cannot setup loop device: No such file or directory
any ideas?
Because of firefox.
i read a while ago a tweet about a bug in meego and ubuntu in firefox for arm.
when it is this bug then you should try firefox trunk because it is fixed.
but i cannot refind it :-(
edit:
bugzilla.mozilla.org/show_bug.cgi?id=634594
I was searching for that today, thanks mate. Nice Tutorial =D
reida010 said:
Hi,
but then i get
Code:
mount: cannot setup loop device: No such file or directory
any ideas?
edit:
bugzilla.mozilla.org/show_bug.cgi?id=634594
Click to expand...
Click to collapse
i have the same problem. You should make loop file not in /mnt/sdcard, but in /mnt/external_sd.
Kh_Shad said:
i have the same problem. You should make loop file not in /mnt/sdcard, but in /mnt/external_sd.
Click to expand...
Click to collapse
That would apply only if you put the image file in the external MicroSD, if you have put it in the internal memory (as described in the tutorial) the path is /mnt/sdcard. Also, the speed of the internal memory is better.
Hi,
i found out how i can make it work
but it's strange.
i don't works when i do
Code:
sh ./startubuntu
but with this it works fine:
Code:
/system/bin/sh ./startubuntu
Is this maybe because i didn't use adb.
Someone told me that copy paste might change the permissions (what the ****! really?)
on my tablet startubuntu is not executable.
And it doesn't change anything when i do chmod 755 startubuntu
but after moving it to /system/bin chmod works fine.
After then i can always just run
Code:
su
startubuntu
and ubuntu is up and running.
(many thanks by the way :-D)
Sorry guys, will this method produce a native Ubuntu install similair to how Wubi works? Or is this like the chroot methods were we have to VNC into the distro from within Android?
It is native!!!
but you need vnc to access the xserver
On my n900 i used xephyr but i don't think this is working for android because afaik they don't use X. (n900 is so cool for linux geeks ;-D)
edit:
if you mean with 'native' that it will replace android -> no -> it is a chroot
Yeah that answered my question. Thank you
I'm not going to bother until there is a native distro running with full system resources. I guess with the current bootloader situation that day may never come :-(
It failed in creating the image for me... and it seems like a error in the package linux-image-2.6.38-8-omap
[TRIM]
Need to get 37.4 MB of archives.
After this operation, 98.3 MB of additional disk space will be used.
Get:1 //ports.ubuntu.com/ubuntu-ports/ natty/main wireless-crda armel 1.13 [15.0 kB]
Get:2 //ports.ubuntu.com/ubuntu-ports/ natty/main linux-image-2.6.38-8-omap armel 2.6.38-8.42 [19.8 MB]
Get:3 //ports.ubuntu.com/ubuntu-ports/ natty/main devio armel 1.2-1build1 [16.9 kB]
Get:4 //ports.ubuntu.com/ubuntu-ports/ natty/main flash-kernel armel 2.28ubuntu19 [13.1 kB]
Get:5 //ports.ubuntu.com/ubuntu-ports/ natty/universe kubuntu-mobile armel 1.218 [2720 B]
Get:6 //ports.ubuntu.com/ubuntu-ports/ natty/main linux-firmware all 1.52 [17.5 MB]
Get:7 //ports.ubuntu.com/ubuntu-ports/ natty/main linux-image-omap armel 2.6.38.8.22 [2394 B]
Fetched 37.4 MB in 5min 29s (113 kB/s)
Selecting previously deselected package wireless-crda.
(Reading database ... 9309 files and directories currently installed.)
Unpacking wireless-crda (from .../wireless-crda_1.13_armel.deb) ...
Selecting previously deselected package linux-image-2.6.38-8-omap.
Unpacking linux-image-2.6.38-8-omap (from .../linux-image-2.6.38-8-omap_2.6.38-8.42_armel.deb) ...
Done.
Selecting previously deselected package devio.
Unpacking devio (from .../devio_1.2-1build1_armel.deb) ...
Selecting previously deselected package flash-kernel.
Unpacking flash-kernel (from .../flash-kernel_2.28ubuntu19_armel.deb) ...
Selecting previously deselected package kubuntu-mobile.
Unpacking kubuntu-mobile (from .../kubuntu-mobile_1.218_armel.deb) ...
Selecting previously deselected package linux-firmware.
Unpacking linux-firmware (from .../linux-firmware_1.52_all.deb) ...
Selecting previously deselected package linux-image-omap.
Unpacking linux-image-omap (from .../linux-image-omap_2.6.38.8.22_armel.deb) ...
Setting up wireless-crda (1.13) ...
Setting up linux-image-2.6.38-8-omap (2.6.38-8.42) ...
Running depmod.
Failed to run depmod
dpkg: error processing linux-image-2.6.38-8-omap (--configure):
subprocess installed post-installation script returned error exit status 1
Setting up devio (1.2-1build1) ...
No apport report written because MaxReports is reached already
Setting up flash-kernel (2.28ubuntu19) ...
Setting up kubuntu-mobile (1.218) ...
E: Second stage build in chroot failed !
E: Please see the log to see what went wrong.
Setting up linux-firmware (1.52) ...
I: Cleaning up...
dpkg: dependency problems prevent configuration of linux-image-omap:
linux-image-omap depends on linux-image-2.6.38-8-omap; however:
Package linux-image-2.6.38-8-omap is not configured yet.
dpkg: error processing linux-image-omap (--configure):
dependency problems - leaving unconfigured
No apport report written because MaxReports is reached already
Errors were encountered while processing:
linux-image-2.6.38-8-omap
linux-image-omap
E: Sub-process /usr/bin/dpkg returned an error code (1)
I: Umounting temporary Image
I keep getting a failure also!
Ceck out both of my log files below.
tholmewood said:
Sorry guys, will this method produce a native Ubuntu install similair to how Wubi works? Or is this like the chroot methods were we have to VNC into the distro from within Android?
Click to expand...
Click to collapse
It is a chroot/vnc method, currently the only method available to run linux on this device, because of the locked bootloader... I seriously hope for a chance to dual boot in the future.
i was wondering what packages are needed in order to create an ubuntu netbook Edition? Is the A500 powerful enough for that kind of interface?
Thought you guys might be interested in this post.
http://forum.xda-developers.com/showpost.php?p=15156543&postcount=64
Have fun!
@p-ille
Have you tried firefox daily?
Did it work?
reida010 said:
@p-ille
Have you tried firefox daily?
Did it work?
Click to expand...
Click to collapse
Not really, my job is killing me these days... I'll try it asap!
sent from my Iconia A500
p-ille said:
Not really, my job is killing me these days... I'll try it asap!
sent from my Iconia A500
Click to expand...
Click to collapse
You realize what a pain that tutorial is to follow? Could you please provide a pre built image at least if asking for scripts is probably way too much?

Categories

Resources