【精通嵌入式Linux编程】配置和构建内核

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://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads

https://developer.arm.com/downloads/-/arm-compiler-for-linux

你可能感兴趣的:(精通嵌入式Linux编程笔记,linux,运维,服务器)