ユーザ用ツール

サイト用ツール


mae3xx_ope:firmware_update:start

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
mae3xx_ope:firmware_update:start [2014/12/09 11:07]
admin
mae3xx_ope:firmware_update:start [2020/08/12 08:21] (現在)
admin
ライン 1: ライン 1:
 +====== ファームウェアの更新 ======
 +
 +===== 本体ファームウェアの更新 =====
 +
 +==== bootloaderからの更新 ====
 +
 +FATでフォーマットされたSDカードにファームウェアファイルをコピーして挿入し、電源を投入します。\\
 +自動起動待ちのプロンプトが表示されたら即Enterキーを入力し、自動起動を停止させます。
 +
 +<​code>​
 +barebox 2013.12.0-00316-g4095a93 #487 Thu Mar 6 15:54:40 JST 2014
 +
 +
 +Board: plum-ma[512MiB]
 +nand: ONFI param page 0 valid
 +nand: ONFI flash detected
 +nand: NAND device: Manufacturer ID: 0x01, Chip ID: 0xda (AMD/​Spansion S34ML02G1), 256MiB, page size: 2048, OOB 
 +size: 64
 +omap-hsmmc omap4-hsmmc0:​ registered as omap4-hsmmc0
 +mci0: registered disk0
 +m25p80 m25p800: m25p16 (2048 Kbytes)
 +i2c-omap i2c-am33xx0:​ bus 0 rev0.11 at 100 kHz
 +cpsw cpsw0: detected phy mask 0xc
 +mdio_bus: miibus0: probed
 +eth0: got preset MAC address: D0:​FF:​50:​B2:​4A:​90
 +malloc space: 0x8e000000 -> 0x9dffffff (size 256 MiB)
 +Reset is caused by "Warm Reset"​.
 +envfs: wrong magic on /dev/env0
 +no valid environment found on /dev/env0. Using default environment
 +running /​env/​bin/​init...
 +* mounting /​dev/​disk0.0 to /boot (filesystem type: fat)
 +* mounting /​dev/​disk0.1 to /mnt/mmc1 (filesystem type: ext4)
 +ext4 ext40: EXT2 rev 1, inode_size 256
 +UBI: attaching mtd0 to ubi0
 +UBI: scanning is finished
 +registering /dev/ubi0
 +registering kernel.0 as /​dev/​ubi0.kernel.0
 +registering kernel.1 as /​dev/​ubi0.kernel.1
 +registering initramfs.0 as /​dev/​ubi0.initramfs.0
 +registering initramfs.1 as /​dev/​ubi0.initramfs.1
 +registering kmod.0 as /​dev/​ubi0.kmod.0
 +registering kmod.1 as /​dev/​ubi0.kmod.1
 +registering rootfs.0 as /​dev/​ubi0.rootfs.0
 +registering rootfs.1 as /​dev/​ubi0.rootfs.1
 +registering opt as /​dev/​ubi0.opt
 +registering overlay as /​dev/​ubi0.overlay
 +UBI: attached mtd0 (name "​nand0.UBI",​ size 255 MiB) to ubi0
 +UBI: PEB size: 131072 bytes (128 KiB), LEB size: 129024 bytes
 +UBI: min./max. I/O unit sizes: 2048/2048, sub-page size 512
 +UBI: VID header offset: 512 (aligned 512), data offset: 2048
 +UBI: good PEBs: 2040, bad PEBs: 0, corrupted PEBs: 0
 +UBI: user volume: 10, internal volumes: 1, max. volumes count: 128
 +UBI: max/mean erase counter: 10/7, WL threshold: 4096, image sequence number: 7535
 +UBI: available PEBs: 0, total reserved PEBs: 2040, PEBs reserved for bad PEB handling: 40
 +
 +Hit m for menu or any other key to stop autoboot: ​ 1
 +
 +type exit to get to the menu
 +barebox@plum-ma[512MiB]:/ ​
 +</​code>​
 +
 +\\
 +
 +SDカードは自動的に /boot にマウントされます。\\
 +SDカードにコピーしたファームウェアファイルを指定して "​firmup"​ コマンドを実行します。\\
 +
 +引数は下記のとおりです。Linux 起動前でファイルシステムが mount されていないため、明示的にエリア (0 or 1) を指定することもできます。\\
 +指定しない場合、古いファームウェアが入っているエリアが自動選択されます。
 +
 +<​code>​
 +barebox@plum-ma[512MiB]:/​ firmup ​
 +usage: firmup [firmware_file] <0|1>
 +barebox@plum-ma[512MiB]:/​
 +</​code>​
 +
 +<​code>​
 +barebox@plum-ma[512MiB]:/​ firmup /​boot/​firmware.img ​
 +### MA-E3xx series firmware updater
 +firm area to write: 1
 +firm_dual: ​         1
 +* image file for "​kernel"​ found.
 +  copying kernel image to /​dev/​ubi0.kernel.1 ...
 +* image file for "​kmod"​ found.
 +  copying kmod image to /​dev/​ubi0.kmod.1 ...
 +* image file for "​initramfs"​ found.
 +  copying initramfs image to /​dev/​ubi0.initramfs.1 ...
 +* image file for "​rootfs"​ found.
 +  copying rootfs image to /​dev/​ubi0.rootfs.1 ...
 +* image file for "​dtb"​ found.
 +  erasing /​dev/​spi.dtb.1 ...
 +  copying dtb(DeviceTree) image to /​dev/​spi.dtb.1 ...
 +* image file for "​barebox.bin"​ found.
 +  erasing /​dev/​spi.barebox ...
 +  copying barebox image to /​dev/​spi.barebox ...
 +  erasing barebox environments (/dev/env0) ...
 +update finished.
 +</​code>​
 +
 +これで完了です。\\
 +新しいファームウェアで起動できます。
 +
 +<​code>​
 +barebox@plum-ma[512MiB]:/​ boot
 +booting nand
 +firm_kind0: 1
 +firm_area0: 1
 +dipsw: ​     0
 +[5] boot with latest firmware succeeded.
 +bootm.image: ​          /​dev/​ubi0.kernel.1
 +bootm.oftree: ​         /​dev/​spi.dtb.1
 +bootm.initrd: ​         /​dev/​ubi0.initramfs.1
 +bootargs.dyn.root: ​    ​root=AREA=1 aufs=tmpfs
 +bootargs.dyn.watchdog:​ omap_wdt.start_at_boot=1 omap_wdt.timer_margin=120
 +bootargs.dyn.console: ​ console=ttyO0,​115200
 +boot_info: ​            0x11
 +bootargs.dyn.cleanboot ​
 +i2c0: timed out on polling for open i2c message handling
 +[3] ioctl(RTC_RD_TIME) failed, Connection timed out
 +   Image Name:   ​Linux-3.14.0-rc5+
 +   ​Created: ​     2014-03-06 ​  ​0:​35:​27 UTC
 +   ​OS: ​          Linux
 +   ​Architecture:​ ARM
 +   ​Type: ​        ​Kernel Image
 +   ​Compression: ​ uncompressed
 +   Data Size:    3292080 Bytes = 3.1 MiB
 +   Load Address: 80008000
 +   Entry Point: ​ 80008000
 +
 +Loading OS U-Boot uImage '/​dev/​ubi0.kernel.1'​
 +Loading devicetree from '/​dev/​spi.dtb.1'​
 +plum_of_fixup:​ eXternal I/O board'​s ID is 0x03, fixup device-tree...
 +commandline:​ ubi.mtd=0 mtdoops.mtddev=OOPS mtdoops.record_size=8192 zswap.enabled=1 ​ root=AREA=1 aufs=tmpfs omap_wdt.start_at_boot=1
 +omap_wdt.timer_margin=120 console=ttyO0,​115200 ​
 +booting kernel with devicetree
 +[    0.000000] Booting Linux on physical CPU 0x0
 +[    0.000000] Initializing cgroup subsys cpuset
 +[    0.000000] Initializing cgroup subsys cpu
 +[    0.000000] Initializing cgroup subsys cpuacct
 +・・・・
 +</​code>​
 +
 +\\
 +
 +==== Linuxからの更新 ====
 +
 +sftpなどでファームウェアを実機に転送するなどして、ファイルを準備します。\\
 +root権限で "​firmup"​ コマンドを実行します。
 +
 +<​code>​
 +root@plum:​~#​ firmup /​tmp/​firmware.img ​
 +### MA-E3xx series firmware update utility (for 2-area firmware).
 +Updating AREA: 0 ...
 +* image file for kernel found.
 +  writing "​kernel"​ image to /​dev/​mtdblock2 ... succeeded.
 +* image file for kmod found.
 +  writing "​kmod"​ image to /​dev/​mtdblock6 ... succeeded.
 +* image file for initramfs found.
 +  writing "​initramfs"​ image to /​dev/​mtdblock4 ... succeeded.
 +* image file for rootfs found.
 +  writing "​rootfs"​ image to /​dev/​mtdblock8 ... succeeded.
 +* DTB file found.
 +  writing "​dtb"​ image to /dev/mtd15 ... succeeded.
 +* Bootloader file found.
 +  writing "​barebox.bin"​ image to /dev/mtd13 ... succeeded.
 +Succeeded.
 +</​code>​
 +
 +これで完了です。\\
 +次回から、更新したファームウェアの面で起動します。
 +
 +\\
 +
 +=== firmup コマンドについて ===
 +
 +Linux で動作する firmup コマンドの書式は下記のとおりとなっています。
 +
 +<​code>​
 +user1@plum:​~$ sudo firmup --help
 +[sudo] password for user1: ​
 +### MA-E3xx series firmware update utility (for 2-area firmware).
 +usage: firmup <​firmware_file>​ [0|1|c|o]
 +  update area selection:
 +    0/1 : area0/area1
 +     ​c ​ : current
 +     ​o ​ : other
 +user1@plum:​~$ ​
 +</​code>​
 +
 +\\
 +
 +アップデートするファームウェアファイルの形式によっては、ファームアップ対象のエリアを明示的に指定することができます。
 +
 +^  エリア指定 ​ ^  アップデート対象 ​ |
 +|  0  |エリア0 ​ |
 +|  1  |エリア1 ​ |
 +|  c  |現在使用中のエリア ​ |
 +|  o  |現在使用中でない方のエリア ​ |
 +
 +ルートファイルシステムの更新を含まない場合に限り、更新する対象のエリアを指定することが可能です。\\
 +ルートファイルシステムの更新を含む場合、更新対象は現在使用中でないエリアに限られます。
 +
 +\\
 +
 +===== LTE Module ファームウェアの更新 =====
 +
 +ファームウェア更新をサポートしている LTE Module((現時点では、AMTelecom 製 AMM570/​AMP520 がサポートしています)) は、Linux 上でファームウェアの更新が可能です。\\
 +[[download_software:​lte_module:​start|ここ]] からファームウェアのファイルをダウンロードし、''​firmup''​ コマンドで本体ファームウェア更新と同じように実行してください。
 +
 +\\
  
mae3xx_ope/firmware_update/start.txt · 最終更新: 2020/08/12 08:21 by admin