Linux系统裁剪

在虚拟机上完成的

1,新增虚拟磁盘,对磁盘分区格式化,并挂载

fdisk /dev/sdd

mkfs.ext4 /dev/sdd1

mkfs.ext4 /dev/sdd2

mkdir /mnt/{boot,sysroot}

mount /dev/sdd1 /mnt/boot

mount /dev/sdd2 /mnt/sysroot

2,创建根文件系统,移植需要的命令,函数库,内核模块

cd /mnt/sysroot

mkdir -pv etc boot usr/{bin,lib,lib64} lib/modules lib64 proc sys bin sbin var dev

移植命令脚本,移植命令就要移植相应的函数库

#!/bin/bash

while true;do

read -p "Enter a command: " comm

[ $comm == quit ]&&exit

commd=`which --skip-alias $comm`

dircommd=`dirname $commd`

if ! [ -e /mnt/sysroot$dircommd ];then

mkdir -p /mnt/sysroot$dircommd

cp $commd /mnt/sysroot$dircommd

else

cp $commd /mnt/sysroot$dircommd

fi

for i in `ldd $commd|egrep -o "/[^[:space:]]+"`;do

if ! [ -e /mnt/sysroot`dirname $i` ];then

mkdir -p /mnt/sysroot`dirname $i`

cp $i /mnt/sysroot`dirname $i`

else

cp $i /mnt/sysroot`dirname $i`

fi

done

done

~

移植需要的内核模块

cp /lib/modules/2.6.32-431.el6.x86_64/kernel/drivers/net/e1000/e1000.ko /mnt/sysroot/lib/modules/

3,安装grub

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

4,准备内核和initrd文件

cp /boot/vmlinuz-2.6.32-431.el6.x86_64 /mnt/boot/vmlinuz

cp /boot/initramfs-2.6.32-431.el6.x86_64.img /mnt/boot/initramfs.img

5,创建grub配置文件

vim /mnt/boot/grub/grub.conf

6,创建sbin/init

vim /mnt/sysroot/sbin/init

chmod a+x /mnt/sysroot/sbin/init;sync;sync

然后把磁盘(/dev/sdd)放到一个新的虚拟机上

然后就可以跑起来了

linux启动过程及内核裁剪,裁剪测试Linux启动流程相关推荐

  1. linux启动过程中内核拷贝,轻松识破linux内核启动过程中的“”套路“”

    内核启动流程相关的内容让很多热爱linux的小伙伴既爱又恨,因为这是了解linux系统基本构造的良好过程同时由于其本身复杂且底层,脑子中的脉络不是很清晰,本文就总结了一些优秀博文,以自己的理解来解构一 ...

  2. [转载] Linux启动过程详解-《别怕Linux编程》之八

    本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...

  3. Linux内核可自己增加吗6,一篇最完善可行的Linux 2.6.10内核升级文档Linux -电脑资料...

    一篇最完善可行的Linux 2.6.10内核升级文档 huangki | 05 三月, 2005 23:22 Linux 2.6.10 kernel installation 做一件事情,首先要知道自 ...

  4. linux 3.5.0-23-generic内核版本系统调用数目,Linux操作系统分析(三)- 更新内核与添加系统调用...

    环境:Ubuntu 12.10     学号:SA****199 1.更新内核: 直接安装的系统内核版本一般不是最新,用 uname -a 查看一下 自己的版本,OK,我的是: Linux chenh ...

  5. IBM计算机启动过程,ibm台式机bios设置u盘启动教程【图文教程】

    如今的电脑就是分为两种,一种是笔记本,另外一种就是台式机,但是不管是台式机还是笔记本,它们的选择启动项都是F12键,我们在 电脑开机 后都能按F12键进入启动选择的功能上,但是对英文不熟悉的朋友恐怕无 ...

  6. linux用户空间和内核exit的语义--linux没有线程

    如果你在程序中调用了exit,那么很显然你的程序会退出,可是至于为何会退出那就是库的事情了,我为什么说只是库的事情而不关linux内核的事情呢?那是因为linux内核根本不管用户空间的行为策略.库的策 ...

  7. 嵌入式Linux应用与开发——内核配置选项含Linux最新版本kernel下载后续操作

    下载官网的最新Linux内核版本,Linux虚拟机中Ubuntu 下载速度慢,更换镜像源后使下载速度正常.这是一个.tar.xz文件,我们要先来解压它.下面是下载内核解压文件编译内核配置内核的全过程. ...

  8. linux安装过程进入终端,怎么安装国产Linux中标麒麟操作系统?安装全过程分享...

    本教程是Linux和Windows做双系统教程,一般是安装Windows XP/Windows 7的机器需要安装国产Linux中标麒麟桌面操作系统的朋友使用,中标麒麟操作系统英文名是NeoKylin ...

  9. 在计算机启动过程中按F8,Win8如何在启动时按F8出现修复计算机选项

    Win8在启动时按F8出现修复计算机选项的方法如下: 在Win7以及更早的Windows系统中,开机按shift+F8可以进入"高级启动选项",Windows 7在默认安装情况下& ...

最新文章

  1. python linux编程与window编程_Python实现Windows和Linux之间互相传输文件(文件夹)的方法...
  2. python画圆形螺旋线_这个Python项目,一秒生成可爱像素风图片
  3. 编写css让一个已知宽高的div元素水平居中?垂直居中
  4. mount: unknown filesystem type 'LVM2_member'解决方案
  5. 德勤预判:2022技术七大趋势
  6. python爬取豆瓣影评生成词云的课程设计报告_简单爬取《小丑》电影豆瓣短评生成词云...
  7. SpringCloud工作笔记052---各种数据库在java中的连接配置_以及连接驱动
  8. Linux系统Bash(Shell)基础知识(4)
  9. 计算机控制电子点火系控制电路分析,点火示波器的工作原理 用示波器诊断点火系故障方法...
  10. 华为研发工程师笔试编程题
  11. onenote2016下载地址
  12. Tmux_Hotkey
  13. SAP ABAP APO计划订单生产日期调整
  14. 硬盘读不出来如何恢复?好用的数据恢复软件分享
  15. RK3288功能介绍
  16. 谈论AI之前,你搞懂人类了吗?
  17. (一)大型电商详情页亿级缓存架构简介
  18. 线程(六)之LOCK和synchronized
  19. ArcGIS中将一个shp图层批量分割成单个的shp;shp批量转geojson
  20. 带email认证的用户注册网站

热门文章

  1. Mule ESB 学习笔记
  2. 统计每年入职的员工个数
  3. 线性代数之矩阵偏导续
  4. 深入浅出设计模式原则之接口隔离原则(ISP)
  5. Qt学习笔记之网络和连接
  6. SSD训练自己的数据集
  7. 反向传播算法最全解读,机器学习进阶必看!
  8. matlab创建二叉树(二维数据)
  9. Android Context初探
  10. dotnetcore Http服务器研究(一)