技术标签: initrd.img linux
在进行内核编译时,通过以下命令可以将内核编译并生成到指定的目录中。
但是如果查看boot目录,并不能找到initrd.img文件。
因此需要自行制作initrd.img,特别是交叉编译的情况。
下面的代码是交叉编译环境下常用的内核编译和安装方式:
make menuconfig
make -j12
make INSTALL_PATH=~/jail/5.4.61out/boot install
make INSTALL_MOD_PATH=~/jail/5.4.61out modules_install
// make INSTALL_MOD_STRIP=1 modules_install 可以有效减小/lib/modules目录的体积
如果直接make install可以将编译的内核安装到/boot目录中,同时会生成initrd.img,但是此initrd.img是与本机匹配的,复制到目标机器上可能是不能使用的。
在CentOS之类下面一般是用mkinitrd命令,
而在Ubuntu/Debian下用的是mkinitramfs命令.
它们的用法稍微有些不一样,如下所示:
注意:
下面的命令要在目标机上执行。否则生成的是用于本机的initrd。
这个命令的作用是把/lib/modules/5.4.61中对应的.ko驱动打包到initrd.img文件中。
其中5.4.61为/lib/modules下的目录名称(内核的版本号)
命令执行完成后,就会生成对应的initrd.img。
#centos
mkinitrd /boot/initrd.img 5.4.61
#ubuntu
mkinitramfs 5.4.61 -o /boot/initrd.img
附:initrd.img文件解压缩以及重新打包的命令:
#Extract
gunzip < /boot/initrd.img | cpio -i –make-directories
#Repack
find ./ | cpio -H newc -o > initrd.cpio
gzip initrd.cpio
mv initrd.cpio.gz initrd.img
参考:
mkinitrd 与 mkinitramfs - 摩斯电码 - 博客园
The Linux Kernel HOWTO: Appendix A - Creating initrd.img file
initrd/initramfs文件制作及解压
Altium Designer 20(AD20)的PCB文件在嘉立创下单显示无外型文件解决方法如上图,在机械层1中生成外形,勾选最后两个.如果不行,修改宽度为10mil试一下。
虚拟目录配置1、更改虚拟目录要更改虚拟目录的位置,需要到apache的配置文件中更改(conf/httpd.conf)在phpstudy中,httpd.conf和vhost.conf都有配置虚拟目录的指令,并且两个配置文件中都有配置虚拟目录的指令,为了测试,我们注释掉vhost.conf的引入更改虚拟目录2、更改默认首页在httpd.conf配置文件中默认首页的查找顺序,从前往...
总结:1 .三个配置文件都是放在$ORACLE_HOME\network\admin目录下。2 .sqlnet.ora确定解析方式3 .listener.ora上设SID_NAME,通常用于JDBC访问,对应的错误码为125054 .tnsnames.ora上设SERVICE_NAME,通常用于linux sqlplus客户端,对应的错误码为12514sqlnet.ora 作用类似于linux或...
Dockerfile1 使用系统环境变量,例如docker run -e VARIABLE=VALUE ...web: image: &quot;webapp:${TAG}&quot;2 通过environment设置,这种方法适用于正在运行的容器里,调用特定变量,可登陆容器输入env命令查看,例如docker run -e VARIABLE ...web: environment: - D...
因公司业务需要微信支付,以前没弄过花了几天时间写了一个微信v3的JSAPI支付,我滴个乖乖,差点今年小孩的奶粉就没了,还好弄出来了。在这里面各种踩坑,在这里记录一下,我开发的是微信公众号上面拉起微信支付。后台是Core3.1的接口,前端用的是Vue。后面是部署在CentOS上面的
大多数Windows用户都知道删除某个文件实际上并没有真正的删除了它们。文件有很大机会被找回,即使回收站已经被清空。 1、第一步:立即停止使用误删了文件的电脑,关掉所有开着的软件,停止所有实时编录文件索引的软件如X1、Google桌面或者Windows系统自带的索引服务,它们都有可能完全清除掉那些你想恢复的文件。 2、选用一种广受欢迎的文件恢复程序。QueTek的Fil
Vijos/ Vijos / 题库 /SuperBrother打鼹鼠这是一道二维树状数组的裸题目#include <bits/stdc++.h>using namespace std;int n,m;int c[1026][1026];int lowbit(int x){ return x&(-x);}void update(int x,int y,int z)//将(x,y)的值+z{ for(int i=x;i<=n;i+=lowbit(i))
一行代码,python就能让你玩出花来。今天给大家介绍几个有趣的一行代码。 1、心形字符,全中文的话可能会变形,大家可以试试中英文搭配。 print('\n'.join([''.join([('IloveU'[(x-y)%len('IloveU')]if((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3&lt;=0 else'...
关于增量编译所谓增量实现,更严格地讲是增量布局和增量布线。它是在设计改动较小的情形下参考原始设计的布局、布线结果,将其中未改动的模块、引脚和网线等直接复用,而对发生改变的部分重新布局、布线。这样做的好处是显而易见的,即节省运行时间,能提高再次布局、布线结果的可预测性,并有助于时序收敛。增量实现由两个流程构成:原始流程和增量流程,如图所示。其中,原始流程提供网表。这里的网表可以是布局后的DCP文件,也可以是布线后的DCP文件。增量实现流程有两种模式:高复用模式和低复用模式。在高复用
目的:使用一个具体例子查询输入表的真实模样;notepad.exe加载到内存时,查询输入表的INT,用这个INT中的函数名对应的真实地址填充notepad.exe内存中IAT的过程;PE文件装在完后,通过IAT就可以找到函数在内存中真正的地址文章目录1.WinDbg查看输入表1.输入表起始地址2.IMAGE_IMPORT_DESCRIPTOR3.INT分析(得函数名)4.IAT分析(填充地址)5.总结2.常用PE工具查看输入表PEviewStud_PEDependency3.参考1.WinDbg查看.
为什么80%的码农都做不了架构师?>>> ...
ADB (Android Debug Bridge)说明:下面一些命令需要有root权限才能执行成功快速启动dos窗口执行adb:1. adb.exe所在路径添加到系统环境变量中2. 配置快捷键启动dos进入C:\WINDOWS\system32目录下,找到cmd.exe.右击菜单 "发送到" -> 桌面快捷方式。在桌面上右击"快捷方式 到 cmd.exe" -> "属