自制小型Linux系统(一)
【详细步骤】
1:找一个新的SCSI接口的Hard Disk 装载到Linux虚拟机上(/dev/sdb),加电。
fdisk /dev/sdb 进行分区,格式化。
2:建立2个挂载点,并分别挂载。
3:构建MBR引导的第一个阶段----->bootloader.
4:切换到 /mnt/boot/grub/,创建缺少的grub.conf配置文件。
5:拷贝原内核文件和内核驱动镜像到当前boot目录下。
cp /boot/vmlinuz-2.6.18-164.el5 /mnt/boot/
cp /boot/initrd-2.6.18-164.el5.img /mnt/boot/
6:解压缩initrd-2.6.18-164.e15.img.编辑里面的的init脚本将有关swap的信息禁用掉。(87行)
7:将修改后的initrd-2.6.18-164.e15.img 重新打包成initrd.gz,并且拷贝到/mnt/boot/下,替换原来的内核驱动镜像。
8:vim /mnt/boot/grub.conf 开机GRUB菜单配置文件。
9:编辑init 进程(/sbin/init),mkdir在/mnt/sysroot/下创建相应的目录。
创建需要的子目录:mkdir usr/lib mkdir etc/rc.d
10:编写一个bash脚本 copy.sh 用于以后各种需求指令的copy以及链接库的一次性拷贝。
11:执行当前目录下的copy.sh脚本将init进程指令需要的相关的链接库拷贝到指定目录。
12:编辑inittab,以及rc.sysinit
13.添加一些额外功能:是系统能执行init 0 而关机。
在/mnt/sysroot/rc.d/目录下建一个可执行的rc.sysdown
文件。并且编辑/mnt/sysroot/etc/inittab.
14:阶段性测试:
系统启动正常;
ls指令测试:
关机测试init 0 :
15:编辑/mnt/sysroot/etc/rc.d/rc.sysinit配置系统的主机名。
创建相应目录:mkdir /mnt/sysroot/etc/sysconfig
编辑需要的文件vim /mnt/sysroot/etc/sysconfig/network
16:编辑yum(/etc/yum.repos.d/rhel-debuginfo.repo )
配置本地yum源。
挂载光盘,切换到/mnt/cdrom/Server/下。
17:yum安装gimp图形处理软件包。
18:yum安装vsftpd,进行相关的配置,并启动服务。启动XFtp软件将所需图片1.jpg导入到Linux系统中。
19:在图形界面字符终端下启动gimp,对图片进行编辑。
20:对grub.conf文件进行编辑,指定图片的位置。
vim /mnt/boot/grub/grub.conf
21:添加网络模块,给系统分配ip地址,192.168.145.101。
配置一些常用参数。Ifconfig、ping、netstat 等.
编辑 /mnt/sysroot/etc/rc.d/rc.sysinit 文件。
22:给小型的Linux添加Ftp服务。
执行copy.sh脚本创建/mnt/sysroot/usr/sbin/vsftpd
/mnt/sysroot/etc/vsftpd/vsftpd.conf 文件及相应目录。
vim /mnt/sysroot/etc/vsftpd/vsftpd.conf 将PAM认证关闭掉。
创建ftp的工作目录:
mkdir ---pv /mnt/sysroot/var/ftp/pub
建立ftp用户,组,密码文件。
cp /etc/passwd /mnt/sysroot/etc/
cp /etc/shadow /mnt/sysroot/etc/
cp /etc/group /mnt/sysroot/etc/
建立ftp 上name与id的映射关系配置文件。
cp /etc/nsswitch.conf /mnt/sysroot/etc/
拷贝需要的动态链接库文件。
编辑配置文件的相关属性。
cp -d /lib/libnss_compat* /mnt/sysroot/lib/
cp -d /lib/libnss_files* /mnt/sysroot/lib/
vim /mnt/sysroot/etc/vsftpd/vsftpd.conf
禁用日志和用户列表。
mkdir -pv /mnt/sysroot/usr/share/empty
23:验证ftp 服务。