在 PC 上用 cross compile 的方式來做 :
1. 安裝工具
$ git clone https://github.com/raspberrypi/tools
把目錄 :
tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin
設定到 PATH
2. 安裝 source
$ git clone --depth=1 https://github.com/raspberrypi/linux
3. 把 SD card 插入, 用 lsblk 可以看到
sdb
sdb1
sdb2
4. 編譯 kernel
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
Open the following menu :
Device Drivers
Network device support
Wireless LAN
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
如果 compile 時發現
libstdc++.so.6 有問題的話
sudo apt-get install libc6-i386 lib32z1 lib32stdc++6
5. 建立目錄 mnt/fat32 和 mnt/ext4, 並 mount
$ sudo mount /dev/sdb1 mnt/fat32
$ sudo mount /dev/sdb2 mnt/ext4
6. 安裝 kernel
$ sudo cp mnt/fat32/kernel.img mnt/fat32/kernel-backup.img
$ sudo cp arch/arm/boot/Image mnt/fat32/kernel.img
7. 安裝 module
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=mnt/ext4 modules
$ sudo make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=mnt/ext4 modules_install
8. umount sd card
$ sudo umount mnt/fat32
$ sudo umount mnt/ext4
沒有留言:
張貼留言