[[bc10-router]] ~

#contents

* bc10-router/arago-project(danny)/NAND boot [#u70d679b]
bc10 の NAND から[[bc10-router/arago-project(danny)/Ubuntu12.04LTS]]で作成した~
arago-console-image を起動させるための手順について記載します。 ~
~
NAND Boot用イメージの作成、設定の手順は大きく3つあります。~
~
それぞれの手順で使用する環境は異なり、 ~
[[bc10-router/arago-project(danny)/Ubuntu12.04LTS]] に~
記載しています以下の3つの環境を使用します。 ~
- Ubuntu 12.04 LTS ~
- bc10 arago-cosole-image ~
- bc10 u-boot ~

** Ubuntu 12.04 LTS part [#aff46499]
Ubuntu 12.04 LTS 上で以下の作業を行います。~
~
[[bc10-router/arago-project(danny)/Ubuntu12.04LTS]] で作成されている ~
ubiファイルを  NAND Boot 可能なように ubi ファイルの設定、再作成を行います。~
~
ubi ファイルを再作成する理由は [[bc10-router/arago-project(danny)/Ubuntu12.04LTS]] でビルド済みの ~
ubi ファイルに一部 ubi dataではないものがあり NAND Boot ができないためです。~
~
再作成のため mtd-utils を導入します。 ~

 $ sudo apt-get install mtd-utils
arago-console-image の ubi ファイルを rootfs.ubi に変更します。~

 $ cd /home/beat/tisdk/build/arago-tmp-external-linaro-toolchain/deploy/images
 $ cp arago-console-image-beagleboard-20140131034334.rootfs.ubi rootfs.ubi
ubi ファイル作成のため以下のように ubinize.cfg を変更し ubiファイルを再作成し ~
SD カードの Ext3 の領域(本稿では /media/EXT3 と記載)にコピーします。
 
 $ diff -upN __ubinize.cfg_orig ubinize.cfg
 --- __ubinize.cfg_orig  2014-02-06 14:52:27.473188696 +0900
 +++ ubinize.cfg 2014-02-06 14:52:48.297189782 +0900
 @@ -3,5 +3,5 @@ mode=ubi
  image=/home/beat/tisdk/build/arago-tmp-external-linaro-toolchain/deploy/images/arago-console-image-beagleboard-20140131034334.rootfs.ubifs
  vol_id=0
  vol_type=dynamic
 -vol_name=beagleboard-rootfs
 +vol_name=rootfs
  vol_flags=autoresize
 
 $ sudo ubinize -v -o rootfs.ubi -m 2048 -p 128KiB -s 512 ubinize.cfg
 $ sudo cp rootfs.ubi /media/EXT3/.

** bc10 arago-console-image part [#za554dce]
rootfs.ubi をコピーした SD で bc10 を起動します。~
その際 NAND のパーティションを確認し、そのサイズに合わせて ~
uImage、rootfs.ubi を NAND に書き込みます。 ~

 NAND パーティションの確認
 # cat /proc/mtd
 dev:    size   erasesize  name
 mtd0: 00080000 00020000 "X-Loader"
 mtd1: 001e0000 00020000 "U-Boot"
 mtd2: 00020000 00020000 "U-Boot Env"
 mtd3: 00400000 00020000 "Kernel"
 mtd4: 1f980000 00020000 "File System"
 
 uImage の書き込み
 # cd /boot/
 root@beagleboard:/boot# ls
 uImage        uImage-3.3.7
 root@beagleboard:/boot# flash_erase /dev/mtd3 0 0
 Erasing 128 Kibyte @ 3e0000 -- 100 % complete
 # nandwrite -p /dev/mtd3 uImage
 Writing data to block 0 at offset 0x0
 Writing data to block 1 at offset 0x20000
 ...<snip>
 Writing data to block 26 at offset 0x340000
 
 rootfs.ubi の書き込み
 # ubiformat -y /dev/mtd4 -f rootfs.ubi
 ubiformat: mtd4 (nand), size 530055168 bytes (505.5 MiB), 4044 eraseblocks of 131072 bytes (128.0 KiB), min. I/O size 2048 bytes
 libscan: scanning eraseblock 4043 -- 100 % complete
 ubiformat: 4039 eraseblocks are supposedly empty
 ubiformat: 5 bad eraseblocks found, numbers: 89, 107, 731, 881, 2852
 ubiformat: flashing eraseblock 321 -- 100 % complete
 ubiformat: formatting eraseblock 4043 -- 100 % complete

完了後 bc10 を再起動し u-boot のプロンプトを起動します。~

** bc10 u-boot part [#b0de5176]
u-boot プロンプト上で MLO、u-boot.img を NAND に書き込みます。~

 MLO の書き込み
 OMAP3 beagleboard.org # mmc rescan 0
 OMAP3 beagleboard.org # fatload mmc 0 ${loadaddr} MLO
 reading MLO
 
 44580 bytes read
 OMAP3 beagleboard.org # nandecc hw
 HW ECC selected
 OMAP3 beagleboard.org # nand erase 0 80000
 
 NAND erase: device 0 offset 0x0, size 0x80000
 Erasing at 0x60000 -- 100% complete.
 OK
 OMAP3 beagleboard.org # nand write ${loadaddr} 0 ${filesize}
 
 NAND write: device 0 offset 0x0, size 0xae24
  44580 bytes written: OK
 OMAP3 beagleboard.org # nand write ${loadaddr} 20000 ${filesize}
 
 NAND write: device 0 offset 0x20000, size 0xae24
  44580 bytes written: OK
 OMAP3 beagleboard.org # nand write ${loadaddr} 40000 ${filesize}
 
 NAND write: device 0 offset 0x40000, size 0xae24
  44580 bytes written: OK
 OMAP3 beagleboard.org # nand write ${loadaddr} 60000 ${filesize}
 
 NAND write: device 0 offset 0x60000, size 0xae24
  44580 bytes written: OK
 
 u-boot.img の書き込み
 OMAP3 beagleboard.org # mmc rescan 0
 OMAP3 beagleboard.org # fatload mmc 0 ${loadaddr} u-boot.img
 reading u-boot.img
 
 336184 bytes read
 OMAP3 beagleboard.org # nandecc hw
 HW ECC selected
 OMAP3 beagleboard.org # nand erase 80000 1c0000
 
 NAND erase: device 0 offset 0x80000, size 0x1c0000
 Erasing at 0x220000 -- 100% complete.
 OK
 OMAP3 beagleboard.org # nand write ${loadaddr} 80000 ${filesize}
 
 NAND write: device 0 offset 0x80000, size 0x52138
  336184 bytes written: OK
 OMAP3 beagleboard.org #

以上で NAND Bootの書き込みは完了です。 ~
~
一度電源を落として SD カードを抜き、再度 bc10 を起動します。 ~
bc10 が SD カード無し(NAND Boot)できることを確認します。 ~
~
注:まれに正しく書き込めている状態でも、Boot時に以下のメッセージが表示されることがあります。~

 uncorrectable error :

その際は再起動もしくは電源の入れなおしをおこなってください。~

*** NAND への書き込みを失敗時と SD Boot への戻し方 [#k3dc5d50]

仮に NAND への書き込みに失敗した場合とSD Boot への戻し方は同じ手順です。~
bc10 を再起動後 u-boot プロンプトを起動し、~
以下のコマンドを実行し NAND の全データを消去します。 ~
 
 # nand erase.chip

削除後電源を落とし再度電源を入れた際、以下の表示で止まれば ~
削除は成功です。~

 40w


* bc10 NAND Boot Log [#ccdfeb6e]
bc10 NAND Boot 時の Log の一部を以下に記載します。~

 U-Boot SPL 2012.04.01 (Jan 28 2014 - 19:49:35)
 ...<snip>...
 Booting from nand ...
 
 NAND read: device 0 offset 0x280000, size 0x400000
  4194304 bytes read: OK
 ## Booting kernel from Legacy Image at 80007fc0 ...
    Image Name:   Linux-3.3.7
    Image Type:   ARM Linux Kernel Image (uncompressed)
    Data Size:    3413048 Bytes = 3.3 MiB
    Load Address: 80008000
    Entry Point:  80008000
    Verifying Checksum ... OK
    XIP Kernel Image ... OK
 OK
 
 Starting kernel ...
 ...<snip>...
 [    0.944183] NAND device: Manufacturer ID: 0x2c, Chip ID: 0xbc (Micron NAND 512MiB 1,8V 16-bit)
 [    0.954223] Creating 5 MTD partitions on "omap2-nand.0":
 [    0.959808] 0x000000000000-0x000000080000 : "X-Loader"
 [    0.966796] 0x000000080000-0x000000260000 : "U-Boot"
 [    0.974029] 0x000000260000-0x000000280000 : "U-Boot Env"
 [    0.980926] 0x000000280000-0x000000680000 : "Kernel"
 [    0.989013] 0x000000680000-0x000020000000 : "File System"
 [    1.199310] UBI: attaching mtd4 to ubi0
 [    1.203338] UBI: physical eraseblock size:   131072 bytes (128 KiB)
 [    1.209960] UBI: logical eraseblock size:    129024 bytes
 [    1.215667] UBI: smallest flash I/O unit:    2048
 [    1.220642] UBI: sub-page size:              512
 [    1.225494] UBI: VID header offset:          512 (aligned 512)
 [    1.231628] UBI: data offset:                2048
 [    2.183929] UBI: max. sequence number:       10
 [    2.202484] UBI: attached mtd4 to ubi0
 [    2.206512] UBI: MTD device name:            "File System"
 [    2.212310] UBI: MTD device size:            505 MiB
 [    2.217529] UBI: number of good PEBs:        4039
 [    2.222473] UBI: number of bad PEBs:         5
 [    2.227142] UBI: number of corrupted PEBs:   0
 [    2.231842] UBI: max. allowed volumes:       128
 [    2.236694] UBI: wear-leveling threshold:    4096
 [    2.241638] UBI: number of internal volumes: 1
 [    2.246337] UBI: number of user volumes:     1
 [    2.251007] UBI: available PEBs:             0
 [    2.255676] UBI: total number of reserved PEBs: 4039
 [    2.260925] UBI: number of PEBs reserved for bad PEB handling: 40
 [    2.267333] UBI: max/mean erase counter: 1/0
 [    2.271820] UBI: image sequence number:  86612789
 [    2.277465] usbcore: registered new interface driver catc
 ...<snip>...
 [    5.085510] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
 [    5.126647] UBIFS: recovery needed
 [    5.227508] UBIFS: recovery completed
 [    5.231384] UBIFS: mounted UBI device 0, volume 0, name "rootfs"
 [    5.237731] UBIFS: file system size:   256112640 bytes (250110 KiB, 244 MiB, 1985 LEBs)
 [    5.246185] UBIFS: journal size:       9033728 bytes (8822 KiB, 8 MiB, 71 LEBs)
 [    5.253875] UBIFS: media format:       w4/r0 (latest is w4/r0)
 [    5.260040] UBIFS: default compressor: lzo
 [    5.264343] UBIFS: reserved for root:  0 bytes (0 KiB)
 [    5.270599] VFS: Mounted root (ubifs filesystem) on device 0:14.
 [    5.277740] devtmpfs: mounted
 [    5.281372] Freeing init memory: 216K
 INIT: version 2.88 booting
 ...<snip>...
 Stopping Bootlog daemon: bootlogd.
 
  _____                    _____           _         _
 |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
 |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
 |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
               |___|                    |___| 
 
 Arago Project http://arago-project.org beagleboard ttyO2
 
 Arago 2013.06 beagleboard ttyO2
 
 beagleboard login:

* 更新履歴 [#s2c9f05c]
2014/02/06 初稿公開 ~

RIGHT:syariten



BC::labsへの質問は、bc9-dev @ googlegroups.com までお願い致します。
トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   最終更新のRSS