一次简单的内核编译(二)

  前言:

    此次编译是继一次简单的内核编译(一)进行操作编译的,请先查看第一篇再来看此片文章

一、使用busybox代替自己制作的init脚本,实现内核启动;

 1、在这里我们使用静态编译busybox,所以需要先安装glibc-static依赖包,如果不安装会报错

  45.png

 2、解压busybox到/usr/src/,切换到解压目录,运行make menuconfig

  43.png

 

 3、在busybox编译菜单中选择静态编译,以便于我们使用时方便  44.png

 

  4、选择好静态编译后,保存退出,运行make进行编译,编译完成后,运行make install进行安装,安装成功后生成以下文件及目录46.png

  5、cd /mnt/sysroot/目录中,使用cpio归档当前所有文件做备份,备份完成后删除所有文件

  47.png

  复制编译busybox时产生的文件到/mnt/sysroot/,复制时使用-a选项,保持源文件的属性

  48.png

 

 6、复制完成后,确保/mnt/sysroot/sbin/目中要有init脚本

  49.png

 7、删除linuxrc链接文件,然后创建系统初始化所需要的目录

50.png

54.png

 8、在/mnt/sysroot/etc/目中中创建network文件,内容如下:

 51.png

 9、在/mnt/sysroot/etc/rc.d/目中创建rc.sysinit系统初始化脚本,内容如下:

  57.png

 10、创建完成后,给/mnt/sysroot/etc/rc.d/rc.sysinit.添加执行权限

  53.png

 

 11、在/mnt/sysroot/etc/中创建系统初始化需要的文件inittab,内容如下:

  56.png

  12、创建启动时需要的字符设备

  58.png

  13、运行sync同步数据,然后挂起宿主机,启动新建的虚拟机,启动结果如下:

  59.png

  14、关闭新建的虚拟机,启动宿主机,在/mnt/sysroot/etc/inttab中定义,系统启动时启动多个终端

  60.png

  

 15、运sync同步数据,挂起宿主机,启动新建的虚拟机,启动结果如下

  61.png

  62.png

  63.png

 16、至此简单的内核编译完成,可以玩耍了,本人写的不好,请大侠多多指教

原创文章,作者:马行空,如若转载,请注明出处:http://www.178linux.com/4875

评论列表(1条)

  • stanley
    stanley 2015-06-01 19:07

    小伙伴们的图越来越专业了