Discussion:
Running from an SD Card - So Close!
(too old to reply)
Peter Strapp
2009-05-29 23:25:55 UTC
Permalink
Hi,
I have been working on extracting the file system from a Koolu build and
getting it running from an SD card. I now have everything working (USB,
Networking, GSM, Audio) except any kind of input. The backlight responds
to touchscreen and button input but the OS doesn't.

I think it must be kernel config as it works when using the kernel here
- http://activationrecord.net/radekp/openmoko/android/. However, I don't
know what config was used to build that kernel.

Does anyone have any ideas what may be preventing the touchscreen and
buttons from controlling the OS?

Thanks,
Peter.




If anyone else wants to give this a try, then build a kernel, enabling
the below settings in the config:
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y

Then follow the procedure described below (Inserting the correct paths
to your SD card partitions) :

mkdir AndroidSD
cd AndroidSD
wget
http://www.koolu.org/releases/beta7/android-freerunner-koolu1.0-beta-7.tar.gz
wget http://wiki.openmoko.org/images/8/82/Mntjffs.sh
wget http://activationrecord.net/radekp/openmoko/android/init.rc

tar xfv android-freerunner-koolu1.0-beta-7.tar.gz

mkdir ramdisk
mv ramdisk.img ramdisk/
cd ramdisk
gzip -dc < ramdisk.img | cpio --extract
mv ramdisk.img ../
mv init sbin/
sudo cp -r * /media/disk-1/
cd ..

mkdir userdata
mv userdata.img userdata/
cd userdata
tar xfv userdata.img
mv userdata.img ../
sudo cp -r * /media/disk-1/data/
cd ..

chmod +x Mntjffs.sh
mkdir mntSystem
sudo ./Mntjffs.sh system.img mntSystem
sudo cp -r mntSystem/* /media/disk-1/system/
sudo umount mntSystem

sudo cp init.rc /media/disk-1/

cp ~/AndroidKernel/uImage.bin /media/disk/uImage.bin
Marcelo
2009-05-30 03:03:51 UTC
Permalink
Hi Peter,
Post by Peter Strapp
I have been working on extracting the file system from a Koolu
build and getting it running from an SD card.
You mean entirely from the SD card?

I appreciate your effort, but isn't it a *ton* easier to
download the source and modify the handful of lines that you
have to modify in vendor/neo/freerunner/init.rc and compile?

Am I missing something?

If there's real interest in this I would appreciate it very much
if you can cook up a patch for the source. Again, unless I'm
missing something, it should be enough to patch
vendor/neo/freerunner/Android.mk to use an alternative version
of init.rc in "sd-only" mode. I'd go even one step further, I
would create a init.rc.template that has placeholders for
whatever fields need to be changed and they are filled in during
the build process.
Post by Peter Strapp
http://activationrecord.net/radekp/openmoko/android/. However,
I don't know what config was used to build that kernel.
You can look at the config used to build the kernel under
kernel/arch/arm/configs/gta02_android_defconfig. If you do as I
suggest, a simple "make" will compile the kernel using that
configuration.

I recommend strongly against removing the ramdisk from the
kernel. What that buys you is that you don't have to fool with
the command line to specify the root device.

I would further suggest you add an early boot hook that
*searches* for the system partition (sh script will do, but you
have to put it in the ramdisk) using whatever heuristic you deem
useful. I would go with looking for a partition with something
significant in it, e.g. bin/dalvikvm or build.prop (anything
that *has* to be there for Android to work). You can get a good
idea of what that something might be if you do a minimal build.

Another option is to patch init to read another kernel command
line parameter and mount whatever that says as /system. On the
plus side, this is faster. On the downside this required manual
configuration. You could do both! Look at the command line
first and if that fails, fallback to searching.

Marcelo
Radek Polak
2009-05-30 07:34:52 UTC
Permalink
Post by Peter Strapp
I think it must be kernel config as it works when using the kernel here
- http://activationrecord.net/radekp/openmoko/android/. However, I don't
know what config was used to build that kernel.
Hi Peter,
i think that it's the kernel from andy-tracking around January 17th.
I was always using more-drivers config with ANDROID_* stuff enabled.
Post by Peter Strapp
Does anyone have any ideas what may be preventing the touchscreen and
buttons from controlling the OS?
You can try enable more logging for functions in

frameworks/base/services/java/com/android/server/KeyInputQueue.java

I would like to play with android on SD card too, but no time now...

Radek
Vallieswaran V
2009-06-04 06:51:50 UTC
Permalink
Hi Peter,
i also tried this but i can't able to get out of koolu screen when i
use the kernal.img,
when i am using http://activationrecord.net/radekp/openmoko/android/
or Uimage-v13.bin withe beta 3 it work fine
i tried calling the phone it shows the call but i am not able to give
inputs to it

i am trying all my possiblities to get beta 7 working on FR.

any other suggestions

yours
vallies
Hi,
I have been working on extracting the file system from a Koolu build and getting it running from an SD card. I now have everything working (USB, Networking, GSM, Audio) except any kind of input. The backlight responds to touchscreen and button input but the OS doesn't.
I think it must be kernel config as it works when using the kernel here - http://activationrecord.net/radekp/openmoko/android/. However, I don't know what config was used to build that kernel.
Does anyone have any ideas what may be preventing the touchscreen and buttons from controlling the OS?
Thanks,
Peter.
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
mkdir AndroidSD
cd AndroidSD
wget http://www.koolu.org/releases/beta7/android-freerunner-koolu1.0-beta-7.tar.gz
wget http://wiki.openmoko.org/images/8/82/Mntjffs.sh
wget http://activationrecord.net/radekp/openmoko/android/init.rc
tar xfv android-freerunner-koolu1.0-beta-7.tar.gz
mkdir ramdisk
mv ramdisk.img ramdisk/
cd ramdisk
gzip -dc < ramdisk.img | cpio --extract
mv ramdisk.img ../
mv init sbin/
sudo cp -r * /media/disk-1/
cd ..
mkdir userdata
mv userdata.img userdata/
cd userdata
tar xfv userdata.img
mv userdata.img ../
sudo cp -r * /media/disk-1/data/
cd ..
chmod +x Mntjffs.sh
mkdir mntSystem
sudo ./Mntjffs.sh system.img mntSystem
sudo cp -r mntSystem/* /media/disk-1/system/
sudo umount mntSystem
sudo cp init.rc /media/disk-1/
cp ~/AndroidKernel/uImage.bin /media/disk/uImage.bin
Radek Polak
2009-06-04 07:25:11 UTC
Permalink
Post by Marcelo
Hi Peter,
i also tried this but i can't able to get out of koolu screen when i
use the kernal.img,
Try adb logcat to see what's happening. It could give you hint what's
wrong.

Radek
Vallieswaran V
2009-06-05 14:45:00 UTC
Permalink
hi,
i am getting this messages repeatedly in logcat when i press power button
the screen back light comes up and shows me locked screen

D/KeyguardViewMediator( 821): wakeWhenReadyLocked(82)
D/KeyguardViewMediator( 821): handleWakeWhenReady(82)
D/KeyguardViewMediator( 821): pokeWakelock(5000)
D/KeyguardViewMediator( 821): wakeWhenReadyLocked(4)
D/KeyguardViewMediator( 821): handleWakeWhenReady(4)
D/KeyguardViewMediator( 821): pokeWakelock(5000)

yours
vallieswaran
Post by Radek Polak
Post by Marcelo
Hi Peter,
i also tried this but i can't able to get out of koolu screen when i
use the kernal.img,
Try adb logcat to see what's happening. It could give you hint what's
wrong.
Radek
_______________________________________________
android-freerunner mailing list
http://android.koolu.org/listinfo.cgi/android-freerunner-koolu.org
Loading...