U-Bootリファレンスマニュアル
ブートローダU-Bootのリファレンスマニュアルです。
このドキュメントが対象とするのは、 Bishopに移植されたU-Bootのみです。U-Bootがサポートする他のターゲットについては扱いません。
- 1. シリアルコンソール
- 2. 起動
- 3. コマンドマニュアル
- 3.1. help
- 3.2. ?
- 3.3. autscr
- 3.4. base
- 3.5. bdinfo
- 3.6. boot
- 3.7. bootd
- 3.8. bootelf
- 3.9. bootm
- 3.10. bootp
- 3.11. bootvx
- 3.12. cmp
- 3.13. coninfo
- 3.14. cp
- 3.15. crc32
- 3.16. date
- 3.17. dcache
- 3.18. dhcp
- 3.19. echo
- 3.20. erase
- 3.21. flinfo
- 3.22. go
- 3.23. help
- 3.24. icache
- 3.25. iminfo
- 3.26. imls
- 3.27. in
- 3.28. itest
- 3.29. loadb
- 3.30. loads
- 3.31. loady
- 3.32. loop
- 3.33. md
- 3.34. mm
- 3.35. mtest
- 3.36. mw
- 3.37. nand
- 3.37.1. nand info
- 3.37.2. nand device
- 3.37.3. nand read
- 3.37.4. nand write
- 3.37.5. nand erase
- 3.37.6. nand bad
- 3.37.7. nand dump
- 3.37.8. nand scrub
- 3.37.9. nand markbad
- 3.37.10. nand biterr
- 3.37.11. nand lock
- 3.37.12. nand unlock
- 3.38. nboot
- 3.39. nfs
- 3.40. nm
- 3.41. out
- 3.42. ping
- 3.43. printenv
- 3.44. protect
- 3.45. rarpboot
- 3.46. reset
- 3.47. run
- 3.48. saveenv
- 3.49. setenv
- 3.50. sleep
- 3.51. tftpboot
- 3.52. version
- 4. 環境変数
- 4.1. autostart
- 4.2. bootaddr
- 4.3. bootargs
- 4.4. bootcmd
- 4.5. bootdelay
- 4.6. bootdevice
- 4.7. bootfile
- 4.8. dnsip
- 4.9. dnsip2
- 4.10. domain
- 4.11. filesize
- 4.12. gatewayip
- 4.13. ipaddr
- 4.14. loadaddr
- 4.15. loads_echo
- 4.16. netmask
- 4.17. nvlan
- 4.18. quiet
- 4.19. rootpath
- 4.20. serverip
- 4.21. splashimage
- 4.22. stderr
- 4.23. stdin
- 4.24. stdout
- 4.25. ver
- 4.26. verify
- 4.27. vlan
- 5. 出荷時の環境変数
- 6. リンク
1. シリアルコンソール
minicom などのシリアルコンソールを用意します。
シリアルコンソールの設定については クイックスタート を参照してください。
2. 起動
ボードの電源を入れるとU-Bootが起動します。シリアル端末の表示は以下のようになります。
U-Boot 1.2.0-pylone2 (Aug 1 2007 - 18:57:27) DRAM: 128 MB Flash: 4 MB NAND: 128 MiB In: serial Out: serial Err: serial Hit any key to stop autoboot: 3
そのままにしておくと、3秒後に起動します。3秒以内に任意のキーを押すとコマンドプロンプトが表示され、モニタコマンドの入力ができる状態になります。
Bishop #
任意のキー入力を待つ時間である3秒は、環境変数 bootdelay によって変更することができます。環境変数を変更する方法については後述します。
モニタコマンドの例として、helpコマンドを紹介します。コマンドプロンプトが表示されたら "help"と入力してenterキーを押してください。コマンドの一覧が表示される筈です。
Bishop # help ? - alias for 'help' autoscr - run script from memory base - print or set address offset bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootelf - Boot from an ELF image in memory bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol bootvx - Boot vxWorks from an ELF image cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation date - get/set/reset date & time dcache - enable or disable data cache dhcp - invoke DHCP client to obtain IP/boot params echo - echo args to console erase - erase FLASH memory flinfo - print FLASH memory information go - start application at address 'addr' help - print online help icache - enable or disable instruction cache iminfo - print header information for application image imls - list all images found in flash in - read data from an IO port itest - return true/false on integer compare loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nand - NAND sub-system nboot - boot from NAND device nfs - boot image via network using NFS protocol nm - memory modify (constant address) out - write datum to IO port ping - send ICMP ECHO_REQUEST to network host printenv- print environment variables protect - enable or disable FLASH write protection rarpboot- boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage setenv - set environment variables sleep - delay execution for some time tftpboot- boot image via network using TFTP protocol version - print monitor version
3. コマンドマニュアル
3.1. help
コマンドの一覧を表示:
Bishop # help
コマンドの説明を表示:
Bishop # help <コマンド名 ...>
例: sleepコマンドの説明を表示:
Bishop # help sleep
sleep N
- delay execution for N seconds (N is _decimal_ !!!)3.2. ?
help コマンドのエイリアス (別名) です。
3.3. autscr
スクリプトを実行します。
3.4. base
メモリ系コマンド (cmd, cp, crc32, md, mm. mw, nm) のオフセットを設定します。
オフセットを 30000000h に設定:
Bishop # base 30000000 Base Address: 0x30000000
現在のオフセットを表示:
Bishop # base Base Address: 0x00000000
3.5. bdinfo
ボード情報構造体の内容を表示します。
arch_number = 0x00000597 env_t = 0x00000000 boot_params = 0x30000100 DRAM bank = 0x00000000 -> start = 0x30000000 -> size = 0x08000000 ethaddr = 00:1D:2D:00:00:0B ip_addr = 192.168.1.200 baudrate = 115200 bps
Bishop は環境変数 ethaddr を参照しません。 ethaddr の値と実際の MAC アドレスは異なります。
3.6. boot
環境変数bootcmdの内容を実行します。
3.7. bootd
bootコマンドの古い名前です。後方互換性のために残されています。
3.8. bootelf
ELFイメージをブートします。
3.9. bootm
U-Boot形式のイメージをブートします。
3.10. bootp
...
3.11. bootvx
VxWorksをブートします。
bootvx コマンドはサポート対象外です。
3.12. cmp
メモリを比較します。
30900000h と 00040000h を 64KB (0x10000)比較:
Bishop # cmp.b 30900000 40000 10000
.b はバイトアクセスを意味します。.w で ワードアクセス、.l でダブルワードアクセスになります。
3.13. coninfo
コンソールデバイスの一覧を表示します。
Bishop # coninfo List of available devices: vga 80000002 S.O serial 80000003 SIO stdin stdout stderr nulldev 80000003 SIO
3.14. cp
...
3.15. crc32
CRC32 多項式計算を行います。
00040000h から 000400ff の CRC32 を計算:
Bishop # crc32 40000 100 CRC32 for 00040000 ... 000400ff ==> 55fdac87
00040000h 〜 000400ffh の CRC32 を計算して結果を 30900000h に保存:
Bishop # crc32 40000 100 30900000 CRC32 for 00040000 ... 000400ff ==> 55fdac87 Bishop # md 30900000 1 30900000: 55fdac87 ...U
3.16. date
RTC の日時を設定します。
RTC の日時を表示:
Bishop # date
RTC を 2007年08月11日 16時14分 に設定:
Bishop # date 0811161407
RTC を 2007年08月11日 16時14分30秒 に設定:
Bishop # date 0811161407.30
BishopにプリインストールされるDebianはRTCがUTCであることを期待する設定になっています。U-Bootから日時を設定する場合は時差を考慮して設定してください。例えば、JSTで2007-08-12 01:16を設定したい場合、UTCの2007-08-11 16:16を設定します。
3.17. dcache
D-cacheの有効/無効を設定します。
3.18. dhcp
...
3.19. echo
テキストを表示します。
Bishop # echo Hello World! Hello World!
3.20. erase
NORフラッシュメモリを消去します。
NORのセクタ58から69を消去
Bishop # erase 1:58-69 Erase Flash Sectors 58-69 in Bank # 1 ............ done
"1:58-69" は「1番目の NOR フラッシュメモリのセクタ58から69」を表します。 Bishop の場合、NOR はひとつだけなので常に "1:" を指定します。
3.21. flinfo
NOR フラッシュメモリの情報を表示します。
Bishop # flinfo Bank # 1: CFI conformant FLASH (16 x 16) Size: 4 MB in 71 Sectors AMD Standard command set, Manufacturer ID: 0xC2, Device ID: 0xA8 Erase timeout: 16384 ms, write timeout: 1 ms Sector Start Addresses: 00000000 RO 00002000 RO 00004000 RO 00006000 RO 00008000 RO 0000A000 RO 0000C000 RO 0000E000 RO 00010000 RO 00020000 RO 00030000 00040000 00050000 00060000 00070000 00080000 00090000 000A0000 000B0000 000C0000 000D0000 000E0000 000F0000 00100000 00110000 00120000 00130000 00140000 00150000 00160000 00170000 00180000 00190000 001A0000 001B0000 001C0000 001D0000 001E0000 001F0000 00200000 00210000 00220000 00230000 00240000 00250000 00260000 00270000 00280000 00290000 002A0000 002B0000 002C0000 002D0000 002E0000 002F0000 00300000 00310000 00320000 00330000 00340000 00350000 00360000 00370000 00380000 00390000 003A0000 003B0000 003C0000 003D0000 003E0000 003F0000 RO
3.22. go
指定したアドレスのアプリケーションを開始します。
3.23. help
モニタコマンドのヘルプを表示します。
3.24. icache
I-cache の有効/無効を設定します。
I-cache を有効:
Bishop # icache on Instruction Cache is ON
I-cache を無効:
Bishop # icache off Instruction Cache is OFF
現在の状態を表示:
Bishop # icache Instruction Cache is ON
3.25. iminfo
U-Boot形式イメージのヘッダ情報を表示します。
00040000hにあるイメージのヘッダ情報を表示:
Bishop # iminfo 40000 Image Name: Linux-2.6.22.1-pylone0 Created: 2007-08-01 17:22:53 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 1787036 Bytes = 1.7 MB Load Address: 30008000 Entry Point: 30008000 Verifying Checksum ... OK
3.26. imls
U-Boot形式イメージの一覧を表示します。
Bishop # imls Image at 00040000: Image Name: Linux-2.6.22.1-pylone0 Created: 2007-08-01 17:22:53 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 1787036 Bytes = 1.7 MB Load Address: 30008000 Entry Point: 30008000 Verifying Checksum ... OK Image at 00330000: Image Name: Ramdisk Image Created: 2007-07-29 18:21:03 UTC Image Type: ARM Linux RAMDisk Image (gzip compressed) Data Size: 638976 Bytes = 624 kB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK
NORのイメージ一覧が表示されます。SDRAMにあるイメージは表示されません。
3.27. in
IO ポートから入力します。
3.28. itest
...
3.29. loadb
シリアル経由で バイナリファイルをロードします(kermit モード)。
3.30. loads
シリアル経由で S-Record 形式のファイルをロードします。
3.31. loady
シリアル経由で バイナリファイルをロードします(ymodem モード)。
3.32. loop
...
3.33. md
メモリ (SDRAM, NOR) の内容を表示します。
30000000h - 300000FFh を表示:
Bishop # md.b 30000000 100
.b はバイトアクセスを意味します。.w で ワードアクセス、.l でダブルワードアクセスになります。
3.34. mm
アドレスをインクリメントしながら対話形式でメモリを変更します。
Bishop # mm.l 30900000 30900000: 00000000 ? deadbeaf 30900004: 00000000 ? deadbeaf 30900008: 00000000 ? deadbeaf 3090000c: 00000000 ? deadbeaf 30900010: 00000000 ? x ← 終了
0123456789abcdef以外の文字で終了できます。
値ではなく"-"(マイナス)を入力することによってアドレスをデクリメントすることもできます。
.b はバイトアクセスを意味します。.w で ワードアクセス、.l でダブルワードアクセスになります。
3.35. mtest
メモリのテストを行います。
Bishop # mtest
{i} Ctrl + C で中断できます。
3.36. mw
メモリに書き込みます。
30900000h〜30901000h に 0xEE を 0x100 バイト書き込む:
Bishop # mw.b 30900000 ee 100
.b はバイトアクセスを意味します。.w で ワードアクセス、.l でダブルワードアクセスになります。
3.37. nand
NAND のコマンドを実行します。
3.37.1. nand info
NAND の情報を表示します。
Bishop # nand info Device 0: NAND 128MiB 3,3V 8-bit, sector size 128 KiB
3.37.2. nand device
NAND デバイスを変更します。
BishopのNANDデバイスはひとつだけなので、このコマンドは使いません。
3.37.3. nand read
NAND を読み込みます。
3.37.4. nand write
NAND に書き込みます。
3.37.5. nand erase
NAND を消去します。
3.37.6. nand bad
3.37.7. nand dump
3.37.8. nand scrub
3.37.9. nand markbad
3.37.10. nand biterr
3.37.11. nand lock
3.37.12. nand unlock
3.38. nboot
NAND 上のイメージをブートします。
nboot コマンドはサポート対象外です。
3.39. nfs
...
3.40. nm
アドレスを固定して対話形式でメモリを変更します。
3.41. out
IO ポートに出力します。
3.42. ping
ネットワーク上のホストに ICMP ECHO_REQUEST を送ります。
192.168.1.1 に ping:
Bishop # ping 192.168.1.1 dm9000 i/o: 0x20000300, id: 0x90000a46 MAC: 00:1d:2d:00:00:0b
環境変数gatewayipにゲートウェイのIPアドレスを設定すれば、ローカルネットワークの外にも送ることができます。
3.43. printenv
設定されている環境変数の一覧を表示します。
Bishop # printenv
3.44. protect
フラッシュのプロテクトを解除します。
3.45. rarpboot
...
3.46. reset
ボードをリセットします。
3.47. run
任意の環境変数に設定されたコマンドを実行します。
3.48. saveenv
現在の環境変数を保存します。
Bishop # saveenv
Bishopの場合、NORの003F0000h〜に保存されます。アドレスマップも参照してください。
3.49. setenv
環境変数を設定します。
環境変数 ipaddr に 192.168.1.5 を設定:
Bishop # setenv ipaddr 192.168.1.5
3.50. sleep
スリープします。
5秒スリープ:
Bishop # sleep 5
3.51. tftpboot
TFTPによるネットワーク起動を行います。
TFTPサーバからU-Boot形式のLinuxカーネル (uImage) を転送して起動:
Bishop # setenv ipaddr <IP アドレス> Bishop # setenv netmask <ネットマスク> Bishop # setenv serverip <TFTP サーバの IP アドレス> Bishop # setenv autostart yes Bishop # tftpboot 30900000 uImage
30900000h は転送先アドレスです。Bishopの場合、30900000h 以降がダウンロード用領域に割り当てられています。詳細はアドレスマップ を参照してください。
tftpbootコマンドの引数がない場合、転送先アドレスとファイル名は、環境変数loadaddrとbootfileの値になります。
Bishop # setenv ipaddr <IP アドレス> Bishop # setenv netmask <ネットマスク> Bishop # setenv serverip <TFTP サーバの IP アドレス> Bishop # setenv autostart yes Bishop # setenv loadaddr 30900000 Bishop # setenv bootfile uImage Bishop # tftpboot
環境変数autostartをyes以外の値に設定することで、起動をしないで転送のみを行うこともできます。フラッシュメモリに書き込むイメージを転送する場合はautostartの値を確認してください。
Bishop # setenv ipaddr <IP アドレス> Bishop # setenv netmask <ネットマスク> Bishop # setenv serverip <TFTP サーバの IP アドレス> Bishop # setenv autostart Bishop # tftpboot 30900000 uImage
出荷状態のBishopではloadaddr=30900000、bootfile=uImageになっています。
3.52. version
U-Boot のバージョンを表示します。
Bishop # version U-Boot 1.2.0-pylone4 (Aug 12 2007 - 23:45:13)
4. 環境変数
4.1. autostart
bootmコマンドの挙動を指定する。
"yes"に設定するとbootp, rarpboot, tftpboot, diskbootの何れかでイメージがダウンロードされた後、自動的にbootmコマンドが実行される。
"no"に設定すると引数またはloadaddr環境変数で指定されたアドレスにイメージをコピーするだけでbootmコマンドは実行されない。
4.2. bootaddr
4.3. bootargs
OSに渡される引数 (Linuxであればカーネルパラメータ)
4.4. bootcmd
bootコマンドまたはbootdelayで指定された遅延時間後に実行されるコマンド
4.5. bootdelay
autoboot(自動的に起動)するまでの遅延時間(秒)。-1でautobootを無効化。
4.6. bootdevice
4.7. bootfile
TFTPでダウンロードするファイル名
4.8. dnsip
4.9. dnsip2
4.10. domain
4.11. filesize
4.12. gatewayip
4.13. ipaddr
4.14. loadaddr
4.15. loads_echo
4.16. netmask
4.17. nvlan
4.18. quiet
4.19. rootpath
4.20. serverip
4.21. splashimage
4.22. stderr
4.23. stdin
4.24. stdout
4.25. ver
versionコマンドで表示されるバージョン文字列です。この環境変数はリードオンリーです。
4.26. verify
nにすると、bootmやautoscriptコマンド実行時にU-Boot形式のチェックサムを確認しません。
4.27. vlan
5. 出荷時の環境変数
| 変数名 | 値 |
|---|---|
| bootdelay | 3 |
| bootargs | root=/dev/mtdblock5 rootfstype=jffs2 |
| netmask | 255.255.255.0 |
| ipaddr | 192.168.0.100 |
| serverip | 192.168.0.1 |
| bootfile | uImage |
| bootcmd | bootm 40000 |
| splashimage | 320000 |
6. リンク
著作権と免責
Copyright © 2012 Pylone, Inc.
この文書の著作権は株式会社パイロンが保有します。
この文書は「現状のまま(as is)」で提供され、明示的であるかどうかを問わず、内容についてなんら保証するものではありません。
この文書には、技術的な誤り、誤植、不適格な表現や未完成部分等を含む可能性があります。従って、この文書は予告無しに追加、変更、削除される可能性があります。
この文書は「クリエイティブ・コモンズ-表示-2.1-日本 以降」(CC-by-2.1 or later) の下で配布されています。