自制Linux系统:
1、分区并创建文件系统
[root@localhost6 ~]# fdisk /dev/sdb
分两个必要的分区
/dev/sdb1对应/boot /dev/sdb2对应根/
创建文件系统:
[root@localhost6 ~]# mkfs.ext4 /dev/sdb1 [root@localhost6 ~]# mkfs.ext4 /dev/sdb2
2、创建挂载点,并挂载boot
[root@localhost6 ~]# mkdir/mnt/boot [root@localhost6 ~]# mount /dev/sdb1 /mnt/boot
3、安装grub,生成grub文件
[root@localhost6 ~]# grub-install --root-directory=/mnt/ /dev/sdb
4、建立grub.conf:
[root@localhost6 ~]# vim /mnt/boot/grub/grub.conf
default=0 timeout=3 title mylinux root (hd0,0) kernel /vmlinuz-2.6.32-642.el6.x86_64 root=/dev/sda2 selinux=0 init=/bin/bash initrd /initramfs-2.6.32-642.el6.x86_64.img
5、恢复内核和initramfs文件
[root@localhost6 ~]# cp /boot/vmlinuz-2.6.32-642.el6.x86_64 /mnt/boot/ [root@localhost6 ~]# cp /boot/initramfs-2.6.32-642.el6.x86_64.img /mnt/boot/
6、创建一级目录
[root@localhost6 ~]# mkdir /mnt/sysroot/ [root@localhost6 ~]# mount /dev/sdb2 /mnt/sysroot/
[root@localhost6 ~]# mkdir –pv /mnt/sysroot/{etc,lib,lib64,bin,sbin,tmp,var,usr,sys, proc,opt,home,root,boot,dev,mnt,media}
7、编辑fstab文件
[root@localhost6 ~]# vim /mnt/sysroot/etc/fstab
/dev/sda1 /boot ext4 defaults 1 1 /dev/sda2 / ext4 defaults 1 2
8、复制bash,相关命令和相关库文件
由于文件较多,一个一个复制较为麻烦,所以建议使用脚本,来实现复制任务。
[root@localhost6 ~]# vim copycmd.sh
#!/bin/bash ch_root="/mnt/sysroot" [ ! -d $ch_root ] && mkdir $ch_root bincopy() { if which $1 &>/dev/null; then local cmd_path=`which --skip-alias $1` local bin_dir=`dirname $cmd_path` [ -d ${ch_root}${bin_dir} ] || mkdir -p ${ch_root}${bin_dir} [ -f ${ch_root}${cmd_path} ] || cp $cmd_path ${ch_root}${bin_dir} return 0 else echo "Command not found." return 1 fi } libcopy() { local lib_list=$(ldd `which --skip-alias $1` | grep -Eo ‘/[^[:space:]]+‘) for loop in $lib_list;do local lib_dir=`dirname $loop` [ -d ${ch_root}${lib_dir} ] || mkdir -p ${ch_root}${lib_dir} [ -f ${ch_root}${loop} ] || cp $loop ${ch_root}${lib_dir} done } read -p "Please input a command: " command while [ "$command" != "quit" ];do if bincopy $command ;then libcopy $command fi read -p "Please input a command or quit: " command done
9,现在一个晓得linux已经制作完成,它只有很简单的功能,但是,以后有需要可以再添加其他的功能。下面我们来开机看一下。
这样,一个简单的小linux已经制作完成,可以将它放在U盘等便携式设备上,可以随时使用,修改等。。。
本文出自 “I'm Groot” 博客,请务必保留此出处http://groot.blog.51cto.com/11448219/1853090
原文地址:http://groot.blog.51cto.com/11448219/1853090