
玄箱実機上でカーネルビルドすると時間がかかる。
とは言っても普段Windowsしか触っておらず、LinuxをインストールするのもCygwinでpowerpcのクロスコンパイル環境を構築するのも手間がかかりそうなので、LinuxLive USB Createrを使い、USBメモリからubuntu-14.04を立ち上げ、クロスコンパイル環境を整えてみた。
USBメモリからubuntuが起動したら試用を選び、ターミナルから必要なパッケージを導入する。
"/usr/src"へ移動し、カーネルソースをダウンロードする。# sudo su # apt-get install aptitude # aptitude install build-essential ncurses-dev libc6-dev-powerpc-cross gcc-powerpc-linux-gnu u-boot-tools
今回はThe Linux Kernel Archivesより"stable 3.16.7 [EOL]"を選択した。
そのまま進めると空き容量が厳しいので、解凍したらアーカイブファイルは削除する。# cd /usr/src # wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.16.7.tar.xz
玄箱/Linkstationに用意されたテンプレートから".config"を生成し、menuconfigから詳細な設定をする。# tar xvJf linux-3.16.7.tar.xz # rm linux-3.16.7.tar.gz # cd linux-3.16.7
# make ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu- linkstation_defconfig # make ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu- menuconfig
不要なドライバを外す
"Device Drivers" => "Network device support" => "Ethernet driver support"と進み"Realtek devices"の"Realtek 8169 gigabit..."以外のチェックを外す。("Y"でチェック、"N"でチェックが外れる。)
MTDドライバ設定
"Device Drivers" => "Memory Technology Device (MTD) support" => "Mapping drivers for chip access"と進み、"Physmap compat support"にチェックを入れ、"Physical start address of flash mapping"の値を"0xffc00000"、"Physical length of flash mapping"の値を"0x400000"、"Bank width in octets"の値を"1"とする。USBオーディオドライバ組み込み
"Device Drivers" => "Sound card support"(チェックを入れる) => "Advanced Linux Sound Architecture"(チェックを入れる) => "USB sound devices"と進み、"USB Audio/MIDI driver"にチェックを入れる。ext4に対応させる
一応対応させてみる。"File systems"
"The Extend 4 (ext4) filesystem"と"Ext4 POSIX Access Control Lists"にチェックを入れる。
.configに保存
"< Save >"を選択し、".config"に設定を保存。"< Exit >"を何度か押してコンソールに戻る。
コンパイル開始
# make ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu- uImage modules
必要なファイルをまとめる
# mkdir ../boot/root # cp -p System.map ../root/boot/ # cp -p .config ../root/boot/config-kurobox-3.16.7 # cp -p arch/powerpc/boot/uImage ../root/boot/uImage-3.16.7 # scripts/dtc/dtc -f -I dts -O dtb -o ../root//boot/kuroboxHD.dtb -V 16 arch/powerpc/boot/dts/kuroboxHD.dts # scripts/dtc/dtc -f -I dts -O dtb -o ../root//boot/kuroboxHG.dtb -V 16 arch/powerpc/boot/dts/kuroboxHG.dts # cd ../root/boot # ln -s uImage-3.16.7 uImage # ln -s uImage vmlinux.UBoot
tar.gzでまとめる
# tar czvf ../kernel-3.16.7-kurobox.tar.gz ./ # cd ../../linux-3.16.7/
モジュールをまとめる
# make ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu- INSTALL_MOD_PATH=../root modules_install # cd ../root # tar czvf modules-3.16.7-kurobox.tar.gz lib
続けてそのままftpで玄箱にアップロード出来るよう玄箱側でftpdの設定を行う。
既にsambaなど設定が終わって他の手段があるのならば、ファイルキャビネットからsamba経由などで適当にファイルを玄箱にアップロードする。
玄箱にftpdをインストールし出来上がったファイルを転送出来るようにする
玄箱にログインし、ftpdをインストール、設定を行う。コメントを外し、"/etc/passwd"に記述されているユーザーをftpユーザとして利用出来るようにし、書き込みを許可する。# su # aptitude install vsftpd # vi /etc/vsftpd.conf
ftpdを再起動する。# Uncomment this to allow local users to log in. local_enable=YES # # Uncomment this to enable any form of FTP write command. write_enable=YES
ftpで"kernel-3.16.7-kurobox.tar.gz"と"modules-3.16.7-kurobox.tar.gz"をubuntuから玄箱へアップロードする。# /etc/init.d/vsftpd restart
実際の導入は次の記事で。
LinkStation/TeraStation/玄箱/PPC/kernel/2.6.30.5 - PukiWiki
今回上記サイト様を大いに参考にさせていただきました。
今回上記サイト様を大いに参考にさせていただきました。
0 件のコメント:
コメントを投稿