ubuntu - 我可以在 Ubuntu 中为自定义内核编译内核后创建可引导的 .iso 文件吗

标签 ubuntu linux-kernel ubuntu-14.04 iso iso9660

是否可以创建我们当前运行的 Ubuntu 操作系统的 ISO 镜像?我的目标是编译新内核并制作一个 ISO 文件。

最佳答案

mkdir -p test/boot/grub
nano test/boot/grub/grub.cfg

在 grub.cfg 中:
menuentry "myos" {
    linux /boot/bzImage
    initrd /boot/custom-initramfs.cpio.gz
}

保存并关闭。

自定义-initramfs.cpio.gz:mk.sh
rm -r /usr/src/initramfs
mkdir -p /usr/src/initramfs/bin
mkdir -p /usr/src/initramfs/dev
mkdir -p /usr/src/initramfs/etc
mkdir -p /usr/src/initramfs/etc/network
mkdir -p /usr/src/initramfs/lib
mkdir -p /usr/src/initramfs/lib64
mkdir -p /usr/src/initramfs/mnt/root
mkdir -p /usr/src/initramfs/proc
mkdir -p /usr/src/initramfs/root
mkdir -p /usr/src/initramfs/sbin
mkdir -p /usr/src/initramfs/sys
mkdir -p /usr/src/initramfs/sys/class/net
gcc -pthread -Wall -static arp.c -o /usr/src/initramfs/init
sudo cp -a /dev/null /usr/src/initramfs/dev/
sudo cp -a /dev/console /usr/src/initramfs/dev/
sudo cp -a /dev/tty /usr/src/initramfs/dev/
sudo cp -a interfaces /usr/src/initramfs/etc/network/
sudo cp -a /sbin/ip /usr/src/initramfs/sbin/
sudo cp -a /sbin/ifconfig /usr/src/initramfs/sbin/
sudo cp -a /sbin/route /usr/src/initramfs/sbin/
sudo cp -a /sbin/dhclient /usr/src/initramfs/sbin/
sudo cp -a /sbin/dhclient-script /usr/src/initramfs/sbin/
sudo cp -a /bin/busybox /usr/src/initramfs/bin/
sudo cp -a /bin/grep /usr/src/initramfs/bin/
chmod +x /usr/src/initramfs/init
cd /usr/src/initramfs
find . -print0 | cpio --null -ov --format=newc | gzip -9 > /home/mahdi/Desktop/test/boot/custom-initramfs.cpio.gz

bzImage :在制作 linux 内核之后。
转到linux源下载
示例位置:/linux-stable/arch/x86/boot。
下一步:
sudo cp -a bzImage test/boot/
grub-mkrescue -o myos.iso test

关于ubuntu - 我可以在 Ubuntu 中为自定义内核编译内核后创建可引导的 .iso 文件吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47448363/

相关文章:

android - 无法从 Ubuntu 中的终端运行 adb

linux-kernel - 上下文切换到内核的顺序是什么

python - Ubuntu 14.04 & Python 2.7 : How can I solve PIP INSTALL PROBLEM?

ubuntu - Dotnet 核心 Rider snap ubuntu msbuild

linux - 如何安装 C++11 的手册页

python - hashlib 找不到ripemd160

基于 Linux 构建的 Android 内核

sockets - 如何侵入 Unix 内核以从 TCP 中删除指数退避?

docker - docker 中的 wget(或任何连接)无法连接到服务器自己的 ip 地址

ubuntu 虚拟主机上的 Symfony2 调试工具栏未找到