首页 > 系统相关 >自制linux系统

自制linux系统

时间:2022-12-15 18:37:32浏览次数:51  
标签:grub 系统 自制 CMD boot mnt linux PATH root

附加一块磁盘并进行分区,至少分区2个,一个用于/boot 一个用于根目录/

自制linux系统_自制linux

自制linux系统_自制linux_02

在将创建的分区进行格式化并挂载在/mnt/boot 和 /mnt/root下分别代表为根目录和boot目录

自制linux系统_自制linux_03

对磁盘464个字节进行grub安装,安装完成后会有grub文件夹,相应的grub stage将出现

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

自制linux系统_自制linux_04

将内核文件和initramfs文件拷贝至/mnt/boot下

root@LGW-Linux-6 boot]# cp /boot/vmlinuz-2.6.32-642.el6.x86_64  /mnt/boot/vmlinuz
[root@LGW-Linux-6 boot]# cp /boot/initramfs-2.6.32-642.el6.x86_64.img /mnt/boot/initramfs.img

建立grub.conf文件

vim /mnt/boot/grub/grub.conf
default=0
timeout=5
title linux made by lgw
root (hd0,0)
kernel /vmlinuz root=/dev/sda2 selinux=0 init=/bin/bash
initrd /initramfs.img

准备相应的进程程序(脚本如下)

#/bin/bash
. /etc/init.d/functions
DIR=/mnt/root
while true;do
read -p "please input command:" CMD
CMD_PATH=`which $CMD`
if [ $CMD = "quit" ];then
echo 退出
break
elif [ $CMD_PATH ];then
[ -d $DIR`dirname $CMD_PATH` ] && cp $CMD_PATH $DIR`dirname $CMD_PATH` || mkdir $DIR`dirname $CMD_PATH` && cp $CMD_PATH $DIR`dirname $CMD_PATH`
for path in `ldd $CMD_PATH |sed -nr 's/.*(\/lib64.*)\(.*/\1/gp'`;do
mkdir $DIR`dirname $path` &>/dev/null
cp $path $DIR$path
done
else
echo "$CMD is not command"
fi
done

建立根目录下的文件夹 proc lib sys etc等

自制linux系统_自制linux_05

准备网卡驱动

[root@LGW-Linux-6 root]# ethtool -i eth1
driver: vmxnet3
version: 1.4.2.0-k-NAPI
firmware-version:
bus-info: 0000:0b:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no
[root@LGW-Linux-6 root]# modinfo -n vmxnet3
/lib/modules/2.6.32-642.el6.x86_64/kernel/drivers/net/vmxnet3/vmxnet3.ko
[root@LGW-Linux-6 root]# cp /lib/modules/2.6.32-642.el6.x86_64/kernel/drivers/net/vmxnet3/vmxnet3.ko /mnt/root/lib/

测试切入

自制linux系统_自制linux_06

挂载其他虚拟机上,测试启动

标签:grub,系统,自制,CMD,boot,mnt,linux,PATH,root
From: https://blog.51cto.com/gavenlee/5945624

相关文章

  • Linux 常用命令整理
    【常用命令】  查询当前时间:date  修改时间:tzselect #根据提示输入编号  显示当前绝对路径:pwd  重启系统:reboot  在指定文件中查找某内容:grep"某......
  • Linux安装 nginx
    安装nginx:在linux下安装nginx,首先需要安装gcc-c++编译器。执行文件make和安装nginx依赖的pcre和zlib包。最后安装nginx即可。  yum-yinstallmake  yum-y......
  • Linux 安装 Jdk1.8
    1、下载:jdk1.8.0_131-linux-64.tar.gz2、解压:tar-zxvfjdk1.8.0_131-linux-64.tar.gz3、修改环境变量:vi/etc/profile   到文件最低部添加:     exportJA......
  • Linux 安装 Flink
    文档:https://ifeve.com/flink-quick-start/下载地址:https://flink.apache.org/downloads.html下载:https://dlcdn.apache.org/flink/flink-1.15.1/flink-1.15.1-bin-scal......
  • 221215_文件系统造成“占用空间”与“大小”不同
    存储空间都去哪了?占用空间比文件大太多?可能是文件系统和默认簇大小惹的祸小平友littlePING于2019-11-3019:20:28发布9049收藏12文章标签:文件系统簇硬盘占用空......
  • Python_帮助系统和自查自学命令
    pythonPython类中,凡是以双下划线"__"开头和结尾命名的成员(属性和方法),都被称为类的特殊成员(特殊属性和特殊方法)。例如,类的init(self)构造方法就是典型的特殊方法库......
  • [ Linux ] 线程独立栈,线程分离,Linux线程互斥
    1.线程栈我们使用的线程库是用户级线程库(pthread),我们使用lddmythread可以查看mythread的链接信息。因此对于一个线程(tast_struct)都是通过在共享空间内执行pthread_crea......
  • 系统入门到实战学习某项技术、有问题找"百度"、学习大佬的技术博客、找开源代码等资料
    一、系统入门到实战学习某项技术先看视频入门到实战(B站、慕课网)然后看书,再把知识的体系串起来二、有问题找"百度"1、学习各种疑惑,问搜索引擎【最大的学习资料库】■搜索......
  • 概念 | 电力系统额定电压
    概念|电力系统额定电压01设备额定电压存在意义:在额定电压条件下运行,具有最好的技术特性和经济效果便于成批生产和设备的互换设备额定电压通常与系统额定电压相互......
  • liunx 系统 mysql 登录初始化
    1.初始化密码登录1.1查看初始化密码: 输入指令  #cat/var/log/mysqld.log日志记录里有初始化密码,复制密码保存登录数据库再修改 ......