【精通嵌入式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

文章来源地址https://uudwc.com/A/W1gAa

原文地址:https://blog.csdn.net/ldinvicible/article/details/133235504

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年09月24日 14:10
Kafka 时间轮算法
下一篇 2023年09月24日 14:10