Reply
Thread Tools
Posts: 804 | Thanked: 1,598 times | Joined on Feb 2010 @ Gdynia, Poland
#441
Originally Posted by reinob View Post
Does anybody have experience with using the debug ports under the battery to create a USB connection that can be used for flashing?

I *will* search for relevant information here, but any pointers will be much appreciated
I'm not sure if you've seen that, but literally few days/weeks ago someone here on tmo posted some stuff about that (even with some pictures) - I can't find it now, but you shuld be able to if you spend more time on it. It was a guy who went to some phone service and the flashed his n900 for him using the ports under the battery. I'm not sure if there were any technical details, but even if there weren't - at least you know you can take it to some phone service and they should be able to do it.
 

The Following 2 Users Say Thank You to misiak For This Useful Post:
Posts: 1,808 | Thanked: 4,272 times | Joined on Feb 2011 @ Germany
#442
Originally Posted by Fabry View Post
You can always hand write all commands in the console, or create a u-boot script to write on SD and then call it from the console
I think I somehow over-read this great suggestion from you.

The idea would be to start U-Boot and then run the attached kernel (or a kernel image from MyDocs) but changing the cmdline:

"init=/sbin/preinit ubi.mtd=rootfs root=ubi0:rootfs rootfstype=ubifs rootflags=bulk_read,no_chk_data_crc rw console=ttyMTD,log console=tty0 snd-soc-rx51.hp_lim=42 snd-soc-tlv320aic3x.hp_dac_lim=6"

replacing init to point to /bin/sh.

(problem is I didn't enable R&D mode when I should have, and now I can't enable it anymore.. maybe I have enough time to run Pali's watchdogs programs. That is, if it doesn't segfault -- another issue I still have to investigate).

Anyway, thanks a million for the idea. Let's see how far I get..
 

The Following User Says Thank You to reinob For This Useful Post:
Posts: 1,808 | Thanked: 4,272 times | Joined on Feb 2011 @ Germany
#443
OK. In the console I did:

Code:
setenv mmcnum 1
setenv mmcpart 1
setenv mmctype fat
setenv mmckernfile bootmenu.img.d/zImage-2.6.28-omap1-fb
setenv atagaddr 0x80000100
setenv bootargs init=/bin/sh ubi.mtd=rootfs root=ubi0:rootfs rootfstype=ubifs rootflags=bulk_read,no_chk_data_crc rw console=ttyMTD,log console=tty0
and then run trymmckernboot

The kernel started (with framebuffer console), but then stopped after printing this (I made, and attach, a photo of it

Code:
UBIFS error (pid 1): ubifs_get_sb: cannot open "/dev/root: , error [...]
List of all partitions:
No filesystem could mount root, tried:  ubifs
Kernel panic - not syncing: VFS: Unable to mount root fs on unkwown [...]
This looks very promising, but obviously I'm missing something.

Considering the PITA of having to type all these things on the U-boot console I will now stop and ASK, PLEASE, ANYONE, is there anything I'm still missing?

I'll wait. No hurry. But I'm going a bit crazy (and the weekend is coming to an end -- meaning no more real time to play with this), and I have the feeling that I can still pull this off and unbrick the N900.
Attached Images
 
 

The Following User Says Thank You to reinob For This Useful Post:
Posts: 362 | Thanked: 426 times | Joined on Nov 2010 @ Italy, Lombardia
#444
Originally Posted by reinob View Post
This looks very promising, but obviously I'm missing something.

Considering the PITA of having to type all these things on the U-boot console I will now stop and ASK, PLEASE, ANYONE, is there anything I'm still missing?
No hope to use your SD ?

If yes, you can create a script file (or two scripts: common-part, kernel-bootarg), convert it by mkimage, copy it to SD, launch it by u-boot's console.

This should reduce the hassle of having to write everything every time.
 

The Following User Says Thank You to Fabry For This Useful Post:
Posts: 362 | Thanked: 426 times | Joined on Nov 2010 @ Italy, Lombardia
#445
Originally Posted by reinob View Post
OK. In the console I did:

and then run trymmckernboot

The kernel started (with framebuffer console), but then stopped after printing this (I made, and attach, a photo of it
If you load fb-kernel without changing bootargs what happens ?
Root is mounted or not ?

I would not have corrupted the NAND file system and now you need a sort of UbiFS filesystem check utility
 

The Following User Says Thank You to Fabry For This Useful Post:
Posts: 1,808 | Thanked: 4,272 times | Joined on Feb 2011 @ Germany
#446
Originally Posted by Fabry View Post
No hope to use your SD ?

If yes, you can create a script file (or two scripts: common-part, kernel-bootarg), convert it by mkimage, copy it to SD, launch it by u-boot's console.

This should reduce the hassle of having to write everything every time.
AFAICT the microSD card reader is also toast. I never tried using a uSD card on this particular N900 until it bricked, so I cannot tell for sure if this is a hardware thing or me using U-boot incorrectly (but hey, on another N900 U-boot manages to use the exact same uSD card to boot Nemo, so I think I'm not the cause of the error..

I don't mind typing it all by hand. Painful as it is.. reminds me of my childhood, typing BASIC programs off a magazine.
 
Posts: 1,808 | Thanked: 4,272 times | Joined on Feb 2011 @ Germany
#447
Originally Posted by Fabry View Post
If you load fb-kernel without changing bootargs what happens ?
Root is mounted or not ?
Will check tomorrow..

I would not have corrupted the NAND file system and now you need a sort of UbiFS filesystem check utility
I don't know if the NAND file system is corrupted. Honestly I don't think so. I just need to set the executable bit on /sbin/getbootstate and then the N900 will come back to its glorious self

And *then* I'll be able to do what I wanted to do this weekend. Namely test my own version of kernel-power (OK, I can do that on another N900, but let's keep this dramatic..)

Thanks a lot for your help Fabry!
 
Posts: 1,225 | Thanked: 1,905 times | Joined on Feb 2011 @ Quezon City, Philippines
#448
Originally Posted by reinob View Post
OK. In the console I did:

Considering the PITA of having to type all these things on the U-boot console I will now stop and ASK, PLEASE, ANYONE, is there anything I'm still missing?

I'll wait. No hurry. But I'm going a bit crazy (and the weekend is coming to an end -- meaning no more real time to play with this), and I have the feeling that I can still pull this off and unbrick the N900.
/sbin/preinit is responsible for some bizarro pre-init stuff. Don't skip it.

What you should do:
Convert the RescueOS image into a uImage and its initrd into a uInitrd. Load them off another SD card (some N900s may be picky) and do what you have to do.

You just bricked a rather important part of Maemo, and there's no way you're restoring it without some help from external software.
__________________
N9 PR 1.3 Open Mode + kernel-plus for Harmattan
@kenweknot, working on Glacier for Nemo.
 
Posts: 1,808 | Thanked: 4,272 times | Joined on Feb 2011 @ Germany
#449
Originally Posted by Hurrian View Post
/sbin/preinit is responsible for some bizarro pre-init stuff. Don't skip it.
I could recite /sbin/preinit by heart. Believe me.

The origin of my problem was stupid. I wanted getbootstate to return always USER. Problem is it doesn't return anything (because I didn't make it execuable). preinit panics on that before it gives me the option to start a shell or do anything..

Hence I want to actually skip it, boot directly to /bin/sh, do whatever preparations I need to (do a bit of what preinit actually does) and then chmod +x /sbin/getbootstate.

What you should do:
Convert the RescueOS image into a uImage and its initrd into a uInitrd. Load them off another SD card (some N900s may be picky) and do what you have to do.

You just bricked a rather important part of Maemo, and there's no way you're restoring it without some help from external software.
I have the feeling that the problem is not the card but the reader. Will try with another card though, just in case.
 

The Following User Says Thank You to reinob For This Useful Post:
Posts: 1,808 | Thanked: 4,272 times | Joined on Feb 2011 @ Germany
#450
Follow-up from #443 above:

First of all: @Pali. Please implement also the saveenv command! (will make my life easier in the future..

Now I repeated essentially the same as yesterday, except the setenv mmcnum/mmcpart/mmctype because they are (luckily) set as default. so I also skipped the switchmmc (not sure if I did mmc dev 1 though).

Then I did setenv mmckernfile zImage- [ @Pali: command line completion please?! ]

then setenv atagaddr 0x80000100

then setenv bootargs like yesterday, but without "console=ttyMTD,log" (just to avoid typing too much stuff).

Then run kernload,
then run kernboot (first photo is before hitting RETURN).

The kernel booted, and got stuck like yesterday, but the errors are slightly different.

I got:
Code:
VFS: Cannot open root device "ubi0:rootfs" or unknown-block(0,0)
Please append a correct "root=" boot option; here are the available partitions:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
whereas yesterday (with console=ttyMTD,log) I got this:
Code:
UBIFS error (pid 1): ubifs_get_sb: cannot open "/dev/root: , error [...]
List of all partitions:
No filesystem could mount root, tried:  ubifs
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown [...]
To me it looks a lot better now (somehow I find this ubifs_get_sb ugly). But still no dice, obviously.

Since my fingers are already hurting from all this U-boot console typing and will leave the topic for now. I suppose Pali is on (well-deserved) leave at the moment so I'll just patiently wait for advise.

Obviously, the other resident experts around (thinking of Fabry, Misiak and Hurrian, among others) are welcome to make any suggestions!
Attached Images
  

Last edited by reinob; 2012-08-07 at 12:49.
 

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

Tags
bootmenu, u-boot


 
Forum Jump


All times are GMT. The time now is 10:41.