Updating Ben with an SD/de
Contents |
[edit] Wie aktualisiere ich die installierte Software auf dem Ben NanoNote mit einer SD Karte
- Als erstes lies Updating_Ben_NanoNote_software
- Aktualisiere u-boot ( falls nötig) via usbboot
- Installiere OpenWRT auf der SD Karte mit einer Kopie des rootfs
- Boote OpenWRT von SD Karte
- Nutze die OpenWRT Befehle zum reflashen des Nanonote
[edit] Updating u-boot using usbboot
Starte das NanoNote im USB_BOOT_mode und dann dein Rechner:
$ sudo usbboot :> boot :> nerase 0 8 0 0 :> nprog 0 openwrt-xburst-qi_lb60-u-boot.bin 0 0 -n ... Error - can't read bulk data from Ingenic device ... :> exit
Hinweis: Der nerase Befehl löscht 8 Blöcke, jeder ist 512 KB groß, insgesamt ein 4MB großer ""0-Block.
[edit] Installiere OpenWRT auf die SD-Karte
Uboot hat einer Fehler beim Behandeln mit sehr großen Partitionen. Große Micro-SD-Karten booten nicht. Wenn eine ext2 Partition erstellt wird, stelle sicher, dass diese <= 2GB.
Diese Fehler wurde behoben mit folgenden Commit
Einige Parameter (wie Pfad der SD-Karte) müssen eventuell angepasst werden auf deinem Arbeitsrechner, bevor diese Befehle so ausgeführt werden können:
$ sudo mkfs -t ext2 /dev/mmcblk0p1 $ sudo mount /dev/mmcblk0p1 /mnt $ cd /mnt/ $ wget http://downloads.qi-hardware.com/software/images/Ben_NanoNote_2GB_NAND/latest/openwrt-xburst-qi_lb60-rootfs.tar.gz -O - | sudo tar xz $ mkdir boot $ wget http://downloads.qi-hardware.com/software/images/Ben_NanoNote_2GB_NAND/latest/openwrt-xburst-qi_lb60-uImage.bin -O boot/uImage $ wget http://downloads.qi-hardware.com/software/images/Ben_NanoNote_2GB_NAND/latest/openwrt-xburst-qi_lb60-root.ubi $ cd $ sudo umount /mnt/
[edit] Benutze OpenWRT auf der SD-Karte um das NanoNote zu reflashen
Setze die SD-Karte ins NanoNote, halte die [M]- und Anschaltknopf gedrückt.
[edit] Einstellungen des NAND-Speicher anschauen
root@ben:~# mtdinfo Count of MTD devices: 4 Present MTD devices: mtd0, mtd1, mtd2, mtd3 Sysfs interface supported: yes root@ben:~# mtdinfo -m 1 mtd1 Name: NAND KERNEL partition Type: nand Eraseblock size: 524288 bytes, 512.0 KiB Amount of eraseblocks: 8 (4194304 bytes, 4.0 MiB) Minimum input/output unit size: 4096 bytes Sub-page size: 4096 bytes OOB size: 128 bytes Character device major/minor: 90:2 Bad blocks are allowed: true Device is writable: true # ..oder wenn Ruby installiert ist: cat <<EOF >/root/lsmtd #!/usr/bin/env ruby File.open '/proc/mtd' do |file| file.each_line do |line| if line.match %r'(mtd\d): ([0-9a-f]{8}) [0-9a-f]{8} "([^"]+)"' device, size, name = $1, $2, $3 puts '%s:% 5iMB "%s"'% [ device, size.to_i( 16) / 1_048_576, name] end end end EOF chmod +x /root/lsmtd /root/lsmtd mtd0: 4MB "NAND BOOT partition" mtd1: 4MB "NAND KERNEL partition" mtd2: 256MB "NAND ROOTFS partition" mtd3: 1784MB "NAND DATA partition"
[edit] Den Kernel reflashen
$ flash_eraseall /dev/mtd1 $ nandwrite -p /dev/mtd1 /boot/uImage
[edit] Rootfs reflashen
$ ubiformat /dev/mtd2 -f openwrt-xburst-qi_lb60-root.ubi
Jedwede Änderungen am Rootfs ( wie installierte Pakete) gehen dabei verloren. Stell' sicher, dass die Liste installierte Programme zuvor gesichert wird, wenn du diese benötigst und keine Übersicht darüber hast.
[edit] Um die Datenpartition zu formatieren
WARNUNG: Diese Befehlen löschen alle Daten, die sich auf der Datenpartition befinden |
Klar, man möchte dies nur dann machen, wenn ein Software-Aktualisierung stattfinden soll. Im Auslieferungzustand besitzt das NanoNote 3 Partitionen. Der Kernel und das rootfs bleibt davon unberührt, da diese bereits zuvor evtl. überschrieben wurden sind.
$ ubiformat /dev/mtd3
[edit] Zum Abschluss
$ halt
Entferne die SD-Karte und ( wenn alles funktioniert hat) bootet das the NanoNote in die letzte Version. Wenn nicht, frag uns im IRC.