1.在lfs中有个sed的有趣用法:
sed -e 's@/lib64\?32\?/ld@/tools&@g' \
-e 's@/usr@/tools@g' $file.orig > $file
echo
sed -e 's@/lib64\?32\?/ld@/tools&@g' filename
### 这段话的意思是把$file.org文件中的lib64/ld和/lib32/ld前面加上/tools,最后是:
/tools/lib64/ld和/tools/lib32/ld
导入到$file文件
2.解决:busybox编译 fatal error: curses.h: 没有那个文件或目录
这是因为ubuntu系统缺少ncurses devel,将此套件安装即可
apt install libncurses5-dev
这是因为ubuntu系统缺少ncurses devel,将此套件安装即可
apt install libncurses5-dev
3.linux 内核编译时出现scripts/sign-file.c:23:30: fatal error: openssl/opensslv.h错误的解决办法
是由于ubuntu缺少libssl-dev组件
apt install libssl-dev
4.make mrproper与make clean的区别
make mrproper命令删除所有的编译生成文件,内核配置文件(.config文件)和各种备份文件,所以几乎只在第一次执行内核编译前才用这条命令。
make clean命令则是用于删除大多数的编译生成文件,但是会保留内核的配置文件.config,还有足够的编译支持来建立扩展模块。所以你只想删除上一次编译过程的残留数据,只需执行make clean命令。
make mrproper删除的范围比make clean大,实际上,make mrproper在具体执行是第一步就是调用maek clean。
5.库文件介绍
o:编译的目标文件
a:动态链接库(共享库)
lo:使用libtool编译出的目标文件,其实就是在o文件中添加一些文件。
la:使用libtool编译出的库文件,其实是个文本文件,记录同名动态库和静态库的相关信息。