View Single Post
Posts: 237 | Thanked: 274 times | Joined on Jul 2010
#850
Originally Posted by RobbieThe1st View Post
U-boot is what I'd like to see used instead, but apparently the Nitdroid folks aren't willing to change. And so, I won't install it until multiboot's removed, which may be never.
I agree on backup menu running directly from u-boot, that may be acheived by installing a min-base debian system on an sdcard, and running backup menu from there instead from maemo ?

also,
about multi-boot flashing the kernel each time the OS is changed, well you can stop that..
using u-boot along with multiboot , you can change the OS and the kernel without flashing a single time, this requires some manual work when "switching" though.

assuming you already have u-boot, install multiboot, kernel-power-bootimg from the repository, edit the file /sbin/multiboot , and comment out the line
flasher --local -f -k $1
now multiboot will not be able to flash any kernels, that won't be needed anyways..

normally, when you select an item in multiboot, it checks if the correct kernel is loaded, if it is it will load the OS, if not it flashes the kernel and reboots..

so the idea is to always have the correct kernel before selecting an OS, this is achieved through u-boot, incase you disable the flasher line, and select an OS with a kernel that is not loaded, it will reboot without flashing.

and since you only need multiboot to switch between maemo and nitdroid, it will be fairly simple to setup things, other systems can be loaded directly from u-boot.

install nitdroid manually to wherever you like, create the item file for multiboot manually, get the nitdroid kernel, convert it to u-Image and put it on the first partition of your sd-card.

for the boot.scr file it should be created from something like
Code:
mmc init
fatload mmc1 0:1 0x82000000 /N12-uImage
setenv atags ${nolo_atagaddr}
bootm 0x82000000
the most important thing is that you need to use atags from nolo, as the nitdroid kernel will actually be starting multiboot from maemo..

u-boot should then correctly load nitdroid kernel, and multiboot will be started, selecting nitdroid from the list, it will start without flashing any kernel since it is already loaded(and you disabled flashing too)

if you need to start maemo, write : run noloboot at the u-boot prompt, and select maemo from multiboot's list..

some manual work will be needed if you want to boot other OS, you will have to manually rename their u-boot script file to boot.scr each time you want to switch.

I mean if you have something like this on your sd-card:
N12-uImage
N12.scr
debian-uInitrd
debian-uImage
debian.scr

and want to boot debian, you will have to copy and rename debian.scr to boot.scr either using pc, or from maemo.

another idea, is to have the flash_kernel() function of multiboot rename the correct boot script to boot.scr then reboot instead of flashing, this idea was present some time ago but no one implemented it yet..

Last edited by ivyking; 2011-07-17 at 17:59.
 

The Following 3 Users Say Thank You to ivyking For This Useful Post: