Reply
Thread Tools
Posts: 10 | Thanked: 0 times | Joined on Nov 2007 @ Washington State, USA
#1
The screen gave out on my N800. Sometimes it won't show anything at all, other times it only shows alternating scan lines, other times the missing scan lines are flashing.

Since it's a couple of years old and long out of warranty, I elected to get a new N800 rather than send it in for repair. The problem that I have is how to transfer everything to the new device without laborously reinstalling everything.

I was hoping for some nice tool to flash from one to the other (preferably not involving the screen on the old one) but didn't see anything obvious.

I've already taken a tarball of the internal filesystem. Will it work to jailbreak the new one, get an ssh server going, kill off just about all processes except the ssh server, then untar? Is there a simpler way?
 
Posts: 2,152 | Thanked: 1,490 times | Joined on Jan 2006 @ Czech Republic
#2
Originally Posted by mrcrispin View Post
I've already taken a tarball of the internal filesystem. Will it work to jailbreak the new one, get an ssh server going, kill off just about all processes except the ssh server, then untar? Is there a simpler way?
You can also try to extract it to mmc card (preferably second partition, first one as FAT, second ext2) and install bootmenu and boot it directly. This is safer and you have more tries if it doesn't boot first time. Or you can first copy clean sytem to card, boot it and then mount internal flash and extract your data there while booted from card. That way you won't be overwriting live system (an have more tries too).

Also extracting tar to internal flash with jffs2 filesystem will be slow and will not give you optimal result. If you have existing data it is better to extract it to normal filesystem and prepare jffs2 image out of that via mkfs.jffs2 (similar to making ISO image for CD or DVD) and flash such image directly. jffs2 filesystem is log based (i.e. whole filesystem is one big log of changes to previous state) so lot of file removing/creating makes it slower and otherwise suboptimal. It still works of course, it is just not the best way to populate the filesystem.

As for bootmenu and other details, there is plenty of threads here, just search for bootmenu, mkfs.jffs2, nandwrite, sumtool or check https://wiki.maemo.org/Booting_from_a_flash_card

EDIT: And BTW if you have no use for N800 with unreadable display, just let me know :-)
__________________
Newbies click here before posting. Thanks.

If you really need to PM me with troubleshooting question please consider posting it to the forum instead. It is OK to PM me a link to such post then. Thank you.

Last edited by fanoush; 2009-06-22 at 20:38.
 

The Following 2 Users Say Thank You to fanoush For This Useful Post:
Posts: 10 | Thanked: 0 times | Joined on Nov 2007 @ Washington State, USA
#3
I was afraid that it was going to be more complicated that just untarring; and the jffs2 issue concerns me. A further complication is that I'm still using OS 2007 (I have something that depends upon it).

There is also the small matter that stuff that /proc, etc. isn't readily tar-ed; but I assumed that I didn't need to tar those so I just skipped those directories. I tar-ed: bin, etc, home, lib, sbin, sys, tomoe, usr, var; and skipped boot, cdrom, dev, floppy, initrd, media, mnt, opt, proc, root, srv, tmp. I have that on an SD card.

Assuming that I can get in to the old machine with ssh, and can allocate a scratch (OK to wipe whatever's there) SD card, and have a Windows machine available with Nokia's flasher, can you give me a recipe for the simplest way to make an image of the old one, and flash the new one with that image? I'm busy enough at work that I won't have a change to allocate time to figure it myself out (even with the excellent hints you've offered) for a few months.

Thanks.
 
Posts: 678 | Thanked: 197 times | Joined on Jul 2007 @ San Jose CA
#4
Originally Posted by mrcrispin View Post
Assuming that I can get in to the old machine with ssh, and can allocate a scratch (OK to wipe whatever's there) SD card, and have a Windows machine available with Nokia's flasher, can you give me a recipe for the simplest way to make an image of the old one, and flash the new one with that image? I'm busy enough at work that I won't have a change to allocate time to figure it myself out (even with the excellent hints you've offered) for a few months.

Thanks.
Assume you can get to the old machine with ssh.

Try to get wget, and initfs_fasher: see https://wiki.maemo.org/Booting_from_a_flash_card
Then you can make a copy of your old system: (as root)

mount -t jffs2 /dev/mtdblock4 /opt
cd /home/user/bin
./initfs_flasher/mkfs.jffs2 -r /opt -o /media/mmc1/rootfs.jffs2 -e 128 -l -n
umount /opt
./initfs_flasher/sumtool -i /media/mmc1/rootfs.jffs2 -o /media/mmc1/rootfs.faster.jffs2 -e 128KiB -l -n
Then later one on the new machine, you will do the same (get wget and initfs_flasher), better yet make it boot from mmc2 (internal SD) then:
cd /home/user/bin
./initfs_flasher/flash_eraseall -j /dev/mtd4
./initfs_flasher/nandwrite -a -p /dev/mtd4 /media/mmc1/rootfs.faster.jffs2
The file /media/mmc1/rootfs.faster.jffs2 is your copy so you won't lose anything from the old system.
 

The Following 3 Users Say Thank You to nhanquy For This Useful Post:
Posts: 2,152 | Thanked: 1,490 times | Joined on Jan 2006 @ Czech Republic
#5
Yes, exactly. if you still have access to old system, make backup again not via tar but via mkfs.jffs2 directly to card as explained above (trick with mounting /dev/mtdblock4 again to /opt is intentional to get rid of /proc /sys etc)

The restore part is a bit tricky, you can't boot from system you want to erase and reflash so either you copy system to card and boot from it just to do the restore or you can try the emergency usb networking mode of bootmenu to boot only to initfs, ssh in via usb networking and try to restore backup from there.

The only catch with using the recovery mode is that flash_eraseall and nandwrite is not installed in initfs so you need special binaries (initfs is uclibc based) and scp them to device to some temporary ram storage (/tmp) and run them from there.

Also for windows you need .inf driver file for RNDIS (google for linux rndis inf)
__________________
Newbies click here before posting. Thanks.

If you really need to PM me with troubleshooting question please consider posting it to the forum instead. It is OK to PM me a link to such post then. Thank you.

Last edited by fanoush; 2009-06-23 at 12:31.
 

The Following 2 Users Say Thank You to fanoush For This Useful Post:
kudos1uk's Avatar
Posts: 166 | Thanked: 26 times | Joined on Jun 2007 @ Hampshire, UK
#6
I think if it was me I would get in there and swap the screens.
 
Posts: 2,152 | Thanked: 1,490 times | Joined on Jan 2006 @ Czech Republic
#7
OK, I got the rest via PM so here it is for others. With linux PC there is another easier way. The restore part can be done with usb flasher.

Originally Posted by mrcrispin
I was hoping to be able to flash the new machine without ever booting it, much less going to the trouble of jailbreaking and installing little pieces just to be able to boot from an SD which I would have to build separately. That's why I mentioned the Windows machine, where I have Nokia's flasher. Isn't there some way to make a Nokia flash file out of the rootfs.jff2 file?
There is a way but not with Windows. Full firmware *.bin (FIASCO) image is bootloader(in 3 parts)+initfs+kernel+rootfs. You can flash just rootfs part but only with linux (or macos).
Originally Posted by mrcrispin
Anyway, if it makes things easier, I also have an x86 Ubuntu Linux (and an AMD64 Ubuntu, x86 Mac, and PPC Mac!) all sitting on my desk.
Perfect. That makes things much easier. Get command line flasher from http://tablets-dev.nokia.com/d3.php and firmware from http://tablets-dev.nokia.com/nokia_N800.php as described in http://wiki.maemo.org/Updating_the_tablet_firmware.

First reflash new device with same OS version you had on old device so you get matching bootloader, kernel etc (new device may come with OS2008 and you mentioned you stay with OS2007), and then you can flash just the rootfs.faster.jffs2. It can be done in one flashing session with two flasher commands
Code:
flasher -F fiascoimage.bin -f
flasher -r rootfs.faster.jffs2  -f -R
See also http://wiki.maemo.org/Flasher

You'll be flashing rootfs twice but that it easier than excluding it from first flashing command.
__________________
Newbies click here before posting. Thanks.

If you really need to PM me with troubleshooting question please consider posting it to the forum instead. It is OK to PM me a link to such post then. Thank you.

Last edited by fanoush; 2009-06-24 at 04:04.
 

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


 
Forum Jump


All times are GMT. The time now is 22:47.