Linux的设计模式:核心和外围功能性模块组构成的,其内核支持动态模块的装载和卸载。

裁剪Liniux的原理:

-->POST(Power-on Self Test:开机自检)

-->BIOS(Boot Sequence:指定启动的设备读取磁盘中操作系统内核文件)

-->GRUB [

BootLoader :加载内核文件至内存

(stage1:MBR;

stage1.5:识别内核文件所在的文件系统,提供文件系统是别的扩展

stage2:GRUB的引导程序,其配置文件:/boot/grub/grun.conf   ) ]

-->kernel( initrd :将内核解压缩为根目录,加载合适的驱动程序,最后退出虚拟文件系统)

-->SHELL

init是linux的第一个进程,实现系统的初始化,负责管理用户空间的进程;

PID为1

其二进制程序为/sbin/init

配置文件:/etc/inittab

/lib/modules/:linux需要的驱动程序在此目录下

Grub的功能:

1.选择要启动的内核或系统,界面可隐藏

2.提供交互式接口,可以编辑grub.conf文件:e进入编辑模式

3.基于密码保护

启动内核映像:定义在相应的title下

传递参数(进入编辑模式):定义在全局段

grub.conf的语法:

default=n:指定默认启动该grub.conf中的第n-1个title选项(0表示第一个)

timeout=n:启动进行读秒,用没有其他操作的情况下需要等待n秒

splashp_w_picpath=(hd0,0) /path/to/Splashp_w_picpath_File:指定使用的背景图片

hiddenmenu:启动时是否显示菜单

title

root:内核文件存放的分区

hd0:表示设备;从0开始编号

0:代表分区;从0开始编号

格式:root(hd0,0)

kernel:指定内核文件以及传递给内核文件的参数

格式:kernel /path/to/kernel_file  [参数]  ro root=/path/to/Device  [quiet]

initrd:指定initrd制作的以.img结尾的文件

格式:initrd:/FileName.img

裁剪Linux并自动安装网卡模块:

环境:    宿主机

目标机

1.在宿主机中添加一块新的磁盘

2.为新添加的磁盘创建两个主分区

3.分别对/dev/sdb1和/dev/sdb2创建文件系统,且都为ext4

4.在/mnt目录下创建两个目录/boot和sysroot

5.将/dev/sdb1挂载到/mnt/boot目录下;将/dev/sdb2挂载到/mnt/sysroot目录下

6.安装grub至/dev/sdb上

7.复制内核文件和initrd文件至/mnt/boot/目录下

8.为目标主机创建根文件系统

9.移植bash和一些相关的命令至目标主机的跟文件系统

10.测试bash是否移植成功:用chroot将根目录切换为/mnt/sysroot

11.为grub提供配置文件且基于md5对grub进行加密:启用内核映像和参数传递模式的保护

12.创建/mnt/sysroot/lib/modules目录并将ib/modules/2.6.32-358.el6.i686/kernel/drivers/net/e1000/e1000.ko拷贝到其目录下

13.编写init脚本使其完成自动网卡模块的加载并为其目标主机配置IP

14.为/mnt/sysroot/sbin/init赋予可执行权限 chmod +x/mnt/sysroot/sbin/init

15.将所有信息同步至磁盘CentOS1.1-000002.vmdk

16.挂起目标主机新建目标主机并为其添加一块已存在的磁盘CentOS1.1-000002.vmdk

17.基于md5加密的grub参数传递模式,编辑grub时需要输入加密时的密码

18.基于md5加密的内核映像模式,启动系统时需要输入加密时的密码

19.最终完成linux的裁剪,并能够成功进入系统

20.测试之后能够成功ping同172.16.0.1的主机

安装网卡模块需要用到的相关命令:

查看PCI设备的信息:

# lspci

查看当前系统转载的模块:

# lsmod

查看某模块的信息:

# modinfo   MOD_NAME

查看某模块的依赖关系:

# depmod  MOD_NAME

动态装载某模块:

# modprobe  MOD_NAME  或 # insmod  /path/to/Module_File

动态卸载某模块:

# modprobe  -r  MOD_NAME  或 # rmmod  /path/to/Module_File

Linux网卡模块,裁剪Linux并实现网卡模块的安装(附有命令移植的脚本)相关推荐

  1. linux服务器返回json,Linux 命令行工具解析和格式化输出 JSON的方法

    JSON 是一种轻量级且与语言无关的数据存储格式,易于与大多数编程语言集成,也易于人类理解 -- 当然,如果格式正确的话.JSON 这个词代表 J ava S cript O bject N otat ...

  2. linux软件包管理工具,Linux 软件包管理器-----yum配置详解一

    一.yum简介 Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够从指定 ...

  3. linux .bin文件处理,linux下制作.bin文件方法简介

    linux 下制作二进制 .bin 的文件 制做方法是使用cat 命令将执行脚本和打包文件同事放到一个.bin的文件里 这样安装的时候只要使用一个包,直接执行该包即可安装完毕,简单方便. 例:制作安装 ...

  4. linux查看网卡物理编号_Linux下多网卡时,如何快速辨别网卡ID与物理网卡的对应关系(即ethtool命令)...

    一般购买的服务器都有4个网卡,这个时候在安装好服务器后,配置IP的时候就郁闷了 如是一个浪潮8560M2服务器安装Redhat后的网卡显示: [root@DBSERVER51 ~]# ifconfig ...

  5. linux usb网卡驱动 ko,qf9700 USB网卡在x86 linux和arm linux上的驱动安装以及配置

    最近要在一块老板子上面移植openwrt,需要扩展网口,于是选择了qf9700这款USB网卡,附赠的光盘里面有提供在linux下面安装的驱动源代码,所以我们要自己编译驱动源代码生成内核加载模块,加载模 ...

  6. suse linux双网卡绑定,suse linux双网卡绑定设置详解

    <suse linux双网卡绑定设置详解>由会员分享,可在线阅读,更多相关<suse linux双网卡绑定设置详解(2页珍藏版)>请在人人文库网上搜索. 1.suse linu ...

  7. 嵌入式Linux——网卡驱动(1):网卡驱动框架介绍

    声明:文本是看完韦东山老师的视频和看了一些文章后,所写的总结.我会尽力将自己所了解的知识写出来,但由于自己感觉并没有学的很好,所以文中可能有错的地方敬请指出,谢谢. 在介绍本文之前,我想先对前面的知识 ...

  8. Linux查看硬件配置-cpu内存磁盘网卡

    Linux查看硬件配置 资产管理命令dmidecode 查看服务器型号 查看主板的序列号 查看系统序列号 查看cpu 查看占用cpu最多的几个进程 查看内存 查看内存信息 查看内存数量和内存大小 查询 ...

  9. linux 3g拨号,嵌入式Linux系统实现3G网卡拨号

    嵌入式Linux系统实现3G网卡拨号 本文介绍在嵌入式Linux中,实现3G联网的基本方法.包括驱动配置,和联网的过程.也对在PC上实现3G的过程进行了介绍. 硬件:3g usb模块(华为ce189的 ...

最新文章

  1. 【Android 安装包优化】使用 lib7zr.so 动态库处理压缩文件 ( 修改 7zr 交叉编译脚本 Android.mk | 交叉编译 lib7zr.so 动态库 )
  2. weblogic 用的人还多吗_2020年劳务工越来越多,出现这种“怪现状”,是发展的需求吗?...
  3. Keras在mnist上的CNN实践,并且自定义loss函数曲线图
  4. java 独占锁_锁分类(独占锁、分拆锁、分离锁、分布式锁)
  5. Android Studio Gradle两种更新方式
  6. mysql中文编码问题
  7. JavaScript高级程序设计笔记 - 第四章 变量 作用域 内存问题
  8. Coolite ComboBox绑定方式
  9. 我眼中未来的人机交互
  10. ios python3闪退_解决Python3 cx_Freeze打包闪退/无法执行以及No module named 'matplotlib.backends.backend_tkagg'...
  11. Ubuntu系统---C++之Eclipse IDE 编译器安装
  12. 安装红帽linux显示半屏,在linux下模拟win+arrow来左右半屏当前窗口
  13. IOS UIKit基础控件的使用
  14. 关于\x开头的字符串编码转换中文解决方法
  15. C语言 switch语句实现不同分数段划分不同等级
  16. 【Web项目测试访问遇到404错误的相关解决办法】
  17. 思维导图之《一位股票投资家的良知:我为何放弃技术分析》
  18. EasyRecovery15数据恢复软件相关使用教程
  19. Tomato学习笔记-Vscode配置Makefile(使用task.jason和launch.jason)
  20. 2018-001-《解忧杂货店》

热门文章

  1. 硬盘读不出来如何恢复?好用的数据恢复软件分享
  2. 【idea】IntelliJ IDEA如何快速的定位数据库某张表在哪里调用---超详情!!!
  3. jQuery雪花插件JQuery-Snowfall Plugin
  4. re模块剩余和subprocess模块
  5. 【文字识别】OCR截图文字识别提取(无需安装)拖拽图片,打开图片,图片PDF转文字的好帮手
  6. 计算机程序前端和后端指什么,什么是前端和后端
  7. 矩阵Kronecker(克罗内克)积
  8. 如何把Excel表格显示到邮件正文里?
  9. Hibernate 关联关系解除
  10. 小红书笔记下沉怎么做到的?