且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

简单复制粘贴个linux红帽6

更新时间:2022-09-17 08:10:27

我们先简单搞个linux,首先掌握其骨架

1.先在一个硬盘上创建两个分区,并且创建文件系统,然后将两个分区分别挂载在/mnt/boot,/mnt/myroot上。

其中/mnt/boot模仿真正linux中/boot./mnt/myroot模仿 根目录‘/’

2.安装grub.grub-install --root-diretctory=/mnt /dev/sdb。就会自动建立个grub目录

3.在/mnt/boot中把简单复制粘贴个linux红帽6

上图中的initramfs-2.6...和vmlinuz赋值到/mnt/boot/中,并在/mnt/boot/grub目录中建立grub.conf文件。简单复制粘贴个linux红帽6

这里default=0是指默认启动第一个root kernel initrd就是567行的内容。

timeout=10只等待选择启动grub菜单界面的时间。

这里kernel后面可以加个quiet或txt.分别表示系统开启时不显示,显示在txt菜单中。


3.在/mnt/myroot/目录下加入bin,boot,dev,etc/rc.d,home,lib,proc,root,sbin,sys,tmp,usr/{bin,sbin},var/log

4.把二进制程序/sbin/init复制到/mnt/myroot/sbin

  把/bin/bash 赋值到/mnt/myroot/bin

5.执行init需要对应得一些库

  使用ldd /sbin/init去查找init需要什么库文件,将需要的库文件拷贝到/mnt/myroot/lib中即可。

  用同样的方法把/bin/bash需要的库同样拷贝进去。

6.因为redhat6的系统中与redhat5系统在init中做了修改,这里原来在/etc/inittab中的功能分割到了/etc/inittab和/etc/init目录中。因为/etc/rc.d/rc.sysinit的执行由/etc/init/rcS.conf中执行,所以必须把这个文件也要辅助过去。

7.自己建立个/mnt/myroot/etc/rc.d/rc.sysinit文件,

  在里面开启/bin/bash

  1 #! /bin/bash

  2 #

  3 echo -e "\tWelcome to \e[31msuper star \033[0m linux."

  4 insmod /lib/modules/mii.ko

  5 insmod /lib/modules/pcnet32.ko

  6 ifconfig eth0 192.168.18.201/24

  7 ifconfig lo 127.0.0.1/8

  8 /bin/bash

8.建立完成之后一定要复制/etc/selinux到/mnt/myroot/selinux中。因为没有这个软件不可以正常启动init

9.注意这里还不可以,会提示你init:failed to spawn....:no such factory等等问题。这时候你需要建立一个bash的软链接/bin/sh 命令ln -s bash /mnt/myroot/bin/sh .


  

ps:这里说明一下/bin ,/sbin,/usr/bin,/usr/sbin的区别

  1./bin目录下都是系统必备的执行程序。例如 awk cut mail bash sleep su

  2./sbin放一些系统管理的必备程序。例如 ifconfig free mke2fs mkswap modinfo fsck restart fdisk

  3./usr/bin目录下放置的一些应用软件的执行文档。例如 find locate free g++ renice

  4./usr/sbin下放置一些关于网络管理的文档。例如


其实linux磁盘镜像文件中包含很多rpm包,可以将其挂载在/mnt/cdrom上,设置在/etc/yum.repos.d/cdrom.repo文件,将baseurl=/mnt/cdrom/Packages。就可以正常使用yum install 命令了。


注意使用sync 命令将缓冲区的内容写到磁盘中,防止一旦断电后缓冲区的内容未写入磁盘中。在使用cp之后也要使用两次。




本文转自 神迹难觅 51CTO博客,原文链接:http://blog.51cto.com/ji123/1944199,如需转载请自行联系原作者