Professional Documents
Culture Documents
buoc nay kha ton thoi gian cac ban chiu kho cho nhe
toi duoc day thi cac ban se build nhu trong sach nhe
nhanh hay cham tuy vao may cua ban manh hay yeu
*Prepare
~$ sudo apt install git bc bison flex libssl-dev make (thư viện git).
~$ git clone --depth=1 -b rpi-5.4.y https://github.com/raspberrypi/linux (kernel
source).
~$ sudo apt install crossbuild-essential-armhf (tool chain)
~$ sudo apt install libncurses5-dev
* Config kernel
//truy cap vao thu muc linux
cd linux/
~linux$ KERNEL=kernel7l (rpi4) ( ~/linux$ KERNEL=kernel7 (rpi2,3,3+))
~/linux$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2711_defconfig
(~/linux$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfig)
~/linux$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
* Build kernel
~/linux$ make -j4 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs
* Copy to SD card
~$ lsblk
~$ mkdir ~/mnt
~$ mkdir ~/mnt/fat32
~$ mkdir ~/mnt/ext4
~$ sudo mount /dev/sdd1 ~/mnt/fat32/ (thay đổi tùy máy)
~$ sudo mount /dev/sdd2 ~/mnt/ext4/ (thay đổi tùy máy)
~/linux$ sudo env PATH=$PATH make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf
INSTALL_MOD_PATH=~/mnt/ext4 modules_install
~/linux$ sudo cp ~/mnt/fat32/kernel7l.img ~/mnt/fat32/kernel7l-backup.img
~/linux$ sudo cp arch/arm/boot/zImage ~/mnt/fat32/kernel7l.img
~/linux$ sudo cp arch/arm/boot/dts/*.dtb ~/mnt/fat32/
~/linux$ sudo cp arch/arm/boot/dts/overlays/*.dtb* ~/mnt/fat32/overlays/
~/linux$ sudo cp arch/arm/boot/dts/overlays/README ~/mnt/fat32/overlays/
~$ sudo umount ~/mnt/fat32
~$ sudo umount ~/mnt/ext4
day la code
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/int.h>
obj-m = hello.o
all:
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
code minh co loi nhung den day la cac ban da thanh cong build duoc kernel roi