linux怎样自制库_如何制作自己的LINUX系统?
创建工作目录
使用busybox生成根文件系统中的bin等目录
创建服务启动脚本与inittab文件与fstab文件
创建根文件系统的init脚本(initrc使用linuxrc,而initramfs使用init脚本,所以先删除busybox为initrc生成的默认的linuxrc文件,rm-rf$LINUX/linuxrc),init文件可以是任何ELF格式的可执行性文件,例如如果是一个编译过的C程序也是可以的,记得安装编译c文件要用到的库:sudoyum install -y glibc-static libstdc++-static。
使用chroot在未make内核之前就可以先测试initramfs
构建initramfs,先配置支持Generalsetup -> Initial RAM filesystem and RAM disk (initramfs/initrd)support (默认就是支持的),再将linux内核的CONFIG_INITRAMFS_SOURCE(Generalsetup -> initramfs sourcefile(s))指向这个目录,然后执行make命令内核就会自动构建生成initramfs了(是一个压缩过的cpio档案文件),并且将它链接到内核镜像中。
调试验证。可以使用物理机验证,也可以采用qemu虚机验证。如果使用物理机来验证的话,本来可以直接使用makeinstall命令自动安装,但最好不要这么做,因为它会自动执行updategrub命令来破坏你的grub文件,可以手工做:
initramfs是一个最小化的根文件系统,它的根本目的是为了为切换到新的根文件系统做准备。initrd方式使用pivot_root命令切换到新的根文件系统,然后卸载ramdis,但是initramfs方式由于它是本身就是rootfs(rootfs是ramfs的一个实例)位于内存中,所以它既不能pivot_root,也不能umount,是常驻内存的。
对模块的支持,到目前为止,我们在构建initramfs时还没有涉及内核模块的支持,所用到的硬件驱动程序都是直接编译到内核中。现在我们就看看如何使initramfs支持内核模块。
linux怎样自制库_如何制作自己的LINUX系统?相关推荐
- linux怎样自制库_苹果开源Swift System,增加Linux支持
今年六月,Apple 推出了 Swift System,这是一个底层系统接口库.现在 Swift System 已开源并增加了 Linux 支持.Apple 称,他们的目标是为所有受支持的 Swift ...
- linux运行隐藏文件,Linux下如何隐藏文件_网站服务器运行维护,Linux,隐藏文件
linux系统怎样安装软件_网站服务器运行维护 linux系统安装软件的方法:1.使用apt命令进行安装,如[apt install app_name]:2.使用rpm命令进行安装,如[rpm -i ...
- Linux c编译库路径,【一点一点学Linux C】交叉编译时候如何配置连接库的搜索路径...
交叉编译的时候不能使用本地(i686机器,即PC机器,研发机器)机器上的库,但是在做编译链接的时候默认的是使用本地库,即/usr/lib,/lib两个目录.因此,在交叉编译的时候,要采取一些方法使得在 ...
- linux 启动一个网站_在线试用 200 多种 Linux 和 Unix 操作系统
只要打开该网站,选择你需要的 Linux/Unix 发行版,然后开始试用! -- Sk(作者) 不久前我们介绍过 OSBoxes ,该网站提供了一系列免费且开箱即用的 Linux 和 Unix 虚拟机 ...
- linux 路由跟踪命令_云计算网络知识学习-linux网络基础
1 linux虚拟网络基础 1.1 Device 在linux里面devic(设备)与传统网络概念里的物理设备(如交换机.路由器)不同,Linux所说的设备,其背后指的是一个类似于数据结构.内核模块或 ...
- linux怎样自制库_linux 下动态链接库的制作与使用
linux 下动态链接库的制作与使用 动态链接库*.so的编译与使用- - 动态库*.so在linux下用c和c++编程时经常会碰到,最近在网站找了几篇文章介绍动态库的编译和链接,总算搞懂了这个之前一 ...
- linux 环境变量文件_应急响应系列之Linux库文件劫持技术分析,有点硬核哟
0×01 菜逼阶段 Linux库文件劫持这种案例在今年的9月份遇到过相应的案例,当时的情况是有台服务器不断向个可疑IP发包,尝试建立连接,后续使用杀软杀出木马,重启后该服务器还是不断的发包,使用net ...
- gcc g++ Linux下动态库_静态库
关于Unix静态库和动态库的分析 基本概念 库有动态与静态两种,动态通常用.so为后缀,静态用.a为后缀. 例如:libhello.so libhello.a 为了在同一系统中使用不同版本的库,可以在 ...
- 在arm上运行x86动态库_用 qemu-user 在arm linux机器上运行amd64/x86程序
1. qemu-user 是什么 本来, 对于 QEmu, 我只知道它是一个模拟器, 可以像 VirtualBox/VMWare 那样跑一个操作系统, 只不过 QEmu 可以在 AMD64 上面跑针对 ...
最新文章
- CentOS6.5_64下 nginx+uwsgi+Python +多站点环境搭建
- Powershell AWS 自动化管理 (6) - IAM
- 知识图谱(二)——知识表示
- 视频控件VideoCapX的使用指南和常见问题合集
- python ftp 设置代理_用Python搭建一个简单的代理池
- 【idea基础知识】常用快捷键整理
- C#读取文本文件和C# 写文本文件
- python怎么读单词和古文_Python 实现文言文词频统计
- android 识别车牌颜色,Android、ios移动端车牌识别sdk / 车牌识别API
- webmax函数高级教程整理集2
- unity 移动物体位置的常用方法
- 广州华龙展贸考场——科目三
- 国土档案管理信息系统【档案著录】-地籍类档案著录
- Gson的使用——Gson解析json数组并展示在ListView控件上
- 初来乍到,多多关照!
- xyplorer保存设置失败_XYplorer有哪些独特的强大之处?又可以在哪些方面替代,或者超越total commander?...
- 碰到文件夹损坏咋解决?
- 高通SDX12:基于sgm4151x的充电IC代码架构
- 2019年什么工作最有前景?互联网/IT行业职业方向大盘点!
- 矩阵的Kronecker积的相关结论
热门文章
- html 修改背景透明度,html – 用css更改背景图像的不透明度
- jtable mysql数据库_使用MySQL数据库语法错误填充jTable
- ktm390蓝牙连接安卓_蓝牙音乐AudioTrack Session ID的获取
- 计算机学院 年度工作计划,计算机教研组年度工作计划
- vue require css html,requirejs vue vue.router简单框架
- html特效指令,vue2——指令v-text v-html v-bind
- linuxoracle静默安装应答文件修改_Oracle 19c的examples静默安装
- 服务器实际显示内存,服务器实际显示内存大小
- python公开发行版本_Python2 最后一个版本发布,正式迈入 Python3 时代
- excel怎么启用宏_EXCEL制作的小升初毕业生登记表,全自动填充,包括照片