1.Linux Kernel下载
Linux Kernel下载地址(https://www.kernel.org/pub/linux/kernel/ );
2. 下载好Linux kernel之后,需解压缩文件.下载的Linux kernel压缩包有两种形式:
Example: 1. linux-2.6.28.6.tar.bz2 ----------解压缩命令: sudo tar -jxvf linux-2.6.28.6.tar.bz2
2. linux-2.6.28.6.tar.gz ----------解压缩命令: sudo tar -xzvf linux-2.6.28.6.tar.gz
make menuconfig
由于make menuconfig 命令需要在root用户下执行,但一开始安装的Ubuntu系统,su命令之后输入用户密码会出现认证失败的情况,这是由于Ubuntu系统一开始默认是没有root用户密码的,需要自己进行设置,设置命令如下:
sudo passwd root-------------------然后设置root用户密码,之后执行su命令,输入设置的密码就可以用了.
3. 在编译kernel 的时候遇到以下问题:
打开linux kernel下的Makefile文件,定位到442和1607行:
config %config: scripts_basic outputmakefile FORCE
%config: scripts_basic outputmakefile FORCE
/ %/: prepare scripts FORCE
%/: prepare scripts FORCE
出现这个错误: error main directory cannot contain spaces nor colons
然后观察自己的文件路径:发现我命名的文件路径名称当中含有空格.(原:linux core/ linux core/.....)
这个由于是自己直接在文件夹当中点击添加文件夹创建的,所以出现了空格编译的错误.
这个时候使用者 mv命令: mv linux core/ 你想命名的文件名/ 修改文件名即可.
make menuconfig 成功.
二. make Linux kernel
直接进行make -j8命令编译.
这是由于Ubuntu缺少组件,执行以下命令即可:
sudo apt-get install libssl-dev