Kernelbusybox编译
Posted 鱼儿叁
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kernelbusybox编译相关的知识,希望对你有一定的参考价值。
一、编译kernel源码
1、指定硬件体系架构吗,如果需要指定编译arm内核,则指定ARCH=arm且需要安装交叉编译器。
#export ARCH=x86
2、配置board config,此处配置为x86_64_defconfig
#make x86_64_defconfig
在这一步的编中可能会报错,报错信息如下。
fatal error: curses.h: 没有那个文件或目录
compilation terminated.
make【1】: *** 【scripts/Makefile.host:118:scripts/kconfig/mconf.o】 错误 1
make: *** 【Makefile:553:menuconfig】 错误 2
针对上述报错信息,需要将源更新为清华源,执行.
sudo apt-get install libncurse5-dev
3、配置menuconfig
make menuconfig
4、配置内核
执行成功第三步中的命令后,会弹出一个配置框。对该菜单进行微调,需要内核支持ramdisk驱动,所以需要选中如下配置:
General setup --->
----> [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
Device Drivers --->
[*] Block devices --->
<*> RAM block device support
(65536) Default RAM disk size (kbytes)
5、编译内核
make
二、编译busybox源码
1、配置busybox源码,将busy配置为静态编译,这样busybox在运行的时候就不需要额外的动态链接库了。
#make menuconfig
Busybox setting --->
Build Options --->
[*] Build BusBox as a static binary (no share libs)
2、编译和安装
#make && make install
编译后的内核文件位于: ./_install 中
学习自:
https://www.bilibili.com/read/cv11271232
以上是关于Kernelbusybox编译的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向Android 逆向通用工具开发 ( Android 平台运行的 cmd 程序类型 | Android 平台运行的 cmd 程序编译选项 | 编译 cmd 可执行程序 )(代码片段
错误记录Android Studio 编译报错 ( Could not determine java version from ‘11.0.8‘. | Android Studio 降级 )(代码片段