マイコン工作実験日記

Microcontroller を用いての工作、実験記録

Linuxをブートしてみる

2009-03-17 22:27:49 | ARM9


昨日の続きです。とりあえず、火を入れてLinuxをブートしてみました。電源は秋月の9Vアダプタを使用。コンソールはヌルモデム・ケーブルを使って、JTAGの仮想シリアルポート経由でPCのUSBにつないでいます。AT91SAM9260データシートのブート仕様から調べて、通信速度を115,200bpsにするとメッセージが見えてきました。
RomBOOT
>AT91Boot-20081201


U-Boot 1.1.5 (Sep  5 2008 - 10:23:06)

DRAM:  64 MB
NAND:  NAND device: Manufacturer ID: 0x2c, Chip ID: 0xd3 (Micron NAND 1GiB 3,3V 8-bit)
NAND: Pagesize: 2048, Blocksize: 256K, OOBsize: 64
1024 MiB
In:    serial
Out:   serial
Err:   serial
DM9161A PHY Detected
No link
MAC: error during RMII initialization
Hit any key to stop autoboot:  1  0 

NAND read: device 0 offset 2097152, size 1290208 ...  1290208 bytes read: OK
## Booting image at 22200000 ...
   Image Name:   Linux-2.6.28-rc6
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1290144 Bytes =  1.2 MB
   Load Address: 20008000
   Entry Point:  20008000
   Verifying Checksum ... OK
OK

Starting kernel ...

Linux4SAMの説明を参考にすると、ブート手順は次のようになっているようです。
  1. まず最初にMCU内のROMブートが動いてNANDフラッシュからAT91Bootを4KBのSRAMにロードして、こいつに制御を移す。
  2. AT91Bootは最低限必要な初期化をおこない、フラッシュからU-Bootを読み出しDRAM内にロードして制御を移す。
  3. U-BootがLinuxをロードして制御を移す。

この後、Linuxの起動メッセージが出力されるのですが、途中でちょっと気になる出力が。。。
NAND device: Manufacturer ID: 0x2c, Chip ID: 0xd3 (Micron NAND 1GiB 3,3V 8-bit)
Scanning device for bad blocks
Bad eraseblock 272 at 0x04400000
Bad eraseblock 310 at 0x04d80000
Bad eraseblock 318 at 0x04f80000
Bad eraseblock 319 at 0x04fc0000
Bad eraseblock 360 at 0x05a00000
Bad eraseblock 695 at 0x0adc0000
Bad eraseblock 1060 at 0x10900000
Bad eraseblock 1159 at 0x121c0000
Bad eraseblock 1257 at 0x13a40000
Bad eraseblock 1385 at 0x15a40000
Bad eraseblock 1736 at 0x1b200000
Bad eraseblock 2214 at 0x22980000
Bad eraseblock 2472 at 0x26a00000
Bad eraseblock 2873 at 0x2ce40000
Bad eraseblock 3156 at 0x31500000
Bad eraseblock 3425 at 0x35840000
Bad eraseblock 3478 at 0x36580000
Bad eraseblock 3704 at 0x39e00000
Bad eraseblock 3905 at 0x3d040000

1GBもあると、この程度はBad blockがあるものなのでしょうか?

ブートが終わったところで、リターンを押してみるとプロンプトが出てきました。
BusyBox v1.11.3 (2008-12-03 11:05:39 CET) built-in shell (ash)
Enter 'help' for a list of built-in commands.

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 KAMIKAZE (bleeding edge, r13340) -------------------

 Propox MMnet1000
  www.propox.com
 ---------------------------------------------------
root@MMnet:/# 

OpenWrtというワイアレスアクセスポイントの代替え用Linuxディストリが使われているようです。