自制Linux系统实验

1、添加一块新硬盘、并使系统识别

[root@centos6 ~]# echo "- - -" > /sys/class/scsi_host/host0/scan 
[root@centos6 ~]# echo "- - -" > /sys/class/scsi_host/host1/scan 
[root@centos6 ~]# echo "- - -" > /sys/class/scsi_host/host2/scan
[root@centos6 ~]# lsblk
.............
sdc      8:32   0    20G  0 disk

2、分区,格式化

[root@centos6 ~]# fdisk /dev/sdc
[root@centos6 ~]# lsblk 
sdc      8:32   0    20G  0 disk 
├─sdc1   8:33   0 305.9M  0 part 
├─sdc2   8:34   0    10G  0 part 
├─sdc3   8:35   0     1K  0 part (扩展分区)
└─sdc5   8:37   0     2G  0 part 
[root@centos6 ~]# mkfs.ext4 /dev/sdc1
[root@centos6 ~]# mkfs.ext4 /dev/sdc2
[root@centos6 ~]# blkid
/dev/sdc1: UUID="b08d627b-e0ac-4623-9a72-7b9aecfc005e" TYPE="ext4" 
/dev/sdc2: UUID="e80e35d8-d510-4d17-be71-561a3a48cfbb" TYPE="ext4"

3、进行新系统的boot目录制作

[root@centos6 ~]# mkdir /mnt/boot
[root@centos6 ~]# mount /dev/sdc1 /mnt/boot
[root@centos6 ~]# grub-install --root-directory=/mnt /dev/sdc
[root@centos6 ~]# cp /boot/initramfs-2.6.32-642.el6.x86_64.img /mnt/boot/initramfs
[root@centos6 ~]# cp /boot/vmlinuz-2.6.32-642.el6.x86_64 /mnt/boot/vmlinuz
[root@centos6 ~]# ls /mnt/boot/
grub  initramfs  lost+found  vmlinuz
[root@centos6 ~]# vim /mnt/boot/grub/grub.conf
default=0
timeout=5
hiddenmenu
title My Mini Linux
        root (hd0,0) 
        kernel /vmlinuz ro root=/dev/sda2 selinux=0 init=/bin/bash
        initrd /initramfs

4、进行新系统的/目录制作

[root@centos6 ~]# mkdir /mnt/sysroot
[root@centos6 ~]# mount /dev/sdc2 /mnt/sysroot/
[root@centos6 ~]# cd /mnt/sysroot/
[root@centos6 sysroot]# ls
lost+found
[root@centos6 sysroot]# mkdir {bin,boot,dev,etc,home,lib,lib64,proc,root,sbin,sys,usr}
[root@centos6 sysroot]# ls
bin  boot  dev  etc  home  lib  lib64  lost+found  proc  root  sbin  sys  usr
[root@centos6 sysroot]# copycmd.sh bash (自己编写的命令复制脚本)[手动复制时,注意路径和库文件要一并复制]
复制一些常用的命令:echo ls cat cd pwd mkdir touch...
[root@centos6 sysroot]# tree bin
bin
├── bash
├── cat
├── ls
├── mkdir
├── pwd
└── touch
0 directories, 6 files
[root@centos6 sysroot]# tree lib64
lib64
├── ld-linux-x86-64.so.2
├── libacl.so.1
├── libattr.so.1
├── libcap.so.2
├── libc.so.6
├── libdl.so.2
├── libpthread.so.0
├── librt.so.1
├── libselinux.so.1
└── libtinfo.so.5
0 directories, 10 files

5、测试启动

blob.png

blob.png

原创文章,作者:sixijie,如若转载,请注明出处:http://www.178linux.com/46280

(0)
sixijiesixijie
上一篇 2016-09-19
下一篇 2016-09-19

相关推荐

  • Linux文件管理&bash特性

    Linux上的文件管理命令 目录管理命令: mkdir:make directories mkdir [OPTION]… DIRECTORY… -p: 自动按需创建父目录; -v: verbose,显示详细过程; -m MODE:直接给定权限; 注意:路径基名方为命令的作用对象;基名之前的路径必须得存在; r…

    Linux干货 2016-09-28
  • Linux运维学习历程-第七天-Linux文本工具及正则表达式

    文本处理工具: Linux文本处理三剑客:   grep、egrep、fgrep:文本过滤工具(模式:pattern)工具      grep:基本正则表达式 -E -F      egrep:扩展正则表达式 -G -F      fgrep:不支持正则表达式…

    Linux干货 2016-08-10
  • 马哥教育21期网络班—第15周课程+练习

    2、删除/boot/grub/grub.conf文件中所有行的行首的空白字符; sed 's@^[[:space:]]\+@@' /boot/grub/grub.conf 3、删除/etc/fstab文件中所有以#开头,后跟至少一个空白字符的行的行首的#和空白字符; sed 's@^#[[:spac…

    Linux干货 2016-11-14
  • linux 文本切片处理技巧

    shell中截取字符串的方法有很多中, ${expression}一共有9种使用方法。 ${parameter:-word} ${parameter:=word} ${parameter:?word} ${parameter:+word} 上面4种可以用来进行缺省值的替换。 ${#parameter} 上面这种可以获得字符串的长度。 ${parameter%…

    Linux干货 2017-04-04
  • N25期第三周作业

    1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可 who|awk ‘{print $1}’|sort -u 2.取出最后登录到当前系统的用户的相关信息 last -1 3.取出当前系统上被用户当作其默认shell的最多的那个shell cat /etc/passwd|awk -F: ‘{print $NF}’|sort…

    Linux干货 2016-12-12
  • lvm逻辑卷

    创建逻辑卷

    2017-12-17