2009年12月7日 星期一

製作 beagle board kernel v2.6.29-58cf2f1

約四個月前,在網路上找到了一篇 [ building a customed kernel for beagle board ] ,但是事過境遷,該篇 blog 已經不存在。有位對岸的大哥把步驟給節錄下來了[ 制作beagleboard的kernel  ] ,為了避免以後有類似情形,這裡再節錄一遍過程:

Retrieve the GIT checkout:

    git clone git://git2.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git
    cd linux-omap-2.6/
    git checkout 58cf2f1 -b v2.6.29-58cf2f1
    git archive --format=tar --prefix=v2.6.29-58cf2f1/ v2.6.29-58cf2f1 | gzip > ../v2.6.29-58cf2f1.tar.gz
    git checkout master
    git branch v2.6.29-58cf2f1 -D
    cd ..

Download kernel diffs and kernel config:

    wget http://rcn-ee.homeip.net:81/dl/omap/beagle/v2.6.29-58cf2f1-oer34/v2.6.29-58cf2f1-oer34.diff
    wget http://rcn-ee.homeip.net:81/dl/omap/beagle/v2.6.29-58cf2f1-oer34/defconfig

Extract Kernel Source

    tar -xf v2.6.29-58cf2f1.tar.gz
    cd v2.6.29-58cf2f1/

Apply Patch

    patch -p1 < ../v2.6.29-58cf2f1-oer34.diff

Copy Defconfig

    cp ../defconfig .config

Configure the kernel (requires libncurses5-dev installed)

    make menuconfig

Build, Cross-Compiling:

    make CROSS_COMPILE=arm-linux-gnu- uImage

A few moments later, you can find your new kernel in the ‘arch/arm/boot/’ directory.

Make modules:

    make CROSS_COMPILE=arm-linux-gnu- modules

    make CROSS_COMPILE=arm-linux-gnu- modules_install


沒有留言:

張貼留言