编译linux小记

2022/8/21 5:28:47

本文主要是介绍编译linux小记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

(可选)编译环境搭建

docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:1.0.0
docker run -it -p 8070:8070 -v ~/inner:/tmp --privileged=true swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:1.0.0 /bin/bash

前期准备

获取linux源码https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.19.255.tar.xz
解压tar Jxfv linux-4.19.255.tar.xz
cd ./linux-4.19.255

普通编译

make menuconfig
然后General setup->Local version --append to kernel release输入-1.0-linux然后ok
保存退出图形配置界面
make -j 8
整理模块 make modules_install
整理内核 make install

这一套过程可能需要得半个小时到一个小时就很费劲,需要玩会儿手机
编译完会在源码目录下生成一个 vmlinux 目录,同时 arch/x86_64/boot 目录下会多一个 bzimage 文件, bzImage 就是压缩后的一个镜像,vmlinux 是未压缩的除此之外根据编译选项的不同还可以编译出其他格式的镜像,比如 make 执行 uimage 就会编译出 uboot 这种专门用于嵌入式设备上的镜像,另外 bzImage 是通过 gzip 压缩过的格式。


make menuconfig中的“M”表示要编译成内核模块儿,但是不直接放到内核中,而是作为 .ko 文件,等内核运行起来了需要的时候再干进去.按空格就能控制 * 还是 M.

配置内核选项
支持“更新”模式进行配置: make help
(a) make config:基于命令行以遍历的方式去配置内核中可配置的每个选项
(b) make menuconfig:基于curses的文本窗口界面
(c) make gconfig:基于GTK (GNOME)环境窗口界面
(d) make xconfig:基于QT(KDE)环境的窗口界面

支持“全新配置”模式进行配置
(a) make defconfig:基于内核为目标平台提供的“默认”配置进行配置
(b) make allyesconfig: 所有选项均回答为"yes"
(c) make allnoconfig: 所有选项均回答为"no"

交叉编译



这篇关于编译linux小记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程