Ubuntu编译Linux kernel环境搭建

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 的时候遇到以下问题:

        Ubuntu编译Linux kernel环境搭建_第1张图片

      打开linux kernel下的Makefile文件,定位到442和1607行:

      

1在makefile中将442行:
 
    
  1. config %config: scripts_basic outputmakefile FORCE
改为
 
    
  1. %config: scripts_basic outputmakefile FORCE
2在makefile中将1607行:
 
    
  1. / %/: prepare scripts FORCE
改为
 
   
  1. %/: prepare scripts FORCE
  然后在root用户下进行编译:

    出现这个错误: error main directory cannot contain spaces nor colons

    然后观察自己的文件路径:发现我命名的文件路径名称当中含有空格.(原:linux core/ linux core/.....)

               这个由于是自己直接在文件夹当中点击添加文件夹创建的,所以出现了空格编译的错误.

               这个时候使用者 mv命令: mv linux core/     你想命名的文件名/ 修改文件名即可.



              make menuconfig 成功.



二.  make Linux kernel

               直接进行make -j8命令编译.

     Ubuntu编译Linux kernel环境搭建_第2张图片


这是由于Ubuntu缺少组件,执行以下命令即可:

     sudo apt-get install libssl-dev

你可能感兴趣的:(Ubuntu系统)