Announcing Droidora - - - HELP WANTED


seriously hope to see this happen... as I love the variety of OS options that are coming down the pipeline, and this one will hit home for people who know nothing about Pandora... Right now, the big 3 are the default OS, Arch Linux and Android (the later 2 being fairly unstable yet fairly well usable... :p ) Looking forward to progress on all fronts!!!
 
right... so I just compiled droidora from source following this http://pandorawiki.org/Droidora it compiles without error and is working fine


I then installed the SGX drivers (I think) http://code.google.c...on_Host_Machine set my evrionmental variables accounding to my setup and droidora. I can't install the kernel modules, I don't know how important that part is... but did "make install OMAPES=2.x" (we have ES v2.1 right?) it put some files in my "out" android root fs and modifiied my init.rc as per instructions. It boots, and it at least seems to perform better, but that might just be a placebo. I sometimes see graphical artifacts etc.


I went in to do my first round of modifications to some superficial stuff like adding some tools etc into /system/app/ (for fixing the keymap tuttle2.kl) and do some of the normal android performance tweaks to build.prop and now I keep getting stuck with the following error


"Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2)"


I've tried setting the root delay to 5,6,7,10.... 20 nothing seems to help that.


I have some questions...


1) any other ideas on how to fix this, or does anything need changed if I modify my root fs content/files?


2)how do I flash this to nand to eliminate my shitty card or microsd>fullsd adapter and maybe gain some speed, I only have a class 2 sd


3)if I want to modify some stuff on the kernel, like clockspeed, voltages, governors, etc how do I go upon modifying the default settings for the kernel that gets compiled to uImage? looking for something like make menuconfig or a .config or default_config something like this.


4) going off of my only other device that uses uboot to load android (JXD 601) the uImage gets loaded from either microSD or nand, and my mtdblock layout is this I think I would need the following partitions for android, unknown if order effects anything.


(JXD S601)


mtdblock0 -bootloader/uboot


mtdblock1 -1st boot logo


mtdblock2 -2nd boot logo


mtdblock3 -recovery partition


mtdblock4 -boot/uImage


mtdblock5 -system partition


mtdblock6 -cache partition


mtdblock7 -userdata/data partition


5)how does this correspond to the pandora when it comes to nand? I see while booting is this correct or can someone fill in the missing?


(pandora superzaxxon on nand)


mtdblock0 (512kb) 2nd boot logo (loading screen) ???


mtdblock1 (1920kb) bootloader/uboot?


mtdblock2 (128kb) 1st boot logo (pandora box)???


mtdblock3 (10mb) boot/uImage??


mtdblock4 (500mb) system?


mmcblk0 - SD card 1


mmcblk2 - SD card 2
 
Last edited by a moderator:
What happened to this project? Last response was in November 2011? I never knew about it and I just read all 11 pages and got really excited. Android as a secondary OS would rock.


More importantly, how did your thesis go mate?
 
Sorry everyone, I kinda abandoned the project after I finished my thesis. I simply lost interest, but anyone is free to continue the work. The thesis itself went very well and I'm now studying for the master's degree. To answer some of ANDROID's questions:


1. No, I don't know how to fix that. All you can do is try to restart your Pandora until it works :-


2. No clue, sorry. But I think the only thing that could go to the NAND is the kernel, size wise.


3. You can simply just do that. Go into the kernel source folder and type make menuconfig


4. and 5. No clue


€dit: Also the thing with the SGX drivers: I never got it to work. I tried the same you did. AFAIR the driver version isn't compatible with the chip version and/or kernel version.
 
Last edited by a moderator:
Thanks for your reply, hopefully I can pick up where you left off. you did the really hard part.. at least in my mind. Hopefully others jump in or at a minimum answer questions that come up.


After I asked about the make menu config I went in and checked and it works... does it load the Pandora's configuration by default or where was the config being used located if you remember? I might be able to get it from the device if you can't remember so thats not too big of a deal.


Sent from my Nexus S 4G using Tapatalk 2
 
Don't quite understand, you write about "working fine", possible placebo effect on 3d drivers and then you say it can't even boot? Or is it sometimes booting and sometimes not? What's in your autoboot.txt?
 
think I figured out where to start looking for fixing the mount points, android uses a vold.fstab, and researching other devices, should be able to mount both sd cards that way as well.


it works fine right after compiling/copying to sd, but the problem (a known issue with this project) is the error I'm now constantly stuck at. Its only after i add/modify files to rootfs though...I haven't formatting my sd and trying agian, but based off the first test, I'm sure it will work fine.


here's the autoboot.txt



Code:
setenv bootargs debug rootfstype=ext2 root=/dev/mmcblk0p2 rw init=/init rootdelay=6 vram=6272K omapfb.vram=0:3000K

fatload mmc 0:1 80300000 uImage

bootm 80300000


like I said before changing rootdelay= to a higher value doesn't fix the issue.


I would also really like to flash this to nand if possible, I'm going to want to eventually package this up as a flashable OS like the zaxxon firmwares. Can you point me in a direction on where to start looking for both things?
 
Last edited by a moderator:
I'm going to want to eventually package this up as a flashable OS like the zaxxon firmwares
:)


It will be interesting to see how suitable Android is for pandoras - and see weather it affects the repetitive arguments for/against 'real' Linux
 
For NAND you have to decide on filesystem to use, we use ubifs for official firmware, and (I think) Android uses yaffs (looks like it produces yaffs images when you build it).


If you go yaffs route, pandora's u-boot won't be able to boot it for you, you'll need custom bootloader. Kernel also doesn't have it's support compiled in, so you'll need to boot custom kernel to format/partition/flash the NAND.


With ubifs, if you can cram Android to single partition, you can just create rootfs.img and use official firmware flasher to flash it for you. rootfs.img can be created with 'ubinize' tool, which is available on pandora or on most Linux distro when you install 'mtd-utils' package. I don't know if android can run from single partition and ubi at all though.
 
right now I'm sitting at about 90mb uncompressed for the system partition ~3mb for the boot (kernel + ramdisk), ~3-5mb for recovery partition (kernel + recovery + ramdisk) with a 512 NAND should leave ~400mb free for my cache and data partition right? That shouldn't be too bad android isn't a fat OS. Not sure how much that will change when switching to ubifs. Making a flash-able market installer and some above stock android tools will probably bring the system image up to about 120mb or less. I maybe can't forsee a dualboot with angstrom, but by it's self it should be pretty spacious.


currently I think that second partition that was created as ext2 for the sytem rootfs on sd, I will look into what modifications will need for ubifs in the kernel instead of yaffs or ext2. Most every community based android OS for different devices are moving away from yaffs/ubifs to ext4 for performance reasons, will probably end up going that route in the future if the current kernel or bootloader can support it, I wouldn't know where to start on a custom bootloader.

Kernel also doesn't have it's support compiled in, so you'll need to boot custom kernel to format/partition/flash the NAND
this part kind of went over my head a little, can you explain this a little more?


I would like to use the official firmware flasher if possible.... can I script out flashing multiple .img files at once? android usually comes with 4 or so different .img files corresponding to the mtdblock mentioned above, you normally have


-system.img (main OS write protected*)


-boot.img (kernel + ramdisk write protected*)


-recovery.img ( kernel + recovery + ramdisk write protected*)


-userdata.img (user land writeable data)


-%variable%.img (logos & splash screens write protected*)


*- can only modify with root permissions


Are these mtdblocks just custom sized partitions on the NAND? How easy is it to resize or remove the existing partitions if needed? I'm guessing I'd have to modify the bootloader/uboot if I changed it?


EDIT: ubifs support

Driver Configuration

  • Start the Kernel configuration tool to enable/disable NAND and UBIFS support:


$ make ARCH=arm menuconfig

  • Enable NAND support from the main menu. Select Device Drivers -> MTD support -> NAND support.


-> Device Drivers


-> Memory Technology Device (MTD) support (MTD [=y])


-> NAND Device Support (MTD_NAND [=y])

  • Enable UBI support. Select Device Drivers -> MTD support -> Enable UBI.


-> Device Drivers


-> Memory Technology Device (MTD) support (MTD [=y])


-> Enable UBI - Unsorted block images (MTD_UBI [=y])

  • Enable UBIFS support. Select Filesystems -> Misc filesystems -> UBIFS support.


-> File systems


-> Miscellaneous filesystems (MISC_FILESYSTEMS [=y])


-> UBIFS file system support (UBIFS_FS [=y])

http://processors.wiki.ti.com/index.php/TI-Android-GingerBread-2.3.4-DevKit-2.1.1_PortingGuides
 
Last edited by a moderator:
Please don't stop working on this...i'm very interested on try/use Android on my Pandora (as a second OS...)


Will be a nice thing to have a dual boot with Linux / Android .
 
Most every community based android OS for different devices are moving away from yaffs/ubifs to ext4 for performance reasons, will probably end up going that route in the future if the current kernel or bootloader can support it, I wouldn't know where to start on a custom bootloader.
Note that devices now tend to go with integrated microsd cards inside of them instead of raw flash, so they can put ext4 there (yaffs/ubifs don't make sense on SD card). If you put ext4 on raw flash, you'll wear it down pretty quickly.

Kernel also doesn't have it's support compiled in, so you'll need to boot custom kernel to format/partition/flash the NAND
this part kind of went over my head a little, can you explain this a little more?
Well I just mean you need to configure the kernel to enable that stuff, 'make menuconfig' or whatever.

I would like to use the official firmware flasher if possible.... can I script out flashing multiple .img files at once? android usually comes with 4 or so different .img files corresponding to the mtdblock mentioned above, you normally have


-system.img (main OS write protected*)


-boot.img (kernel + ramdisk write protected*)


-recovery.img ( kernel + recovery + ramdisk write protected*)


-userdata.img (user land writeable data)


-%variable%.img (logos & splash screens write protected*)


*- can only modify with root permissions
Is that a hard requirement? I think recovery can be dropped completely as people can reflash from SD, you can place ramdisk image in main fs as a file (can be read by bootloader and passed to kernel for mounting) and merge everything else to main rootfs. Unless Android has hardcoded requirement for multiple partitions and some of them being readonly, but that would be pretty stupid.

Are these mtdblocks just custom sized partitions on the NAND? How easy is it to resize or remove the existing partitions if needed? I'm guessing I'd have to modify the bootloader/uboot if I changed it?
They are defined in both bootloader and kernel, if you want to change that you have to modify them both.


There is also alternative of using ubifs volumes, that are similar to partitions, but that would need you to do a custom flasher.
 
it's not a hard requrement for android, it can all be customized, I think my transformer tablet works off one nand partition and just sets up different mount points off that for the /data, /system, & /cache. I was just trying to make this build a little more standard so if it picks up any more android developer support that they will know whats going on.


so I'll first try to enable nand and ubifs support in the kernel and just replace the files on mtdblock4 with the android rootfs and I'm guessing I will need to define the already present mtdblock ranges in the android kernel because I still don't know the purpose of the other 3 mtdblocks.


which block does the uImage get copied to? anything else need to get copied with it that you are aware of? Or does the official flasher take care of that?
 
Last edited by a moderator:
mtd0-mtd2 are for the booloaders, mtd3 was intended for kernel and mtd4 for rootfs, but can be used in any way you like, booloader can load the kernel from both (this is controlled by autoboot.txt; it reads autoboot.txt from SD, if it's not there, it looks at mtd3, expecting it to be ubifs and have bootmenu.txt in it for boot menu and autoboot.txt for default u-boot commands).


I'm not sure what kernel Cyberworm used, but it's likely to have correct partition layout already since pandora has support in mainline, and all kernels are based on that.
 
Last edited by a moderator:
The default kernel config for Droidora is <kernel source>/arch/arm/configs/omap3_droidora_defconfig


It would be really nice if you would continue the project. Even if I wanted to work on it again, it would have to wait until I receive my own Pandora. The device I had was only borrowed from ED and i sent it back after I got my thesis results.


Changing the keymapping was something I wanted to do first, so I think that would be a good start.


€dit: The kernel version was 2.6.37 afair.
 
Last edited by a moderator:
Thanks notaz and cyber worm that info should be all I need to get a flash able image. I'll keep you guys updated.


Sent from my Nexus S 4G using Tapatalk 2


EDIT: instead of cluttering up the general talk with this, I'm going to keep my progress to this project on my own forum if anyone wants to follow it


http://forum.openhan...topic,81.0.html


I will continue to update the thread over here on the OP boards on significant progress though (actual releases, etc)
 
Last edited by a moderator:
Cluttering up?


And what of the members here who are helping you?
 
Last edited by a moderator:
I like to document things, I'd be kissing and bumping for almost insignificant trial failures and stuff like that.


I got most of what I need to continue to a point where I'll update when I'll have something to show for my labors.


If I have more questions or need assistance I'll be sure to ask over here don't worry ;)


Sent from my Nexus S 4G using Tapatalk 2
 
Well I wish you good luck, I look forward to the day I can play Galaxy on Fire 2 on my Pandora :)
 
Once you get something working, I'm happy to provide you with free webspace (droidora.openpandora.org).


I know you got your own webspace on openhandhelds.net, but I don't know how much space and traffic you got there... as a downloadable Android image surely would eat a lot of traffic.


So if you need some place to host, let me know :)
 
Back
Top