社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
(1)Window 10操作系统。
(2)VMware Workstation 14 Pro。
(3)Centos 7-x86_64-DVD-1804.iso。
yum -y install gcc
我配置的GCC4.9.0,参考博客:
http://www.kejierda.com/blog/?p=567 。
yum install -y glibc-static
mkdir initramfs
(1)创建init.c文件
#include<stdio.h>
int main(void)
{
printf("hello CHDn");
sleep(99999)
return 0;
}
(2)使用gcc编译c文件
gcc init.c -o init -static
(3)生成init文件拷贝到initramfs文件夹
cp init initramfs/
进入打包目录:
cd initramfs
(1)方式一:
find .|cpio -o -H newc|gzip > ../initramfs.img
(2)方式二:使用内核自带脚本生成。
我下载的centos7.2官方的内核原文件,它生成的目录结构如下。
进入到此目录:
cd /home/chd/rpmbuild/BUILD/kernel-3.10.0-862.el7/linux-3.10.0-862.el7.x86_64
打包镜像文件:会在/usr/local/dssys/initrd_hello/目录生成initramfs.img文件。执行脚本后面第一个参数必须是-o,后面跟输出生成的文件名,-u设置uid,-g设置gid,最后设置打包目录。
scripts/gen_initramfs_list.sh -o /usr/local/dssys/initrd_hello/initramfs.img -u 0 -g 0 /usr/local/dssys/initrd_hello/initramfs/
cp initramfs.img /boot
任意找个被用,把内核启动根文件修改成initramfs.img。
initrd16 /initramfs.img
选择我们设置好的内核启动
reboot now
启动后,显示如下:
https://blog.csdn.net/lixiangminghate/article/details/55224412
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!