再構築するKernelを組み込むためベースとなるArchlinuxをインストールして起動を確認しておきます。
(1) SDカード−USBアダプターを使ってSDカードをPCに認識させておく。
(2) PCにArchlinuxインストール用ファイルをdownload
(3) SDカードを予めフォーマットしておく。今回は2パーテーションに分けた。
sdx1:fat32 300M(bootフラグ)
sdx2:ext3 約7G
$ wget
http://sg.mirror.archlinuxarm.org/os/ArchLinuxARM-rpi-2-latest.tar.gz
# mount -t ext4 /dev/sdh2 /mnt
# mkdir /mnt/boot
# mount -t vfat /dev/sdh1
/mnt/boot ※入れ子のmountになっているので注意
# bsdtar -xpf
ArchLinuxARM-rpi-2-latest.tar.gz -C /mnt
# sync
# umount /mnt/boot
# umount /mnt
# rm -r /mnt/boot
※作業が終了したら一端RaspberryPI2へSDカードを刺し込んで起動する事を確認する。
2. クロスコンパイルよるKernel再構築~インストール (1) 元ソースを用意する。
(2) Kernel再構築のためのツールのインストール,downloadして配置
(3) KernelにDSDネイティブ再生のためのパッチを当てる。
(4) Kernel再構築の開始
(5) 作成されたKernel、その他のファイルをSDカードへインストール
$ cd /home/hoge
$ git clone --depth=1 https://github.com/raspberrypi/linux
$ patch -p1 <
native-dsd-4.4.6-20160502.patch
$ patch -p1 < native-dsd-noise.patch
# apt-get install
bc
# cd /
# git clone https://github.com/raspberrypi/tools
# cd
/home/hoge/linux
# KERNEL=kernel7
# make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfig
# ARCH=arm
CROSS_COMPILE=/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-
make -j5 zImage modules dtbs
# mkdir mnt/fat32
# mkdir mnt/ext4
# mount /dev/sdh1 mnt/fat32
# mount /dev/sdh2 mnt/ext4
# make ARCH=arm
CROSS_COMPILE=/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-
INSTALL_MOD_PATH=mnt/ext4 modules_install
# mv mnt/fat32/kernel7.img
mnt/fat32/kernel7.img.old
# scripts/mkknlimg arch/arm/boot/zImage
mnt/fat32/kernel7.img
# cp arch/arm/boot/dts/*.dtb mnt/fat32/
# cp arch/arm/boot/dts/overlays/*.dtb*
mnt/fat32/overlays/
# cp arch/arm/boot/dts/overlays/README
mnt/fat32/overlays/
# sync
# umount mnt/fat32
# umount mnt/ext4
参考リンク:https://www.raspberrypi.org/documentation/linux/kernel/