|
BeagleBoneBlack_kernel †RevA, RevB検証済み、RevC未検証
ソース入手 †参考 $ mkdir ~/bbb $ cd ~/bbb $ git config --global user.name "あなたの名前" $ git config --global user.email "あなたの名前@あなたのドメイン" $ git clone https://github.com/beagleboard/kernel.git $ cd kernel/ $ git checkout 3.8 (または $ git checkout origin/3.12 -b 3.12) $ ./patch.sh $ cd ~/bbb $ git clone git://arago-project.org/git/projects/am33x-cm3.git $ cp am33x-cm3/bin/am335x-pm-firmware.bin kernel/kernel/firmware/ $ cd kernel/kernel/ $ cp ../configs/beaglebone arch/arm/configs/beaglebone_defconfig CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm を毎回指定するのは面倒だし忘れるので Makefileを修正して書きこんでしまう。 $ vi Makefile ARCH ?= arm CROSS_COMPILE ?= arm-linux-gnueabihf- config †$ make beaglebone_defconfig $ make menuconfig ビルド †$ make uImage とすると Kernel: arch/arm/boot/Image is ready Kernel: arch/arm/boot/zImage is ready multiple (or no) load addresses: This is incompatible with uImages Specify LOADADDR on the commandline to build an uImage make[1]: *** [arch/arm/boot/uImage] Error 1 make: *** [uImage] Error 2 エラーになる。LOADADDR=0x80008000 を付けてビルドする $ make LOADADDR=0x80008000 uImage dtbs modules -j12 $ make modules -j12 インストール †arch/arm/boot/uImage arch/arm/boot/dts/am335x-boneblack.dtb を /boot へコピーする u-boot †RevA, RevB, RevC 検証済み
参考 ソース入手 †$ cd ~/bbb $ git clone git://git.denx.de/u-boot.git $ cd u-boot/ $ git checkout v2014.07 -b tmp $ wget -c https://raw.githubusercontent.com/eewiki/u-boot-patches/master/v2014.07/0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch $ patch -p1 < 0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch ここからFTPで落とせるものは上記gitと同じ。 この辺も参考 BeagleBoneBlackBox の WDT対応するときはソースを変更すること。 config & build †$ make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf- distclean $ make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf- am335x_evm_config $ make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf- $ ls -l MLO -rw-r--r-- 1 ebihara ebihara 83892 Sep 10 18:35 MLO $ ls -l u-boot.img -rw-r--r-- 1 ebihara ebihara 450324 Sep 10 18:35 u-boot.img RevA~RevC 共通に使える。ただしインストール方法は Angstrom と debian で異なる。 device_tree †dtc compiler
$ mkdir ~/work $ cd ~/work $ wget -c https://raw.github.com/RobertCNelson/tools/master/pkgs/dtc.sh $ chmod +x dtc.sh $ ./dtc.sh 関連 †内部リンク
自動リンク 外部リンク こちらにも kernel リポジトリがある? |