Reply
Thread Tools
Posts: 9 | Thanked: 18 times | Joined on Mar 2017
#21
Hi everybody,

I post here since I am having boot issues too. I reflashed the N900, installed u-boot and was trying to get NITDroid work, but messed up something and now I can only access u-boot terminal. I cannot reflash the phone since when connected to a computer it is not recognised.

I am trying to create a bootable SD card and boot from there, but I don't know how to unpack the RX-51_2009SE_20.2010.36-2_PR_COMBINED_MR0_ARM.bin file to get the kernel.

Another option would be to directly flash from the SD card.

Any help?

UPDATE: I have been able to unpack the .bin file by issuing

flasher-3.5 -F ....bin -u

So now I have the kernel. I have extracted the zImage and converted it to uImage by mkimage (utility part of the u-boot suite). I have written a short script for starting the kernel and made it into image. Copied all to sd card (single partition). Boots, but hangs and reboots.

At this point I need some advice on how to pass correct parameters to the kernel in order to gain access to the file system.

Last edited by Enrico Menotti; 2017-03-05 at 01:38. Reason: Update
 

The Following User Says Thank You to Enrico Menotti For This Useful Post:
Posts: 110 | Thanked: 362 times | Joined on May 2014
#22
Hi
Maemo on sd would be very nice to have,
there is information at various places but no images yet.

did you try
http://kicherer.org/joomla/index.php...from-a-sd-card
 

The Following User Says Thank You to pythoneye2 For This Useful Post:
Posts: 9 | Thanked: 18 times | Joined on Mar 2017
#23
Following suggestions by Pali, I am looking at rescue OS:

https://talk.maemo.org/showthread.php?t=75369

The files are at:

https://n900.quitesimple.org/rescueOS/rescueOS-1.3/

What I have done up to now:
- downloaded the kernel zImage
- used mkimage to convert it to uImage, with mounting address 86008000 and starting address the same
- with reference to Kicherer's blog, made a script for loading the uImage to memory and booting it. Simply
setenv bootcmd 'fatload mmc 0:1 86008000 uImage; bootm 86008000'
- converted the script into image boot.scr, address 0
- placed uImage and boot.scr in sd card (single partition)
- if I insert the sd card and boot from there, rescue OS starts

The problem is that it doesn't see any file system (I think); it gives an error saying the root is not valid and goes to kernel panic.

Now I contacted again Pali and also NIN101. What I have understood:
- the remainder of the OS is in the file rescueOS-1.3.img, same link as above for the kernel
- this file is to be converted to uImage with mkimage. Did this with name uRam:
mkimage -A arm -O linux -T ramdisk -C none -a 82008000 -e 82008000 -n ramdisk -d rescueOS-1.3.img uRam
(the address 82008000 is a guess. I think I understand that addresses should be multiples of some quantity, otherwise the kernel says we are unaligned)
- copied uRam to sd card
- loaded uRam to memory by fatload (address 82008000)
- added to boot.scr the line:
setenv bootargs 'initrd=82008000,8M'

This does not work. Clearly I did not expect it to, since I am just trying and trying, understanding step by step as I make errors.

I have posted all this in the hope that somebody may correct my errors and suggest what I should do now.
 

The Following 2 Users Say Thank You to Enrico Menotti For This Useful Post:
Posts: 2,153 | Thanked: 8,462 times | Joined on May 2010
#24
As wrote you should use same cmdline bootargs as via USB flasher.

Look at existing U-Boot settings and helper sub-scripts for N900:
http://git.denx.de/?p=u-boot.git;a=b...0;hb=HEAD#l239

So boot script should look like this:
Code:
setenv mmckernfile uImage;
setenv mmcinitrdfile uInitrd;
setenv bootargs rootdelay root=/dev/ram0;
run initrdload;
run kernload;
run kerninitrdboot;
uImage should be generated as:
Code:
$ mkimage -A arm -O linux -T kernel -C none -a 80008000 -e 80008000 -n "name_of_kernel" -d /path/to/kernel uImage
and uInitrd as:
Code:
$ mkimage -A arm -O linux -T ramdisk -C none -a 0 -e 0 -n "name_of_initrd" -d /path/to/initrd uInitrd
(not tested)

Look also how is generated Bootmenu script in eMMC from /etc/bootmenu.d files:
https://github.com/pali/u-boot-maemo...pdate-bootmenu
 

The Following 3 Users Say Thank You to pali For This Useful Post:
Posts: 9 | Thanked: 18 times | Joined on Mar 2017
#25
Pali, you're great. I followed literally what you indicated and now the N900 boots into shell. I will charge the battery and then go further.

I don't know how to thank you.
 

The Following User Says Thank You to Enrico Menotti For This Useful Post:
Posts: 9 | Thanked: 18 times | Joined on Mar 2017
#26
Ok, battery's up.

Now? The device enters flashing mode (hold u and connect usb), but my old spare Windows Vista pc doesn't install drivers, so flasher-3.5.exe won't work. I tried on my MacBook Pro with El Capitan, went into command line, and issued
Code:
diskutil list
No signs of the device.

So how could I do in order to reflash it? It seems to me strange that it be not possible to reflash from the sd card.

Maybe as an intermediate step it would be interesting to complete Maemo boot from the sd card: up to now I have been able to boot rescueOS; I have Maemo's kernel; what I miss is the initrd.
 

The Following User Says Thank You to Enrico Menotti For This Useful Post:
Reply

Thread Tools

 
Forum Jump


All times are GMT. The time now is 09:25.