git clone git://git.kernel.org/pub/scm/linux/git/stable/linux-stable.git
cd linux-stable
git checkout v5.4.50
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
https://www.kernel.org/
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.4.50.tar.xz
使用menuconfig首先需要按照ncurses、flex、bison
apt install libncurses5-dev flex bison
使用LOCAL VERSION识别内核
make ARCH=arm kernelversion
or
make ARCH=arm kernelrelease
构建工件:
内核构建会在上层目录生成两个文件:vmlinux和system.map
vmlinux:作为ELF二进制文件的内核。如果打开(CONFIG_DEBUG_INFO),它将包含可与kgdb等调试器一起使用的调试符号。
System.map:人类可读形式的符号表。
Image:vmlinux转换位原始二进制格式。
zImage:压缩后的Image将被放到代码末尾处,该代码负责对其进行解压缩和重定位。
uImage:zImage加上64字节的uboot标头。
make ARCH=arm dtbs
make ARCH=arm modules
make ARCH=arm INSTALL_MOD_PATH=$HOME/rootfs modules_install
工具链 文章来源:https://uudwc.com/A/W1gAa
https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads
https://developer.arm.com/downloads/-/arm-compiler-for-linux
文章来源地址https://uudwc.com/A/W1gAa