DD-WRTカーネルをネットワークブートする

DD-WRTカーネルvmlinux.bin.l7を展開したvmlinux.binをTFTPサーバ経由でメモリにロードし実行します。

カーネルの展開

カーネルvmlinux.bin.l7をlzmaコマンドで展開します。

$ lzma -d vmlinux.bin.l7 vmlinux.bin

LZMA 4.43 Copyright (c) 1999-2006 Igor Pavlov 2006-06-04

展開され作成されたファイル vmlinux.bin をTFTPサーバが公開するディレクトリ /var/lib/tftpboot にコピーします。
$ cp vmlinux.bin /var/lib/tftpboot

カーネルイメージのロード

RedBootを使ってTFTPサーバからカーネルイメージvmlinux.binをメモリに転送します。

RedBoot> load -h 192.168.1.2 -r -b 0x80041000 vmlinux.bin
Using default protocol (TFTP)
Raw file loaded 0x80041000-0x8029aa37, assumed entry at 0x80041000

カーネルイメージの実行

メモリにロードしたカーネルイメージvmlinux.binを実行します。

RedBoot> exec
Now booting linux kernel:
Base address 0x80030000 Entry 0x80041000
Cmdline :
(省略)

カーネルイメージvmlinux.binの作成

vmlinux から vmlinux.bin を作成します。

$ mips-linux-uclibc-objcopy -O binary vmlinux vmlinux.bin

参考サイト

RedBoot User's Guide
http://www.ecoscentric.com/ecospro/doc.cgi/html/redboot-guide/redboot-guide.html

2011.02.11