成功完成Linux建立最小根文件的过程
创始人
2024-06-17 16:31:46
0

在学习Linux操作系统时会遇到这样那样的问题,本文讲解一些会遇到的问题,比如说怎样为Linux建立最小根文件系统,希望你能学会Linux建立最小根文件系统。在编译内核时候,可以指定一个文件夹作为内核启动时候的根文件系统,Linux中管这个文件系统叫做initramfs。

具体做法如下(以i386为例)

1.下载内核文件

wget http://www.kernel.org/pub/Linux/kernel/v2.6/Linux-2.6.26.tar.bz2

2.解压内核

bzip2 -d Linux-2.6.26.tar.bz2生成一个Linux-2.6.26.tar文件,然后

tar xvf Linux-2.6.26.tar

解压后,将有个Linux-2.6.26文件夹存在

3.准备一个iniramfs文件系统的文件夹

在Linux-2.6.26文件夹下建立一个文件夹 myinitramfs

写一个测试用的hello world,起名为hello.c,如下:

  1. #include  
  2. #include  
  3. int main(int argc,char *argv[])  
  4. {  
  5. int i = 0;  
  6. while (1) {  
  7. printf("hello world (%d)\n",i);  
  8. }  
  9.  return 0;  

编译gcc -static -o init hello.c

把init拷贝到myinitramfs文件夹下。

cp init myinitramfs/

由于需要显示文字,还需要在文件夹下准备console设备文件。

mkdir myinitramfs/dev

cp -a /dev/console myinitramfs/

4.编译内核

在Linux-2.6.26文件下下,执行make help。

将看到很多帮助信息,其中有一项是 i386_defconfig

执行 make i386_defconfig,将生成一个.config文件。

为了把之前准备好的文件夹添加到内核配置文件中,还需要重新配置下config文件

  1. make config  
  2. 在 General Setup ---> 
  3. Initial RAM filesystem and RAM disk (initramfs/initrd) support (BLK_DEV_INITRD) [Y/n/?]  
  4. Initramfs source file(s) (INITRAMFS_SOURCE) [myinitramfs] 

处,输入准备好的文件夹.

 配置好后,在.config文件中会有如下一条定义

CONFIG_INITRAMFS_SOURCE="myinitramfs"

保存.config

make 编译内核

5.用qemu测试内核和initramfs

qemu -kernelLinux-2.6.26/arch/i386/boot/bzImage-initrd Linux-2.6.26/usr/initramfs_data.cpio.gz/dev/zero

initramfs_data.cpio.gz 这个文件是内核自动生成的,具体名字可能不同的系统或者内核有差异,但是后缀应该是.cpio.gz

成功的完成了Linux建立最小根文件系统的过程。

【编辑推荐】

  1. 阐述Linux操作系统安装无线网卡驱动
  2. Wine成功运行Bitcomet于Linux操作系统中
  3. 浅析Linux操作系统中开源Cisco路由虚拟机
  4. Linux操作系统基本知识
  5. 学习手册:Linux操作系统下的poll和select

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...