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

  前言:

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

一、使用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

(0)
马行空马行空
上一篇 2015-05-28
下一篇 2015-06-01

相关推荐

  • linux bash环境变量简单总结

    一.环境变量简介Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都 是相同的,这个默认环境实际上就是一组环境变量的定义。 环境变量是全局的,设置好的环境变量可以被所有当前用户所运行的程序所使用。 用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。 …

    Linux干货 2015-09-14
  • zabbix快速创建筛选(sql操作)

        公司由于大量业务调整,尤其是服务器功能和性能的转变,监控也跟随这变化,其中操作最为繁琐的当数zabbix筛选(相信各位从页面添加的都深感痛苦)于是有了本文。     本文采用的方法是sql操作(由于本人不会php等,无法写程序直接调用官方api,所以,嘿嘿,不解释,同时也希望各路大…

    Linux干货 2015-12-17
  • N21沉舟第七周作业

    1、创建一个10G分区,并格式为ext4文件系统;    (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;    (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; mke2fs -t ex…

    Linux干货 2016-08-22
  • RPM软件包管理

    Linux应用程序的组成 安装完一个软件包以后,可能会向系统中复制大量的数据文件,并进行相关设置。在Linux系统中,典型的应用程序通常由以下几部分组成。 普通的可执行程序文件:一般保存在“/usr/bin”目录中,普通用户即可执行。 服务器程序、管理程序文件:一般保存在”/usr/sbin“目录中,只有管理员能执行。 配置文件:一般保存在”/etc“目录中…

    Linux干货 2016-08-21
  • 8.3作业

    创建sysadmins组  将user1 user2 user3 加入组中 将user3设置为管理员 用user3登录,将user2从组中移除 设置sysadmins口令centos 设置user1在创建新文件时所属组为sysadmins 删除User1-3 删除sysadmins [root@localhost testdir]#&nb…

    Linux干货 2016-08-04
  • MBR、GPT的结构和区别

    本章学习内容         ——–介绍MBR、GPT         ——–不同的启动流程         ——–分区结构 &nb…

    Linux干货 2016-08-29

评论列表(1条)

  • stanley
    stanley 2015-06-01 19:07

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