u-bootを1.1.4 => 1.2.0に更新する。
kuroboxHG.dtbというファイルを/boot/に設置する。
u-boot-1.2.0のバイナリは下記で配布されている。
http://mizupc8.bio.mie-u.ac.jp/pukiwiki/index.php?LinkStation%2F%E7%8E%84%E7%AE%B1%2Fkernel#g31b0b2f
u-bootの書き込みとkuroboxHG.dtbの作成は下記を参考にする。
http://www.tkn.mydns.jp/blog/?p=1441
http://yahho.ii2.cc/modules/bwiki/index.php?%B8%BC%C8%A2HG%A1%A1Debian%A1%A1%BC%AB%C2%F0%A5%B5%A1%BC%A5%D0%B2%BD%C1%ED%CA%D4
以下は詳細。
uImage作成のためmkimageをインストールする。
sudo ACCEPT_KEYWORDS="**" emerge -av =dev-embedded/u-boot-tools-2010.12
2.6.27.59で作成したが起動しなかった。
u-bootの画面ではエラーはない。(kuroboxHG.dtbが無いので起動できない)
http://www.kernel.org/pub/linux/kernel/v2.6/longterm/
2.6.25 => 2.6.27以降ではハードウェア情報が別ファイルになる。(2.6.26は未調査)
u-bootも対応済みのものを使う。バイナリを探したところあった。
2.6.27のソースにはkuroboxHGでテスト済みとあるので動く可能性は高い。(2.6.38も同じ)
u-bootを1.2へ更新する。
http://mizupc8.bio.mie-u.ac.jp/pukiwiki/index.php?LinkStation%2F%E7%8E%84%E7%AE%B1%2Fkernel#g31b0b2f
http://mizupc8.bio.mie-u.ac.jp/pukiwiki/index.php?plugin=attach&pcmd=info&file=u-boot-1.2.0-hg.flash.bin&refer=LinkStation%2F%E7%8E%84%E7%AE%B1%2Fkernel
fileu-boot-1.2.0-hg.flash.bin ページ:LinkStation/玄箱/kernel 格納ファイル名:attach/4C696E6B53746174696F6E2FE78E84E7AEB12F6B65726E656C_752D626F6F742D312E322E302D68672E666C6173682E62696E MD5ハッシュ値:c3ae10f906db089213978b71c2a8f3f1 サイズ:183.1KB (187488 bytes) Content-type:application/octet-stream 登録日時:2009/03/26 17:19:25 アクセス数:461
kuroboxHG.dtb を作る。
http://www.tkn.mydns.jp/blog/?p=1441
http://yahho.ii2.cc/modules/bwiki/index.php?%B8%BC%C8%A2HG%A1%A1Debian%A1%A1%BC%AB%C2%F0%A5%B5%A1%BC%A5%D0%B2%BD%C1%ED%CA%D4
linux/arch/powerpc/boot/dtc -f -I dts -O dtb -o /tmp/kuroboxHG.dtb -V 16 linux/arch/powerpc/boot/dts/kuroboxHG.dts cd /boot/ sudo cp -i /tmp/kuroboxHG.dtb .
EMモード。
# cp -i u-boot-1.2.0-hg.flash.bin gentoo/gentoo-20060907/gentoo-20060907-stock/root/ # cd / # tar xvzf /root/hda3/EM_mode_binaries.tar.gz # cd /root/hda3/gentoo/gentoo-20060907/gentoo-20060907-stock/ # mount -t proc none proc/ # mount -o bind /dev dev/ # chroot . /bin/bash
# source /etc/profile # export PS1="(chroot) $PS1" # md5sum /root/u-boot-1.2.0-hg.flash.bin c3ae10f906db089213978b71c2a8f3f1 /root/u-boot-1.2.0-hg.flash.bin # ls -al /dev/fl2 brw-rw-r-- 1 root root 250, 2 Nov 28 2002 /dev/fl2 ### 引き返せないコマンド!!!表示なしで成功??? # cat /root/u-boot-1.2.0-hg.flash.bin > /dev/fl2 #
成功した。微妙にバージョン増えた。
$ uname -a Linux kuroboxhg 2.6.27.59 #1 Fri Jun 3 00:53:28 JST 2011 ppc 82xx Linkstation I/Kurobox(HG) GNU/Linux
ncの番号が変わった。
$ sudo ifconfig br0:0 192.168.10.21 netmask 255.255.255.0 $ nc -n -u -s 192.168.10.21 -p 6666 192.168.10.145 6666 nc: using datagram socket ...
参考URL。
http://egfinal.jp/another/kuro-box/2.6.28memo.txt
http://logsoku.com/thread/hibari.2ch.net/linux/1261303328/
http://mizupc8.bio.mie-u.ac.jp/pukiwiki/index.php?LinkStation%2F%E7%8E%84%E7%AE%B1%2Fkernel#g31b0b2f
http://mizupc8.bio.mie-u.ac.jp/pukiwiki/index.php?LinkStation%2F%E7%8E%84%E7%AE%B1%2Fkernel#wa3827d5
http://mizupc8.bio.mie-u.ac.jp/pukiwiki/index.php?LinkStation%2FTeraStation%2F%E7%8E%84%E7%AE%B1%2FPPC%2Fkernel%2F2.6.30.5
http://mizupc8.bio.mie-u.ac.jp/pukiwiki/index.php?SheevaPlug%2FU-Boot
http://mizupc8.bio.mie-u.ac.jp/pukiwiki/index.php?plugin=attach&refer=LinkStation%2FTeraStation%2F%E7%8E%84%E7%AE%B1%2FPPC%2Fkernel%2F2.6.28&openfile=build-kernel-2.6.28-from-2ch.txt
http://mizupc8.bio.mie-u.ac.jp/pukiwiki/index.php?plugin=attach&refer=LinkStation%2FTeraStation%2F%E7%8E%84%E7%AE%B1%2FPPC%2Fkernel%2F2.6.30.5&openfile=config-MTD-from-2ch.txt
http://www.tkn.mydns.jp/blog/?p=1441
http://yahho.ii2.cc/modules/bwiki/index.php?%B8%BC%C8%A2HG%A1%A1Debian%A1%A1%BC%AB%C2%F0%A5%B5%A1%BC%A5%D0%B2%BD%C1%ED%CA%D4
# dir_index,large_fileを追加するとEMモードのfsckが動かない。
テスト。
o vanilla-sources-2.6.38 o gentoo-sources-2.6.38-r6 x hardened-sources-2.6.38 x hardened-sources-2.6.36 x hardened-sources-2.6.32
### カーネル作成の例。
別サーバーで作成。
$ sudo ACCEPT_KEYWORDS="~*" emerge -av dev-embedded/u-boot-tools $ cp -ri /usr/src/linux-2.6.38-gentoo-r6/ . $ cd linux-2.6.38-gentoo-r6/ $ cp -i arch/powerpc/configs/linkstation_defconfig .config $ yes '' | make ARCH=powerpc CROSS_COMPILE=powerpc-unknown-linux-gnu- oldconfig $ make ARCH=powerpc CROSS_COMPILE=powerpc-unknown-linux-gnu- KCFLAGS="-mcpu=603e -Os" -j4 uImage $ make ARCH=powerpc CROSS_COMPILE=powerpc-unknown-linux-gnu- KCFLAGS="-mcpu=603e -Os" -j4 modules $ cd .. $ tar cvzf linux-2.6.38-gentoo-r6.tgz linux-2.6.38-gentoo-r6/ $ scp linux-2.6.38-gentoo-r6.tgz kuroboxhg:/tmp/
kuroboxhgで作業する。
$ sudo tar xvzf linux-2.6.38-gentoo-r6.tgz $ sudo mv -i linux-2.6.38-gentoo-r6 /usr/src/linux-2.6.38-gentoo-r6-cross $ cd /usr/src/ $ sudo rm -i linux $ sudo ln -s linux-2.6.38-gentoo-r6-cross $ cd linux-2.6.38-gentoo-r6-cross/ $ sudo make ARCH=powerpc CROSS_COMPILE=powerpc-unknown-linux-gnu- KCFLAGS="-mcpu=603e -Os" -j4 modules_install $ cd /boot/ $ sudo mv -i .config System.map kuroboxHG.dtb vmlinux.UBoot vmlinux.bin 2011-06-03.2/ $ sudo cp -pi /usr/src/linux/.config . $ sudo cp -pi /usr/src/linux/System.map . $ sudo cp -pi /usr/src/linux/arch/powerpc/boot/uImage vmlinux.UBoot $ /usr/src/linux/scripts/dtc/dtc -f -I dts -O dtb -o /tmp/kuroboxHG.dtb -V 16 /usr/src/linux/arch/powerpc/boot/dts/kuroboxHG.dts bash: /usr/src/linux/scripts/dtc/dtc: バイナリファイルを実行できません
gcc-4.4.5 => 4.3.4のため?作成元で生成する。
$ ./linux-2.6.38-gentoo-r6/scripts/dtc/dtc -f -I dts -O dtb -o /tmp/kuroboxHG.dtb -V 16 ./linux-2.6.38-gentoo-r6/arch/powerpc/boot/dts/kuroboxHG.dts $ scp /tmp/kuroboxHG.dtb kuroboxhg:/tmp/
確認、リブート。
$ sudo cp -pi /tmp/kuroboxHG.dtb . $ sudo chown root.root .config System.map kuroboxHG.dtb vmlinux.UBoot $ file 2011-06-03.2/.config .config $ file 2011-06-03.2/System.map System.map $ file 2011-06-03.2/kuroboxHG.dtb kuroboxHG.dtb $ file 2011-06-03.2/vmlinux.UBoot vmlinux.UBoot $ ll /lib/modules/2.6.38-gentoo-r6/ $ sudo reboot
以前より情報が多い。IPアドレスが変わる直前まで送ってくれるようになった?
$ sudo ifconfig br0:0 192.168.10.21 netmask 255.255.255.0 $ nc -n -u -s 192.168.10.21 -p 6666 192.168.10.145 6666 ... U-Boot 1.2.0 (Mar 26 2009 - 11:36:56) LinkStation HG / KuroBox HG ... Image Name: Linux-2.6.38-gentoo-r6 ... linkstation: disarming the AVR watchdog:
成功。
$ uname -a Linux kuroboxhg 2.6.38-gentoo-r6 #2 Fri Jun 3 23:04:11 JST 2011 ppc 82xx Linkstation I/Kurobox(HG) GNU/Linux
kuroboxHGでのみテスト済み?
$ head -n19 /usr/src/linux/arch/powerpc/platforms/embedded6xx/Kconfig|tail -n6 help Select LINKSTATION if configuring for one of PPC- (MPC8241) based NAS systems from Buffalo Technology. So far only KuroboxHG has been tested. In the future classical Kurobox, Linkstation-I HD-HLAN and HD-HGLAN versions, and PPC-based Terastation systems should be supported too.
ハードウェア情報のファイル?
$ ls /usr/src/linux/arch/powerpc/boot/dts/ ...
### u-boot書き込み確認。
http://nice.kaze.com/shiro-box-hg.html
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230888/
http://downloads.buffalo.nas-central.org/ALL_LS_KB_PPC/Distributions/Gentoo/
EMモード => 古いgentooのシステムへchrootする。gcc-3.4.4有り。
# mkdir /root/hda3 # mount /dev/hda3 /root/hda3 # cd / # tar xvzf /root/hda3/EM_mode_binaries.tar.gz # cd /root/hda3/gentoo/gentoo-20060907/gentoo-20060907-stock/ # mount -t proc none proc/ # mount -o bind /dev dev/ # chroot . /bin/bash
本来書きこみ時に行うデータチェックを今行う。あまり意味ない。
# source /etc/profile # md5sum /root/u-boot-1.2.0-hg.flash.bin c3ae10f906db089213978b71c2a8f3f1 /root/u-boot-1.2.0-hg.flash.bin # dd if=/dev/fl2 of=/root/bootcode-2011-06-04.bin 896+0 records in 896+0 records out 458752 bytes (459 kB) copied, 0.133927 seconds, 3.4 MB/s # md5sum /root/bootcode-2011-06-04.bin af906f6bbe8bfef83332c80a7d5c4273 /root/bootcode-2011-06-04.bin
違う?
# cd /root/ # chmod -w bootcode-2011-06-04.bin u-boot-1.2.0-hg.flash.bin # cd /tmp/ # split -b 187488 /root/bootcode-2011-06-04.bin out. # md5sum out.aa c3ae10f906db089213978b71c2a8f3f1 out.aa
u-bootのファイルと先頭からファイルサイズ分のデータは同じ。全領域で459 kBのようです。
u-bootのchecksum badはこれが原因かもしれない。残りをnullで埋めるとか?
終了。
# exit # umount proc/ # umount dev/ # umount /dev/hda3 # sync; sync # reboot
ちょっと心配。起動した。
$ nc ... s run writeok boot
EMモード終了前に書きこんでも同じ。
$ echo -n 'OKOK' > /dev/fl3 $ echo -n "OKOK" > /dev/mtdblock2 $ reboot
0 件のコメント:
コメントを投稿