How to Get the Best Operating System for Mobile – Debian
Pyneo & Debian goes Nano-Note
Prepare Host System
You have to install the tool “usbboot” to flash the Nano-Note:
wget http://projects.qi-hardware.com/media/upload/xburst-tools/files/xburst-tools_0.0+201002-1_i386.deb dpkg -i xburst-tools_0.0+201002-1_i386.deb
Download what you need
You need an u-boot, kernel and rootfs. Use my kernel because the openwrt kernel is missing some options (inotify, fpu-emu, no splash, full size root partition). Use the official u-boot for the Nano-Note Ben with lb60-board, mine is made for the avt2-board.
wget http://downloads.qi-hardware.com/software/images/Ben_NanoNote_2GB_NAND/latest/openwrt-xburst-u-boot.bin wget http://pyneo.org/downloads/nano/openwrt-xburst-qi_lb60-uImage.bin # and one of wget http://pyneo.org/downloads/nano/debian-lenny-mini.ubi wget http://pyneo.org/downloads/nano/debian-lenny.ubi
There are some advantages in mine avt2-u-boot (kernel logging to tty1, usb-ether-mac address constant), you can get it from:
Prepare the Nano-Note
Put the Nano into usb-boot-mode (see here for instructions how to do that). I encoutered lots of problems with nand so I do a nand full erase before any operation:
usbboot -c "boot" sed -i 's/NAND_FORCEERASE = .*/NAND_FORCEERASE = 1/' /etc/xburst-tools/usbboot.cfg usbboot -c "nerase 0 4096 0 0"
Hints for flashing:
- The nano is in usbboot mode if you see the folloing when issues on the host:
# lsusb | grep 601a:4740 Bus 001 Device 038: ID 601a:4740
- When usbboot says:
Device unboot! Boot it first!
issue a `usbboot -c boot`.
- Sometimes the software booted on the nano seems to crash. You will see the following message in that case:
Error - can't read bulk data from Ingenic device:
(or similar). Just disconnect, wait a while (about 30sec) and reconnect the nano, reboot & try again.
- When i did a full erase my nano was most often gone on the bus and the usbboot-program was unable to contact it afterwords (see above). i disconnected usb & battery and started all over. If you do so leave the nano off for quite a while, just re-plugging immediatly did not work for me.
- If you see any messages about bad blocks or messages from usbboot without a newline at the end that where hints that flashing did not take place correctly. Start over with a full nand erase and reflash everything.
Skip a old bad block !
- Flash with battery removed
- If you use the avt2-switch to toggle to usbboot mode redo the switching
- If you encounter errors try another usb cable.
- Use a direct usb connection, no hub inbetween.
I hope qi-hardware or sharism will come up with a solution of a more reliable flashing instead of this set of esoteric hints that changed the behaviour of usbboot for me.
Flashing is straight forward:
usbboot -c "boot" usbboot -c "nprog 0 openwrt-xburst-u-boot.bin 0 0 -n" usbboot -c "nprog 1024 openwrt-xburst-qi_lb60-uImage.bin 0 0 -n" usbboot -c "nprog 2048 debian-lenny.ubi 0 0 -n"
You can also just flash the rootfs but i encountered another problem with the dedicated erase – sometimes it also trashed kernel and/or u-boot. The commands would be
usbboot -c "boot" usbboot -c "nerase 16 4079 0 0" usbboot -c "nprog 2048 debian-lenny.ubi 0 0 -n"
Again if you see strange messages do a full erase as described above.
10 sec later…
Using Debian on the Nano-Note
You may use your Nano-Note via console & keyboard. The keyboard is tiny but it has all keys that were needed to use a Unix-like system.
In the setup tty1 (the active console after boot) is dedicated to logging and does not show a login. Activate the second console (Alt-F2 or Alt-Right) to get a login prompt.
The root-user has an empty password, a user named “user” is dedecated for running programs non-root. If you are fed up with the keyboard you may step over to the next chapter.
Your nano will get the ip 192.168.0.204 and expects your host to be a dns and gateway into the internet with ip 192.168.0.197 (See networked concept here). ssh is listening and the root-pwd is empty. It will start X via nodm under user “user” and a rxvt inside (which doesn’t help you much because the keymappings are missing). Also pyneod and gsm-muxer are running already which could lead to memory problems on a lb60-board.
The commands to setup the host network would be (assuming networkinterface usb0):
ifconfig usb0 192.168.0.197 up route add 192.168.0.204 usb0 echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -j MASQUERADE
Building / Compiling
If you need a package that is not build for your platform you can now do:
apt-get install build-essential debhelper cdbs python-dev libgwenhywfar47-dev libaqbanking29-dev dget --build -u http://mister-muffin.de/pyneo/deb-sources/pyneo-pybankd_1.26-1.dsc dpkg -i pyneo-pybankd_1.26-1_mipsel.deb
If you ever do a `du` and a `df -sch /` and compare the numbers you will see a huge difference (du is 50% of df here). Don’t be scared, this is ubifs’s on-the-fly compression feature.
Try to shutdown the Nano orderly always. Ubifs has no fsck or the like to repair a corrupted filesystem. So always issue an `halt` or `shutdown` when done.