View Single Post
Posts: 237 | Thanked: 274 times | Joined on Jul 2010
#882
[Edit]

these instructions are complex and no longer need to be done, instead use the files and instructions from
http://talk.maemo.org/showpost.php?p...&postcount=915

-------------------------------------------------------
[original message]

Eureka !

I have finally gotten backupmenu to start directly from u-boot, testers needed,

download the zip archive from

http://www.box.net/shared/5tnq9ydnjmou9bc6raao

total size 5.6MB !

there is two ways to do this :

1) no repartitioning required ! but r&d mode required

2) by making a new partition on your sdcard, r&d not required.

instructions:

extract the content of the archive to the first Fat32 partition of your sdcard (can be ext2 if you have patched u-boot)

shutdown then start again(do not reboot), and let u-boot timer timeout. depending on where you got u-boot you may need to boot with the keypad slider opened.

special thanks to NIN101 from here

http://talk.maemo.org/showthread.php?p=1062613

this wouldn't have been possible without his kernel.

what should work :

charging, usb networking, mass storage, usb console, ssh server, checking all partitions, root console, backup and restore.

what has been tested :

basically nothing.

some issues :

1) it isn't colorful

2) there is a problem with modprobe, it only works correctly if your current directory is /lib/modules/2.6.37/
I made a symlink at /kernel to point to /lib/modules/2.6.37/kernel/

this would make it work if your current directory is / but this is not the proper way to fix..

if someone knows how to fix modprobe path please do !
I tried setting path in /etc/modules.conf
and using modprobe with -C <config file> to no avail
however this should not affect general use at all.

3) this requires r&d mode, there is watchdog support in this backupmenu, but the problem occurs way before that, uboot takes a long time to load the files, causing the device to shutdown right after starting the kernel.

this is how to enable r&d mode, and is to be done once :

Shutdown the N900, hold the U key to go into flashing mode then on your pc :

Code:
flasher-3.5 --enable-rd-mode --set-rd-flags=no-omap-wd,no-lifeguard-reset,no-ext-wd
the advantage of this is that you are operating from the ram, not from the sdcard ! so you have complete control over all storage devices.

this also implies that any change to the content of backupmenu while it is loaded will not be preserved after reboot, as in reality you are modifying content that has been loaded in the ram.

-------------------------------------------------------------------------------------------------

you can use this without r&d mode, but you will have to repartition your sd card for this :

first convert the backupmenu-uInitrd back to initrd.

dd if=backupmenu-uInitrd of=backupmenu.img.lzma skip=64 bs=1

lzma -d backupmenu.img.lzma

mkdir /mnt/backupmenu_temp

mount -o loop -t ext4 backupmenu.img /mnt/backupmenu_temp

now make an ext4 partition anywhere on your sdcard, size should be around 40 MiB, and mount that partition.
then

cp -ap /mnt/backupmenu_temp/* /media/<where you mounted the partition>/

then place the kernel(uImage) on your first partition of the sdcard, and write a uboot command file to reflect your setup.

should be something like :

Code:
mmc init
fatload mmc1 0:1 0x82000000 /n900rescue2.6.37-uImage
setenv bootargs 'root=/dev/mmcblk0p4 rootwait rw console=tty02,115200n8 console=tty0 mtdoops.mtdev=2'
bootm 0x82000000
replace mmcblk0p4 with where you created the new ext4 partition
and please note that mmcblk0 is your sd-card, and that the setenv command is actually a single line.

then convert it to a uboot script, call it boot.scr, place it on the first partition of your sdcard

the command used is :

Code:
mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "backupmenu" -d your_command_file /media/<your_partition>/boot.scr
again this command is a single line..

then boot it..

Last edited by ivyking; 2011-08-19 at 03:27.
 

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