]> Zhao Yanbai Git Server - kernel.git/commitdiff
添加新的 mkiso.sh 的使用方法说明
authoracevest <zhaoyanbai@126.com>
Sat, 13 Apr 2024 06:27:29 +0000 (14:27 +0800)
committeracevest <zhaoyanbai@126.com>
Sat, 13 Apr 2024 06:27:29 +0000 (14:27 +0800)
mkiso.sh

index ad5e640a19c329c97b34775d7bfb02c64cfd107d..0eacfc396dbdcc371c2162be21b21c13d42aa2ce 100755 (executable)
--- a/mkiso.sh
+++ b/mkiso.sh
@@ -1,4 +1,11 @@
 #!/bin/bash
+#
+# 需要先创建一个容器 docker run -it --name kernel fedora:38_x86_64
+# 并安装 grub2-mkrescue
+# docker exec -it kernel bash
+# dnf install grub2-tools-extra.x86_64 -y  grub2-mkrescue在这个包里
+# dnf install grub2-pc.x86_64 -y  没有这个生成的 iso 文件 MBR 没有启动代码
+# dnf install xorriso -y
 
 # 兼容md5 命令
 MD5=md5sum
@@ -7,6 +14,14 @@ if [[ `uname` == 'Darwin' ]]; then
 fi
 
 
+# 检查smkrootfs命令是否存在
+# 若不存在,需要进scripts/mkrootfs手动编译一个
+if ! type mkrootfs >/dev/null 2>&1; then
+    echo "mkrootfs command not found."
+    exit 1
+fi
+
+
 # 找到容器
 if [ $# -ne 1 ]; then
     docker ps -a
@@ -17,8 +32,6 @@ else
 fi
 
 echo "container id ${CONTAINER_ID}"
-sync
-
 
 mkrootfs -name rootfs -path initrd
 
@@ -36,7 +49,7 @@ files[2]="rootfs:$grub2_boot_dir/rootfs"
 
 for i in "${!files[@]}"; do
     file_line="${files[$i]}"
-    
+
     IFS=':' read -ra parts <<< "${file_line}"
     src_file="${parts[0]}"
     dst_file="${parts[1]}"