制作 小 linux 教程,制作小linux的基本步骤

一、如果grub的配置文件丢失怎么办?

1、我们可以在一台虚拟机上 开启虚拟机 切换目录到 # cd  /boot/grub

2、#ls 看grub目录下有哪些文件可以看到有配置文件grub.conf

3、# mv grub.conf  /tmp  人为的把配置文件弄丢

4、重启虚拟机  会看到出现grub的界面然后做

1)、grub> help   会出现一些命令 然后用find

2)、grub> find (hd0,0)/ 双击tab键    会出现我们想要的东西,比如内核型号、initrd等

3)、grub> root (hd0,0)

4)、grub> kernel /vmlinuz-2.6.18-164.el5

5)、grub> initrd /initrd-2.6.18-164.el5.img

6)、grub> boot  启动

要是不想每次打开虚拟机都做这几步在进入后 # cd /boot/grub   切换到grub目录 然后创建配置文件grub.conf

# vim grub.conf

default=0

timeout=5

tile My linux

root (hd0,0)

kernel /vmlinuz-2.6.18-164.el5  ro root=/dev/sda

initrd /initrd-2.6.18-164.el5

保存退出

二、如和给grub设置密码

1、# cd /boot/groub  切换到grub目录

2、# vim grub.conf   打开配置文件

default=0

timeout=5

password --md5

tile My linux

root (hd0,0)

kernel /vmlinuz-2.6.18-164.el5  ro root=/dev/sda

initrd /initrd-2.6.18-164.el5

3、给密码加密

# grub-md5-crypt  给密码加密   会生成一串乱码

Password:         输入要加密的密码

Retype password:     再次输入密码

$1$f/RqW0$ldzvOE/xuZVhW96ck4Uh3 生成的加密乱码  将这一串乱码粘贴到配置文件中

4、将加密的密码写入配置文件

# vim grub.conf   打开配置文件

default=0

timeout=5

password --md5 $1$f/RqW0$ldzvOE/xuZVhW96ck4Uh3

tile My linux

root (hd0,0)

kernel /vmlinuz-2.6.18-164.el5  ro root=/dev/sda

initrd /initrd-2.6.18-164.el5

:wq   保存退出

完成后 重启虚拟机 # init 6

这时出现的grub编辑界面时和没有加密时的编辑界面略有不同,此时会有一个p选项即按p键输入密码后才能编辑

三、制作小linux

在安装好grub的基础上,用同一块硬盘只要添加上内核和一些基本的目录

1、# cd /mnt/boot  切换到/mnt/boot/

2、  #cp /boot/vmlinuz-2.6.18-164.el5 /mnt/boot/vmlinuz   把boot目录下的内核拷贝到/mnt/boot/下

3、#mkdir /tmp/linux 在tmp下创建目录

4、# cd   /tmp/linux

5、# vim init  打开init文件找到mkrootdev -t ext3 -o defaults,ro /dev/vol0/root改为mkrootdev -t ext3 -o defaults,ro /dev/sda2

6、创建第二个分区 # echo '

> n

>p

>2

>

>+512M

>w ' | fdisk /dev/sdb &> /dev/null

7、格式化sdb2 # mkfs -t ext3 /dev/sdb2

# partprobe /dev/sdb2

8、# mkdir /mnt/sysroot

# mount /dev/sdb2 /mnt/sysroot 挂载sdb2到 /mnt/sysroot

9、ls /mnt/sysroot  看一下里面有什么文件

10、cd /mnt/sysroot  切换目录到/mnt/sysroot

11、mkdir sbin   在当前目录下创建目录sbin

12、 cp /sbin/init sbin/  把sbin下的init拷贝到当前sbin目录下

13、mkdir etc  创建目录etc

14、 vim etc/inittab  写文件

id:3:initdefault:

si:sysinit:etc/rc.d/rc.sysinit

:wq 保存退出

15、# mkdir etc/rc.d

# vim etc/rc.d/rc.sysinit

#! /bin/bash

#

echo -e "\tWelcome to linux"

/bin/bash

:wq

16、 #mkdir bin

# cp /bin/bash bin/

# ls bin/ 可以确认一下里面有没有bash

17、  # chmod +x etc/rc.d/rc.sysinit 给这个文件执行权限

18、测试  #cd

# chroot /mnt/sysroot   测试是否可以运行 这里显然是不能的,因为sbin 和 bin 都有依赖的库文件

19、 # ldd /bin/bash  查看依赖那些库文件 然后将这些库文件拷贝到/mnt/sysroot/bin下

20、 # cd /mnt/sysroot 再次切换

21、# mkdir lib  创建存放库文件的目录

# cp /lib/libtermcap.so.2  lib/

# cp /lib/libdl.so.2  lib/

# cp /lib/libc.so.6 lib/

# cp /lib/ld-linux.so.2 lib/

拷贝这些库文件到lib目录下

22、# ldd /sbin/init   验证init是否需要库文件

# cp /lib/libsepol.so.1 lib/

# cp /lib/libselinux.so.1 lib/

也许你会问这里的库文件怎么这么少,那是因为之前21步时已经拷贝过的这里只需拷贝之前没有的

23、# cd  切换回来

# chroot  /mnt/sysroot  这时就可以了

# exit 退出

24、其实进行到这里还缺很多目录,接下来创建这些目录

# cd /mnt/sysroot

# mkdir var home proc sys dev srv mnt media tmp usr opt misc

# ls

25、# cd /tmp/linux/

# ls  看这个目录下有什么文件若有initrd-2.6.18-164.el5.img 就 # rm initrd-2.6.18-164.el5.img

# ls

#vim init  这个在之前第五步时已经改过这里就不需要改了

26、 # find . | cpio -o -H newc --quiet | gzip -9 > /mnt/boot/initrd.gz  把当前目录封装一下

# ls

27、# cd /mnt/sysroot

# ls

# tree .   看一下目录结构是否缺少什么

28、#cd /mnt/boot/

# cd grub/   grub还缺少配置文件所以创建一个

# ls

# vim grub.conf

default=0

timeout=5

tile linux

root(hd0,0)

kernel/vmlinuz ro root=/dev/sda2

initrd /initrd.gz

:wq

# sync   同步到磁盘

29、把宿主机挂起,再启动只装有grub的那台虚拟机

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值