Linux内核配置与编译相关流程

Linux内核配置与编译相关流程,第1张

linux内核配置编译相关流程1、清除临时文件、中间文件和配置文件

make

clean

不删除配置文件。

make

mrproper

make

distclean

删除编辑的backup文件、补丁文件等2、确定目标系统的软硬件配置情况,比如CPU的类型,网卡的型号,所需要支持的网络协议。3、使用命令配置内核

make

config

基于文本模式的交互配置。

make

menuconfig

基于文本模式的菜单配置。

make

oldconfig

使用已有的配置文件(.config),但是会询问新增的配置选项。

make

xconfig

图形化的配置(需要安装图形化系统)。4、编译内核

make

zImage

make

bzImage

区别:在X86平台上,zImage只能用于小雨512k内核。如果需要获取详细编译信息,则在后面加上V=1.

编译好的内核位于arch/<cpu>/boot/目录下。

5、编译内核模块

make

modues

6、安装内核模块

make

modues_install

将编译好的内核模块从内核源代码目录copy到/lib/modues下。7、制作

init

ramdisk

mkinitrd

$initrd-$version

-$version内核安装(X86)1、cp

arch/X86/boot/bzImage

/boot/vmliuz

-$version2、cp

$initrd

/boot/3、修改etc/grub.conf

/etc/lilo.conf$version为所编译的内核版本号。

下面的一切都是在 root 模式下进行的,可以不再 root 模式下进行

基础环境就是编译代码的基础库,Ubuntu联网安装软件很简单,一个语句即可搞定,这里列出语句如下:

依赖库分两方面,参考以下网站列出的依赖库信息,本文选择的版本均参考于此网页: FFmpeg依赖库信息

首先创建 FFmpeg 代码目录,所有的源代码放在这个目录下

FFmpeg 编译之后,即可使用。编译生成的可执行程序在 ~/bin 目录下

注:上面的 ./configure 配置编译后并不能进行调试,需要如下配置.

刚才的工程可以运行,但不能debug。解决此问题,首先认定一点,生成的可执行程序中,ffmpeg 不包含调试信息,调试信息在 ffmpeg_g 中,debug 要选择 ffmpeg_g。

另外,./config选项也是确定包含调试信息的核心,需要在config中添加:

采用以下命令重新config:

一些注意事项; 在使用 ffplay 播放生成 h264 格式的视频时,播放速度会加快,解决方式:不要使用 FFmpeg 转码生成纯 h264 格式的视频,要使用一种容器包含 h264 视频,即生成一种音视频流格式,也就是不要生成纯粹的 h264 码流,而是生成诸如 mkv 等格式的文件。

编译器:GCC编译器可以用来编译C和C++源程序,C编译器通过文件的后缀来判断是C程序还是C++程序。一般来说C源文件的后缀为“.C”,而C++源文件的后缀为“.C”或“C++”。

但GCC编译器只能编译C++源程序,不能与使用的库连接,因此用G++来完成C++程序的编译与连接,该程序会自动调用GCC来编译。

Linux里环境变量的设置,有如下几种方法:

(1)直接在终端里输入export 后面加要设的变量,例如QT:

Export QTDIR=$PWD/qt-2.3.2

其中,pwd是用来显当前路径的命令,在其前面加上$,则表示QT的目标目录在当前目录下的“qt-2.3.2”里,当然“$PWD”也可以用绝对路径来代替。这种方法所设的环境变量在下次开机后不再有效,而且换个shell也不会有效,只是临时的。

(2)在etc/profile里添加环境变量,比如:

export QTDIR=/usr

export LD_LIBRARY_PATH=$QTDIR/lib

export QT_QWS_FONTDIR=$QTDIR/lib/fonts

export QWS_DISPLAY="LinuxFb:/dev/fb0"

(3)修改.bashrc, 如果需要给某个用户权限使用这些环境变量,只需修改其个人用户家目录下的.bashrc文件就可以了。

(4)用以上面两种方法设置好环境变量后记得重启

以上使用QT为例


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7623133.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-07
下一篇2023-04-07

发表评论

登录后才能评论

评论列表(0条)

    保存