I\'ve finally got the dualboot scripts tweaked enough for a first release.
I highly recommend grabbing the async io kernel also. Otherwise, the
SD card is to painfully slow to use as your main root filesystem.
Dualboot setup quick instructions
I. Backup your current stuff.
II. Install modrom-dualboot.ipk. Then run /usr/local/bin/modrom-dualboot.sh
This requires that you have a 128meg CF card inserted. It will read your
currently installed rom image, and create a new initrd.bin file, deposit
it on your CF card. Then use the normal rom flashing technique to reflash
your Zaurus with this new rom. I have tested this on a freshly installed
Sharp 3.10 rom image, it should also work for v3.13, and for tkcrom 1.0.
The modifications made to the rom are:
1) new /sbin/init -- this is now a shell script that will check for an
alternate system on your SD card on bootup. If no alternate distribution
exists on your SD card, the Zaurus will continue to bootup normally off the
internal rom image.
2) modified /root/etc/rc.d/rc.sysinit script. This modification has nothing
to do with dualboot, it is there to support optional /home on SD, same as
with tkcrom 2.0-alpha3. See prep-home-sd.sh documentation for details on
this.
III. Once you have the dual-boot rom created and flashed, test it out
to see if it is working ok (i.e., reboot a time or two, reset, etc.)
Then, install oz2sd.ipk. Place the OpenZaurus 3.3.5 initrd.bin file on
your CF card, and then run:
/usr/local/bin/oz2sd.sh -i /mnt/cf/initrd_oz_3.3.5.bin
This will:
* insmod mtdram and jffs2 kernel modules
* copy oz\'s initrd to the mtdram test device (should be /dev/mtdblock3)
* tar up oz, creating /mnt/cf/oz.tar.gz
* unload the modules to free up memory
* ext2 format your SD card, and extract oz to it.
* create a file on your SD root, called \"init.card\". This is what gets
called by the modified /sbin/init in the dualboot rom.
* patches up a few oz files to make it run better from your SD card
There are a few command line options available for oz2sd.sh, you should be
able to figure them out from the source. They mostly affect default
temp file locations and such. Also, it creates a temporary swapfile in
/home/swap.tmp1, 16 meg. This is needed because the mtdram module (used
to help extract the jffs2 oz image) takes up so much memory.
You may also want to run oz2sd.sh without qpe running (when booting the
zaurus, hit \"/\" at the \"Wait..5..4..3..2..1\" countdown, and log in as root).
I\'ve had a couple out-of-memory conditions happen when running it.
In short, here\'s a quick recap of the quick instructions:
1) Flash the async io kernel located in the downloads section (optional,
but highly desirable)
2) Install modrom-dualboot_arm.ipk, insert a 128meg CF card, and run modrom-dual
boot.sh
3) Reflash rom with new initrd.bin file (assuming no errors -- size should be
about 14 meg).
4) Reboot, install oz2sd_arm.ipk, put initrd_oz_3.3.5.bin on your CF card,
stop the gui (or boot without it), and run
oz2sd.sh -i /mnt/cf/initrd_oz_3.3.5.bin (with an SD card inserted)
5) Reboot with the SD card inserted. To boot into your normal Sharp rom,
boot without the SD card.
Again, this should work with Sharp rom 3.10, 3.13, and tkcrom 1.0, possibly
other sharp-style roms. Also, when before you flash the modified rom image,
do a quick sanity check (is it about 14 megs? were there any errors? etc.)
I will be putting together a bit more comprehensive documentation, and an
explaination of what all is changed, but this should get you going for now.
Have fun...
--derek