chakokuのブログ(rev4)

テック・コミック・DTM・・・ごくまれにチャリ

BeagleBone用にkernelをビルド

BeagleBone用にTIのLinuxSDKを使ってKernelをビルドしたのでメモを残します。
Wikiに従い、SDK環境(Windows8VMWare内のUbuntu)でクロスコンパイラでビルドを実行

自分のSDK配置ディレクトリは以下


/usr/local/ti-sdk-am335x-evm0/board-support/linux-3.2.0-psp05.06.00.00

実行パスにクロスコンパイラのディレクトリを追加


export PATH="/usr/local/ti-sdk-am335x-evm0/linux-devkit/bin:$PATH"

ソースをクリーンアップ


make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- mrproper

デフォルトでコンフィグを設定(SDK用のconfigを導入)


make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- tisdk_am335x-evm_defconfig

コンパイル実行


make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- uImage
ビルド時間は15分程度(さすがにクロス環境だとあっという間)

ご参考;最後のメッセージ


OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
UIMAGE arch/arm/boot/uImage
Image Name: Linux-3.2.0
Created: Sun Dec 30 04:05:15 2012
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3169248 Bytes = 3094.97 kB = 3.02 MB
Load Address: 80008000
Entry Point: 80008000
Image arch/arm/boot/uImage is ready

一応エラーなくuImageが生成された(arch/arm/boot/uImage)。

次にダイナミックモジュールをコンパイル


make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- modules

ご参考;後半のメッセージ


MODPOST 6 modules
CC crypto/tcrypt.mod.o
LD [M] crypto/tcrypt.ko
CC drivers/hid/hid-logitech-dj.mod.o
LD [M] drivers/hid/hid-logitech-dj.ko
CC drivers/scsi/scsi_wait_scan.mod.o
LD [M] drivers/scsi/scsi_wait_scan.ko
CC drivers/usb/gadget/g_ether.mod.o
LD [M] drivers/usb/gadget/g_ether.ko
CC drivers/usb/gadget/g_file_storage.mod.o
LD [M] drivers/usb/gadget/g_file_storage.ko
CC drivers/usb/gadget/g_mass_storage.mod.o
LD [M] drivers/usb/gadget/g_mass_storage.ko

仮に release_121230というディレクトリにインストールする


make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- INSTALL_MOD_PATH=/usr/local/ti-sdk-am335x-evm0/release_121230 modules_install
INSTALL crypto/tcrypt.ko
INSTALL drivers/hid/hid-logitech-dj.ko
INSTALL drivers/scsi/scsi_wait_scan.ko
INSTALL drivers/usb/gadget/g_ether.ko
INSTALL drivers/usb/gadget/g_file_storage.ko
INSTALL drivers/usb/gadget/g_mass_storage.ko
DEPMOD 3.2.0


配置されたダイナミックモジュール一式。。これらは最終的にSDカードに配置する必要あり


root@ubuntu:/usr/local/ti-sdk-am335x-evm0/board-support/linux-3.2.0-psp05.06.00.00#

/usr/local/ti-sdk-am335x-evm0/release_121230/lib/modules/3.2.0/
build/ modules.dep.bin modules.seriomap
kernel/ modules.devname modules.softdep
modules.alias modules.ieee1394map modules.symbols
modules.alias.bin modules.inputmap modules.symbols.bin
modules.builtin modules.isapnpmap modules.usbmap
modules.builtin.bin modules.ofmap source/
modules.ccwmap modules.order
modules.dep modules.pcimap

■ご参考URL
AMSDK Linux User's Guide (ビルド手順等を記載したWiki)
http://processors.wiki.ti.com/index.php/AMSDK_Linux_User%27s_Guide

TIのLinuxフォーラム
http://e2e.ti.com/support/embedded/linux/f/354.aspx
TIの335xのフォーラム
http://e2e.ti.com/support/dsp/sitara_arm174_microprocessors/f/791.aspx
BeagleBone用起動SD作成Wiki(Ti外)
http://www.eewiki.net/display/linuxonarm/BeagleBone