自制linux(以bash为第一个进程)

一.自制linux系统相关知识

分区并创建文件系统

fdisk /dev/sdb

分两个必要的分区
/dev/sdb1对应/boot /dev/sdb2对应根 /

mkfs.ext4 /dev/sdb1
mkfs.ext4 /dev/sdb2

挂载boot
mkdir /mnt/boot 子目录必须为boot

mount /dev/sdb1 /mnt/boot

安装grub

grub-install --root-directory=/mnt /dev/sdb

恢复内核和initramfs文件

 cp /boot/vmlinuz-2.6.32-642.el6.x86_64 /mnt/boot/
 cp /boot/initramfs-2.6.32-642.el6.x86_64.img /mnt/boot

建立grub.conf

 vim /mnt/boot/grub/grub.conf 
title wanglinux
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 

切根chroot /mnt/sysroot

创建一级目录

mkdir /mnt/sysroot
mount /dev/sdb2 /mnt/sysroot
mkdir –pv
/mnt/sysroot/{etc,lib,lib64,bin,sbin,tmp,var,usr,sys,proc,opt,home,root,boot,dev,mnt,media}

复制bash和相关库文件
复制相关命令及相关库文件

如:ifconfig,insmod(和网络相关),ping,mount,ls,cat,df,lsblk,blkid等

一. 实例:

计算机启动,系统第一个进程默认找的是/sbin/init
涉及到**/etc/initab 、/etc/rc.d/rc.syscinit**文件(特别麻烦
用bash作为系统的第一个进程就不需要读以上这些文件

逻辑:加一块硬盘一定要记住硬盘名字(部署新的linux系统)—然后拆下来装到一个新的机器上去(就ok)
在这里插入图片描述
在这里插入图片描述
划分分区 (一个/ ,一个/boot ,一个swap)
用fdisk
sdd1当/boot
sdd2当根
sdd3当swap

在这里插入图片描述
创建文件系统

mkfs.ext4 /dev/sdd1 /dev/sdd2

在这里插入图片描述
没有grub的第一阶段
在这里插入图片描述

安装grub的stage阶段

不能用grub-install /dev/sdb
因为这样直接就把grub的三个阶段都安装了
stage1_5和stage2阶段在/boot下面(但是得安装在/dev/sdd1中)
所以首先得挂载boot
在这里插入图片描述
将stage1_5和stage2阶段直接指定放在/mnt/boot中
指定- -root-directory=/mnt 为boot的上级目录
在这里插入图片描述
缺少好多文件
在这里插入图片描述
补充boot中的文件
将根下的vmlinuz和initramfs.img拷贝过去
在这里插入图片描述
然后手写/mnt/boot/grub/grub.conf文件
在这里插入图片描述
在这里插入图片描述

拷贝工具放到新的根里面

首先得挂载根
在这里插入图片描述
创建etc,boot,dev,proc,home,lib,lib64,sys,usr,usr,sbin,tmp,var目录
在这里插入图片描述
拷贝必要的文件
bash ,ls,df,blkid,lsblk,mount,insmod,ifconfig,ip,cp,tree,mv,top等等拷贝这些命令二进制文件
网卡驱动模块

在这里插入图片描述
查看一下

在这里插入图片描述
如果切根就相当于把/mnt/root当成为真正的根
在这里插入图片描述

拆下硬盘接到一个新的机器中

新建一个linux将默认硬盘删掉
在这里插入图片描述
改成刚才自己制作的那个硬盘
在这里插入图片描述
然后删掉默认硬盘,添加自己制作的新硬盘
在这里插入图片描述
然后就可以启动

给他加载网卡

insmod /lib/e1000.ko

网卡驱动就出来了
在这里插入图片描述
添加一个网络地址
就可以拼通其他地址
在这里插入图片描述

可以参考LFS文档(从头到尾构建一个自己的linux系统)

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值