カテゴリ
リンク

当サイトは、玄箱PRO (KURO-BOX/Pro)を中心とした組み込み、Linuxと電子工作を扱っています。
会社案内

情報セキュリティおよび個人情報の取り扱いについて


コメントとトラックバックは、spamを予防するために、編集担当が公開の作業をするまで非公開になっています。コメントはそれぞれ投稿した人のものです。

■内蔵フラッシュを書き換える
 USB フラッシュから起動できるようにはなりましたが、カーネルの読み込みにはハードディスクが必要でした。そこで内蔵フラッシュ(NAND 領域 /dev/mtd1)の uImage を書き換え、ハードディスクなしで起動できるか試してみます。

USB flash memory

■準備
 起動用の USB フラッシュ・メモリは「USB フラッシュを rootfs にしてみる」を参考に用意しておきます。つぎに、flash_erase などのコマンドが含まれる mtd-tools を apt-get でインストールしておきます。
apt-get install mtd-tools

■書き込み
 
 update_mtd.sh を使います。最近の玄箱PROの場合はフラッシュ領域の /usr/local/bin/update_mtd.sh にあります。/dev/mtd2 をマウントし、適当な場所にコピーします。
mount -t jjfs2 /dev/mtd2 /mtd cp /mtd/usr/local/bin/update_mtd.sh /usr/local/sbin/
 初期の玄箱PROではスクリプトが付属しないので update_mtd.tar.gz をダウンロードして、適当なディレクトリに展開してください。
tar xzvf update_mtd.tar.gz cp update_mtd.sh /usr/local/sbin/
 コンパイルあるいはダウンロードした Debian 起動用の uImage ファイル(uImage.buffaloファイル)を /boot にコピーします。
cp uImage /boot/uImage.buffalo
書き込みます。
sh /usr/local/sbin/update_mtd.sh uImage
以上で書き込みは終了です。 

■起動テスト
 玄箱PROを再起動して、uBoot が、<<system_bootend>> を出した次の Hit any key to stop autoboot: で何か文字を入力して起動を中断します:
hit any key to switch tftp boot. Hit any key to stop autoboot: 0 <<system_bootend>> Hit any key to stop autoboot: 0
以下を打ち込んで起動します。
setenv bootargs console=ttyS0,115200 root=/dev/sdb1 rootdelay=15 rw panic=5 BOOTVER=1.09 
setenv bootcmd 'nboot $(default_kernel_addr)  0 $(nand_uImage_offset); bootm $(default_kernel_addr)' 
setenv nand_boot yes 
boot
 上の例では、HDD を取り付けたまま USB フラッシュ・メモリから起動しています。HDD を取り外したときは、/dev/sdb1 を /dev/sda1 にします。rootfs は HDD にする場合には、/dev/sda2 にします。また上記の環境変数を nvram コマンドで書き込めば、毎回入力する必要はなくなります。今回はテストだけですので、環境変数の書き込みはしていません。 
 フラッシュ・メモリへの書き込みが失敗した場合に、起動できるHDD環境がないと、フラッシュ・メモリの書き換えが必要になるので注意してください。その場合には玄人志向のファームウェア・アップデートの手順どおりにおこないます(玄箱PROの購入時のファームウェア・バージョンは関係なく、同じ手順で現在の工場出荷時のファームウェアになります)。

 カテゴリ 

 

トラックバック(0)

このブログ記事を参照しているブログ一覧: 内蔵フラッシュのカーネル書き換えと起動

このブログ記事に対するトラックバックURL: http://www.eleki-jack.com/mt/mt-tb.cgi/1093

おすすめ書籍
Powered by
Movable Type 4.1
/*yahoo remove*/