From: acevest Date: Sat, 13 Apr 2024 06:27:29 +0000 (+0800) Subject: 添加新的 mkiso.sh 的使用方法说明 X-Git-Url: http://zhaoyanbai.com/repos/%22http:/www.isc.org/icons/doc/mdoc.3.txt?a=commitdiff_plain;h=b7129a3222d0a17a76aa2056a7a6b602abdc9082;p=kernel.git 添加新的 mkiso.sh 的使用方法说明 --- diff --git a/mkiso.sh b/mkiso.sh index ad5e640..0eacfc3 100755 --- 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]}"