linux启动过程及内核裁剪,裁剪测试Linux启动流程
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启动流程相关推荐
- linux启动过程中内核拷贝,轻松识破linux内核启动过程中的“”套路“”
内核启动流程相关的内容让很多热爱linux的小伙伴既爱又恨,因为这是了解linux系统基本构造的良好过程同时由于其本身复杂且底层,脑子中的脉络不是很清晰,本文就总结了一些优秀博文,以自己的理解来解构一 ...
- [转载] Linux启动过程详解-《别怕Linux编程》之八
本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...
- Linux内核可自己增加吗6,一篇最完善可行的Linux 2.6.10内核升级文档Linux -电脑资料...
一篇最完善可行的Linux 2.6.10内核升级文档 huangki | 05 三月, 2005 23:22 Linux 2.6.10 kernel installation 做一件事情,首先要知道自 ...
- linux 3.5.0-23-generic内核版本系统调用数目,Linux操作系统分析(三)- 更新内核与添加系统调用...
环境:Ubuntu 12.10 学号:SA****199 1.更新内核: 直接安装的系统内核版本一般不是最新,用 uname -a 查看一下 自己的版本,OK,我的是: Linux chenh ...
- IBM计算机启动过程,ibm台式机bios设置u盘启动教程【图文教程】
如今的电脑就是分为两种,一种是笔记本,另外一种就是台式机,但是不管是台式机还是笔记本,它们的选择启动项都是F12键,我们在 电脑开机 后都能按F12键进入启动选择的功能上,但是对英文不熟悉的朋友恐怕无 ...
- linux用户空间和内核exit的语义--linux没有线程
如果你在程序中调用了exit,那么很显然你的程序会退出,可是至于为何会退出那就是库的事情了,我为什么说只是库的事情而不关linux内核的事情呢?那是因为linux内核根本不管用户空间的行为策略.库的策 ...
- 嵌入式Linux应用与开发——内核配置选项含Linux最新版本kernel下载后续操作
下载官网的最新Linux内核版本,Linux虚拟机中Ubuntu 下载速度慢,更换镜像源后使下载速度正常.这是一个.tar.xz文件,我们要先来解压它.下面是下载内核解压文件编译内核配置内核的全过程. ...
- linux安装过程进入终端,怎么安装国产Linux中标麒麟操作系统?安装全过程分享...
本教程是Linux和Windows做双系统教程,一般是安装Windows XP/Windows 7的机器需要安装国产Linux中标麒麟桌面操作系统的朋友使用,中标麒麟操作系统英文名是NeoKylin ...
- 在计算机启动过程中按F8,Win8如何在启动时按F8出现修复计算机选项
Win8在启动时按F8出现修复计算机选项的方法如下: 在Win7以及更早的Windows系统中,开机按shift+F8可以进入"高级启动选项",Windows 7在默认安装情况下& ...
最新文章
- python linux编程与window编程_Python实现Windows和Linux之间互相传输文件(文件夹)的方法...
- python画圆形螺旋线_这个Python项目,一秒生成可爱像素风图片
- 编写css让一个已知宽高的div元素水平居中?垂直居中
- mount: unknown filesystem type 'LVM2_member'解决方案
- 德勤预判:2022技术七大趋势
- python爬取豆瓣影评生成词云的课程设计报告_简单爬取《小丑》电影豆瓣短评生成词云...
- SpringCloud工作笔记052---各种数据库在java中的连接配置_以及连接驱动
- Linux系统Bash(Shell)基础知识(4)
- 计算机控制电子点火系控制电路分析,点火示波器的工作原理 用示波器诊断点火系故障方法...
- 华为研发工程师笔试编程题
- onenote2016下载地址
- Tmux_Hotkey
- SAP ABAP APO计划订单生产日期调整
- 硬盘读不出来如何恢复?好用的数据恢复软件分享
- RK3288功能介绍
- 谈论AI之前,你搞懂人类了吗?
- (一)大型电商详情页亿级缓存架构简介
- 线程(六)之LOCK和synchronized
- ArcGIS中将一个shp图层批量分割成单个的shp;shp批量转geojson
- 带email认证的用户注册网站