bc9/Software/Android/kernel2.6.29
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
]
開始行:
[[labs.beatcraft.com]]~
[[bc9/Software/OpenEmbedded/kernel2.6.29(1/2)]]~
[[bc9/Software/OpenEmbedded/kernel2.6.29(2/2)]]~
*2.6.29 android kernel への更新 [#ub30090f]
OpenEmbedded の kernel と同様の手順で Android 用の kernel...
以下のような手順になります。
**Android kernel source の取得 [#y3ce2ae6]
以下のようにして kernel soruce を取得します。
$ git clone git://android.git.kernel.org/kernel/common.g...
$ cd kernel
$ git checkout --track -b android-2.6.29 origin/android-...
取得したら分かりやすいよう名前を変更しておきます。
$ mv kernel linux-2.6.29-android
**bc9 用 patch の適用 [#aa12a325]
Android の git repositry から取得したままの kernel では、...
OpenEmbedded の手順と同じように、bc9 起動可能にするための...
この &ref(patch-kernel-2.6.29.4-bc9-r2.tgz); を kernel so...
以下のように番号順に kernel source に当てて下さい。(前の...
$ tar xvfz patch-kernel-2.6.29.4-bc9-r2.tgz
$ ls
linux-2.6.29-android patch-kernel-2.6.29.4-bc9
$ cd linux-2.6.29-android
$ patch -p1 < ../patch-kernel-2.6.29.4-bc9/01-minimum.pa...
$ patch -p1 < ../patch-kernel-2.6.29.4-bc9/02-lcd.patch
$ patch -p1 < ../patch-kernel-2.6.29.4-bc9/03-tsc.patch
$ patch -p1 < ../patch-kernel-2.6.29.4-bc9/04-usb.patch
$ patch -p1 < ../patch-kernel-2.6.29.4-bc9/05-proc-gpio....
(以下略)
patch 済みの linux-2.6.29-android を rename しておきます。
$ cd ..
$ mv linux-2.6.29-android linux-2.6.29-android-bc9
**kernel build の準備[#n4ee3b09]
kernel を bc9用に cross build するため以下のような script...
bitbake で生成された cross toolchain へ path を通します。~
&ref(setup_kernel_build.sh);
#!/bin/sh
export PATH=/home/beat/gumstix/gumstix-oe/tmp/cross/bin:...
export ARCH=arm
export CROSS_COMPILE=arm-angstrom-linux-gnueabi-
$ source setup_kernel_build.sh
patch を当て終わると、linux-2.6.29-android-bc9/arch/arm/c...
$ cd linux-2.6.29-android-bc9
$ cp arch/arm/configs/bc9_defconfig .config
この .config は OpenEmbedded 用の調整は終わっていますが、...
ですので、&color(red){make oldconfig して Android userlan...
さらに細かく調整したい場合は make oldconfig 後 make menuc...
どの項目が Android の起動に必要かは、linux-2.6.29-android...
~
bc9 起動可能かつ Android 起動可能に調整済みの config が必...
&color(red){2009年7月23日追記 bc9_android_defconfig では...
&color(red){また CONFIG_SYSFS_DEPRECATED_V2 が有効になっ...
&color(red){調整し直したものを再度添付します。};~
~
この bc9_android_defconfig を .config として make すれば ...
bitbake で生成されるのと同じ uImage* + modules*.tgz を生...
&ref(make-bc9-kernel.sh);
#!/bin/sh
export LANG=C
GUMSTIX_HOME="/home/beat/gumstix/gumstix-oe"
SYSMAP="./System.map"
TOOL_PREFIX="${GUMSTIX_HOME}/tmp/cross/bin/arm-angstrom-...
DEPMOD="${TOOL_PREFIX}depmod-2.6"
OBJCOPY=${TOOL_PREFIX}objcopy
MKIMG=${GUMSTIX_HOME}/tmp/staging/i686-linux/bin/uboot-m...
UBOOT_ENTRYPOINT="a0008000"
MOD_WORKDIR="./mod_work"
make ARCH=arm CROSS_COMPILE=${TOOL_PREFIX} prepare
KERNREL=`make kernelrelease`
KERNVER=`make kernelversion`
KERNIMG="uImage-${KERNREL}.bin"
MODTGZ="modules-${KERNREL}.tgz"
KERNIMGLN="uImage-${KERNVER}-bc9.bin"
MODTGZLN="modules-${KERNVER}-bc9.tgz"
echo "### Cleanup"
rm -rf ${MOD_WORKDIR}
rm -f ${KERNIMG} ${MODTGZ} ${KERNIMGLN} ${MODTGZLN}
echo "### Build kernel"
make ARCH=arm CROSS_COMPILE=${TOOL_PREFIX}
if [ $? != 0 ]; then
echo "*** Failed to build kernel"
exit 1
fi
echo "### Make kernel image"
${OBJCOPY} -O binary -R .note -R .comment \
-S ./arch/arm/boot/compressed/vmlinux linux.bin
if [ $? != 0 ]; then
echo "*** Failed to make kernel image"
exit 1
fi
${MKIMG} -A arm -O linux -T kernel -C none -a ${UBOOT_EN...
-e ${UBOOT_ENTRYPOINT} -n "oe/verdex/arm" -d linux.bin $...
if [ $? != 0 ]; then
echo "*** Failed to make kernel image"
exit 1
fi
ln -s ${KERNIMG} ${KERNIMGLN}
echo "### Install modules"
make ARCH=arm DEPMOD=echo INSTALL_MOD_PATH=${MOD_WORKDIR...
if [ $? != 0 ]; then
echo "*** Failed to modules_install"
exit 1
fi
${DEPMOD} -A -b ${MOD_WORKDIR} -F ${SYSMAP} ${KERNREL}
if [ $? != 0 ]; then
echo "*** Failed to depmod modules"
exit 1
fi
echo "### Make modules tar ball"
tar czvf ${MODTGZ} -C ${MOD_WORKDIR} lib
if [ $? != 0 ]; then
echo "*** Failed to make modules tarball"
exit 1
fi
ln -s ${MODTGZ} ${MODTGZLN}
echo "### Finished"
ls -l ${KERNIMG} ${MODTGZ}
**kernel build [#kd978ec6]
この script を kernel source のディレクトリで実行します。
$ mv make-bc9-kernel.sh linux-2.6.29-android-bc9
$ cd linux-2.6.29-android-bc9
$ ./make-bc9-kernel.sh
build が正常に終了すると、標準の make を実行した場合に得...
modules-2.6.29-bc9-r2.tgz
uImage-bc9-2.6.29-bc9-r2.bin
**microSD へのコピー [#nf5ec95f]
上記のファイルを 2.6.24 が起動する microSD へ以下のように...
(作成時と同様、VFAT、ext2 partition はそれぞれ /media/di...
$ sudo cp linux-2.6.29-android-bc9/uImage-bc9-2.6.29-bc9...
$ sudo tar -C /media/disk-1/ -xvfz linux-2.6.29-android-...
**2.6.29-android-bc9 microSD boot [#a17b3492]
上記で用意できた microSD を bc9 の microSD スロットに戻し...
LCD に linux の 起動logo が表示され 2.6.29 android kernel...
$ uname -a
Linux gumstix-custom-verdex 2.6.29-bc9-r2 #1 PREEMPT Tue...
-----------------
RIGHT:by 大塚聡史
終了行:
[[labs.beatcraft.com]]~
[[bc9/Software/OpenEmbedded/kernel2.6.29(1/2)]]~
[[bc9/Software/OpenEmbedded/kernel2.6.29(2/2)]]~
*2.6.29 android kernel への更新 [#ub30090f]
OpenEmbedded の kernel と同様の手順で Android 用の kernel...
以下のような手順になります。
**Android kernel source の取得 [#y3ce2ae6]
以下のようにして kernel soruce を取得します。
$ git clone git://android.git.kernel.org/kernel/common.g...
$ cd kernel
$ git checkout --track -b android-2.6.29 origin/android-...
取得したら分かりやすいよう名前を変更しておきます。
$ mv kernel linux-2.6.29-android
**bc9 用 patch の適用 [#aa12a325]
Android の git repositry から取得したままの kernel では、...
OpenEmbedded の手順と同じように、bc9 起動可能にするための...
この &ref(patch-kernel-2.6.29.4-bc9-r2.tgz); を kernel so...
以下のように番号順に kernel source に当てて下さい。(前の...
$ tar xvfz patch-kernel-2.6.29.4-bc9-r2.tgz
$ ls
linux-2.6.29-android patch-kernel-2.6.29.4-bc9
$ cd linux-2.6.29-android
$ patch -p1 < ../patch-kernel-2.6.29.4-bc9/01-minimum.pa...
$ patch -p1 < ../patch-kernel-2.6.29.4-bc9/02-lcd.patch
$ patch -p1 < ../patch-kernel-2.6.29.4-bc9/03-tsc.patch
$ patch -p1 < ../patch-kernel-2.6.29.4-bc9/04-usb.patch
$ patch -p1 < ../patch-kernel-2.6.29.4-bc9/05-proc-gpio....
(以下略)
patch 済みの linux-2.6.29-android を rename しておきます。
$ cd ..
$ mv linux-2.6.29-android linux-2.6.29-android-bc9
**kernel build の準備[#n4ee3b09]
kernel を bc9用に cross build するため以下のような script...
bitbake で生成された cross toolchain へ path を通します。~
&ref(setup_kernel_build.sh);
#!/bin/sh
export PATH=/home/beat/gumstix/gumstix-oe/tmp/cross/bin:...
export ARCH=arm
export CROSS_COMPILE=arm-angstrom-linux-gnueabi-
$ source setup_kernel_build.sh
patch を当て終わると、linux-2.6.29-android-bc9/arch/arm/c...
$ cd linux-2.6.29-android-bc9
$ cp arch/arm/configs/bc9_defconfig .config
この .config は OpenEmbedded 用の調整は終わっていますが、...
ですので、&color(red){make oldconfig して Android userlan...
さらに細かく調整したい場合は make oldconfig 後 make menuc...
どの項目が Android の起動に必要かは、linux-2.6.29-android...
~
bc9 起動可能かつ Android 起動可能に調整済みの config が必...
&color(red){2009年7月23日追記 bc9_android_defconfig では...
&color(red){また CONFIG_SYSFS_DEPRECATED_V2 が有効になっ...
&color(red){調整し直したものを再度添付します。};~
~
この bc9_android_defconfig を .config として make すれば ...
bitbake で生成されるのと同じ uImage* + modules*.tgz を生...
&ref(make-bc9-kernel.sh);
#!/bin/sh
export LANG=C
GUMSTIX_HOME="/home/beat/gumstix/gumstix-oe"
SYSMAP="./System.map"
TOOL_PREFIX="${GUMSTIX_HOME}/tmp/cross/bin/arm-angstrom-...
DEPMOD="${TOOL_PREFIX}depmod-2.6"
OBJCOPY=${TOOL_PREFIX}objcopy
MKIMG=${GUMSTIX_HOME}/tmp/staging/i686-linux/bin/uboot-m...
UBOOT_ENTRYPOINT="a0008000"
MOD_WORKDIR="./mod_work"
make ARCH=arm CROSS_COMPILE=${TOOL_PREFIX} prepare
KERNREL=`make kernelrelease`
KERNVER=`make kernelversion`
KERNIMG="uImage-${KERNREL}.bin"
MODTGZ="modules-${KERNREL}.tgz"
KERNIMGLN="uImage-${KERNVER}-bc9.bin"
MODTGZLN="modules-${KERNVER}-bc9.tgz"
echo "### Cleanup"
rm -rf ${MOD_WORKDIR}
rm -f ${KERNIMG} ${MODTGZ} ${KERNIMGLN} ${MODTGZLN}
echo "### Build kernel"
make ARCH=arm CROSS_COMPILE=${TOOL_PREFIX}
if [ $? != 0 ]; then
echo "*** Failed to build kernel"
exit 1
fi
echo "### Make kernel image"
${OBJCOPY} -O binary -R .note -R .comment \
-S ./arch/arm/boot/compressed/vmlinux linux.bin
if [ $? != 0 ]; then
echo "*** Failed to make kernel image"
exit 1
fi
${MKIMG} -A arm -O linux -T kernel -C none -a ${UBOOT_EN...
-e ${UBOOT_ENTRYPOINT} -n "oe/verdex/arm" -d linux.bin $...
if [ $? != 0 ]; then
echo "*** Failed to make kernel image"
exit 1
fi
ln -s ${KERNIMG} ${KERNIMGLN}
echo "### Install modules"
make ARCH=arm DEPMOD=echo INSTALL_MOD_PATH=${MOD_WORKDIR...
if [ $? != 0 ]; then
echo "*** Failed to modules_install"
exit 1
fi
${DEPMOD} -A -b ${MOD_WORKDIR} -F ${SYSMAP} ${KERNREL}
if [ $? != 0 ]; then
echo "*** Failed to depmod modules"
exit 1
fi
echo "### Make modules tar ball"
tar czvf ${MODTGZ} -C ${MOD_WORKDIR} lib
if [ $? != 0 ]; then
echo "*** Failed to make modules tarball"
exit 1
fi
ln -s ${MODTGZ} ${MODTGZLN}
echo "### Finished"
ls -l ${KERNIMG} ${MODTGZ}
**kernel build [#kd978ec6]
この script を kernel source のディレクトリで実行します。
$ mv make-bc9-kernel.sh linux-2.6.29-android-bc9
$ cd linux-2.6.29-android-bc9
$ ./make-bc9-kernel.sh
build が正常に終了すると、標準の make を実行した場合に得...
modules-2.6.29-bc9-r2.tgz
uImage-bc9-2.6.29-bc9-r2.bin
**microSD へのコピー [#nf5ec95f]
上記のファイルを 2.6.24 が起動する microSD へ以下のように...
(作成時と同様、VFAT、ext2 partition はそれぞれ /media/di...
$ sudo cp linux-2.6.29-android-bc9/uImage-bc9-2.6.29-bc9...
$ sudo tar -C /media/disk-1/ -xvfz linux-2.6.29-android-...
**2.6.29-android-bc9 microSD boot [#a17b3492]
上記で用意できた microSD を bc9 の microSD スロットに戻し...
LCD に linux の 起動logo が表示され 2.6.29 android kernel...
$ uname -a
Linux gumstix-custom-verdex 2.6.29-bc9-r2 #1 PREEMPT Tue...
-----------------
RIGHT:by 大塚聡史
ページ名:
BC::labsへの質問は、bc9-dev @ googlegroups.com までお願い致します。