2011/07/22
■ カーネル作成
http://sheeva.with-linux.com/sheeva/よりバイナリが手に入るため不要だが、ためしにやってみた。
クロスコンパイラのインストール(作業はcoLinux上のDebian 6.0で行った)
http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite より、クロスコンパイラをダウンロード。 dpkg-reconfigure -plow dash で一時的にシェルをbashに戻しインストール。 /CodeSourcery?/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-gcc -v でコンパイラがインストールされたかチェック。
カーネルの準備
カーネルソースダウンロード、展開。 ln -sf linux-カーネルバージョン linux カーネルヘッダをダウンロード、展開して、カーネルにパッチを当てる。 patch -p0 <パッチファイル
カーネルコンパイル
uImageを作成するため、 apt-get install uboot-mkimage make ARCH=arm kirkwood_defconfig make ARCH=arm menuconfig make ARCH=arm CROSS_COMPILE=/root/CodeSourcery?/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi- uImage make ARCH=arm CROSS_COMPILE=/root/CodeSourcery?/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi- modules
2011/07/21
■ 最新のカーネルのダウンロード
http://sheeva.with-linux.com/sheeva/より、DreamPlug用uImageをダウンロード、外部USBドライブの第1パーティション(FAT)へ書き込み、uImageにリネーム。
次に、同じくhttp://sheeva.with-linux.com/sheeva/より、Modulesをダウンロード(SheevaPlugと兼用)、外部USBドライブの第2パーティションにModulesを展開。
2011/07/20
■ uBoot設定
GuruPlug JTAGを接続し、uBootの設定。外付けUSB HDDは/dev/sdcとして見える。
setenv x_bootcmd_kernel fatload usb 2 0x6400000 uImage setenv x_bootargs_root root=/dev/sdc2 rootdelay=10 saveenv reset
■ Debian化
入手したDreamPlugにはすでにDebian(lenny)がインストールしてあるためこの作業は特に必要が無かったが、やってみた。 http://code.google.com/p/dreamplug/downloads/listより、dreamplug_debianをダウンロード、外部USBドライブの第2パーティション(ext3)に展開。
しかしながら、DreamPlugのホームページによれば、インストール済みのOSはUbubtuとなっているのでDebianインストール済みはなぜ?
■ 不要なモジュールをロードしないようにする
サーバーとして不要な無線LANやオーディオなどのモジュールをロードしないように、/etc/modprobe.d/blacklistに次の行を追加する。
blacklist ipv6 ←お好みで # 無線LAN関係のモジュールを殺す blacklist bridge blacklist stp blacklist llc blacklist bnep blacklist btmrvl_sdio blacklist btmrvl blacklist rfkill blacklist libertas_sdio blacklist libertas blacklist bluetooth blacklist uap8xxx blacklist cfg80211 # オーディオ関係のモジュールを殺す blacklist snd_usb_audio blacklist snd_pcm blacklist soundcore
2011/07/11
■ 外付HDDケースが届く
第1パーティション(FAT)がカーネル用、第2パーティション(ext3)をユーザーランド、第3パーティションをスワップ領域にする。
# df -m Filesystem 1M-ブロック 使用 使用可 使用% マウント位置 /dev/sdc2 37077 20503 16198 56% / tmpfs 251 0 251 0% /lib/init/rw udev 10 1 10 7% /dev tmpfs 251 1 251 1% /dev/shm /dev/sda2 1751 503 1160 31% /media/usb0 /dev/sdc1 8 5 3 65% /media/usb1 /dev/sda1 97 3 94 3% /media/usb2
■ 最新のカーネルのダウンロード
http://sheeva.with-linux.com/sheeva/より、DreamPlug用uImageをダウンロード、外部USBドライブの第1パーティション(FAT)へ書き込み、uImageにリネーム。
次に、同じくhttp://sheeva.with-linux.com/sheeva/より、Modulesをダウンロード(SheevaPlugと兼用)、外部USBドライブの第2パーティションにModulesを展開。
■ uBoot設定
GuruPlug JTAGを接続し、uBootの設定。
setenv x_bootcmd_kernel fatload usb 2 0x6400000 uImage setenv x_bootargs_root root=/dev/sdc2 rootdelay=10 saveenv reset
■ Debian化
入手したDreamPlugにはすでにDebian(lenny)がインストールしてあるためこの作業は特に必要が無いが、やってみた。 http://code.google.com/p/dreamplug/downloads/listより、dreamplug_debianをダウンロード、外部USBドライブの第2パーティション(ext3)に展開。
■ 不要なモジュールをロードしないようにする
サーバーとして不要な無線LANやオーディオなどのモジュールをロードしないように、/etc/modprobe.d/blacklistに次の行を追加する。
blacklist ipv6 ←お好みで # 無線LAN関係のモジュールを殺す blacklist bridge blacklist stp blacklist llc blacklist bnep blacklist btmrvl_sdio blacklist btmrvl blacklist rfkill blacklist libertas_sdio blacklist libertas blacklist bluetooth blacklist uap8xxx blacklist cfg80211 # オーディオ関係のモジュールを殺す blacklist snd_usb_audio blacklist snd_pcm blacklist soundcore
2011/07/09
■ 外付HDDケース注文
外部USBドライブは、HGST 40GB SATA HDDを外付HDDケース(AREA USB2.0 外付HDD2.5インチケース SD-SC25U2)で変換したものにする。
2011/07/05
■ GlobalScale TechnologiesよりGuruPlug JTAGが到着
やれやれ、これでuBootの設定が可能。