Updating Ben NanoNote software

From Qi-Hardware
Revision as of 04:21, 1 April 2010 by Dmacinnes (Talk | contribs)
Jump to: navigation, search

Contents

xburst-tools

install

First, download and install usbboot from the xburst-tools package: go here to download the package you need.

deb package:

$ dpkg -i xburst-tools_0.0+201002-1_i386.deb

bin tarball:

$ sudo tar jxvf xburst-tools_0.0+201002-1_i386.bin.tar.bz2 -C /

uninstall

deb package:

$  sudo aptitude remove xburst-tools 

bin tarball:

$  sudo rm -f  /usr/local/bin/usbboot
$  sudo rm -f  /usr/local/man/man1/usbboot.1.gz
$  sudo rm -rf /usr/local/etc/xburst-tools/
$  sudo rm -rf /usr/local/share/xburst-tools/

How to reflash

DO NOT USE A USB HUB. Make sure your NanoNote is directly connected to a Linux PC

DO NOT USE LINUX VIRTUAL MACHINE running in your Windows or MacOS pc


Boot your NanoNote into USB BOOT mode. As soon as lsusb (on your Linux PC) lists a new device,


Afterwards, reboot your NanoNote. First, you will see

- preinit -                                                                     
Press CTRL-C for failsafe

After a while, you will see Please press Enter to activate this console. on the console of your NanoNote.

Notes

  • The usual boot time is around 10 seconds.
  • You can erase the whole nand with the command:
$ sudo usbboot -c "boot;nerase 0 4096 0 0"
  • You can only flash the u-boot:
$ sudo usbboot -c "boot;nprog 0 openwrt-xburst-u-boot.bin 0 0 -n"
  • You can reflash just the rootfs partition with
$ sudo usbboot -c "boot;nprog 2048 openwrt-xburst-qi_lb60.ubi 0 0 -n"
  • Remember, the block size in the flash is 4 KiB (4096 bytes).

Alternative to using the reflash_ben.sh script

Situation

I had tried to use the reflash script a number of times without a lot of success. I found myself having to run "reflash_ben.sh -b" to install the boot, then "reflash_ben.sh -k" to install the kernel, separately. One day even that didn't work.

Solution

Before beginning the following steps, ensure that you've downloaded the latest files into a working directory and that you execute the commands from that directory

  1. take the battery out, unplug the USB cable, keep your NanoNote totally disconnected for a minute or so
  2. use the carbonized rubber button to connect the usb boot pins in the battery compartment
  3. on your LInux machine, run 'watch lsusb'.
  4. short the USB boot pins, connect the USB cable (don't use a hub)
  5. the numbers 601a:4740 should show up. if not, press the power button (still holding the USB boot pins closed/shorting)
  6. now, from the working directory on the host, run 'usbboot'
  7. then type "boot"
  8. then "nerase 0 4096 0 0". this will erase your device. you only need to do this once
  9. next, we will flash u-boot. run "nprog 0 openwrt-xburst-u-boot.bin 0 0 -n" (u-boot goes to page 0, Linux kernel to page 1024, rootfs to page 2048)
  10. next, we will flash the kernel. run "nprog 1024 openwrt-xburst-uImage.bin 0 0 -n"
  11. finally, the rootfs. run "nprog 2048 openwrt-xburst-qi_lb60-root.ubi 0 0 -n" this will take a while, up to 15 minutes. as it is working, you will see usbboot's loooong output scrolling down, some numbers slowly increasing.


Notes

Future Options

In the future, instead of following these instructions, you could buy a microSD card and try these steps.

  1. when a new kernel+rootfs comes out, flash it onto a microSD card, 2 partitions: partition1 = vfat = uImage, partition2 = ext2 = rootfs
  2. then turn on your NanoNote, press 'm' to tell u-boot to boot from the microSD card. You only need a functioning u-boot in NAND for this to work. It will take the Linux kernel + rootfs from the microSD

You first boot from microSD, and you have the uImage.bin and .ubi files on the microSD. Then you use one of the several Linux NAND tools (I always use ubiformat but some people say mtd is better).

Personal tools
Namespaces
Variants
Actions
Navigation
interactive
Toolbox
Print/export