a2670951 2022-01-26 09:59 采纳率: 0%
浏览 114
已结题

debian arm64 preseed 分区问题导致 no root file system is defined

问题遇到的现象和发生背景

我需要通过 packer 以及 debian(arm64) iso 制作一个 debian(arm64) 的 qcow2 镜像。packer 的社区示例都是 amd64 的。我通过修改 amd64 的 packer 社区示例的 .hcl 文件 可以启动 qemu arm64虚拟机加载 preseed 文件,进入自动安装,
但是在 partition disks 步骤时出现了 No root file system is defined。我怀疑是 preseed 的文件或者是 boot_command qemu_args 的问题,以下是我的相关代码,请懂行的人指出问题和解决方法

问题相关代码,请勿粘贴截图 ?%ra=card

packer .hcl
https://github.com/tylert/packer-build/blob/master/source/debian/11_bullseye/base-uefi.pkr.hcl
.hcl 也是 x86 的 但是通过修改 qemu 的 二进制文件还有 boot_command qemu_args 可以自动安装
修改的地方如下

  boot_command                 = [
    "<wait10>c<wait5><wait10>",
    "linux /install.a64/vmlinuz --quiet",
    " auto=true ",
    " url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/${var.preseed_file} ",
    " hostname=${var.vm_name} ", " domain=${var.domain} ", " interface=auto ",
    " ---",
    "<enter><wait>",
    "initrd /install.a64/initrd.gz",
    "<enter><wait>",
    "boot<enter><wait>"
   ]
 qemuargs = [
        [ "-m", "8192" ],
        [ "-cpu", "max" ],
        [ "-smp", "4" ],
        [ "-M", "virt" ],
        # iso
       [ "-device", "nec-usb-xhci" ],
       [ "-device", "usb-storage,drive=install" ],
       [ "-drive", "file=/root/packer-build-master/source/debian/debian-11.2.0-arm64-netinst.iso,if=none,id=install,media=cdrom,readonly=on" ],
       
        # hd
       [ "-drive", "if=none,file=build/test/arm64/base-bullseye,id=hd,cache=writeback,discard=ignore,format=qcow2" ],
       ["-device", "virtio-blk-device,drive=hd"],

       # [ "-bios", "edk2-aarch64-code.fd" ],
        [ "-bios", "/usr/share/qemu-efi-aarch64/QEMU_EFI.fd" ],
        [ "-boot", "strict=off" ],
        [ "-monitor", "none" ]

preseed 代码 因为社区示例没有arm 的所以 x86 直接拿来用了。这里还有一个坑点就是 preseed 文件里面用到了 packer 的变量,但是这是一个 feature 社区示例还没有实现这个特性,我本地的 preseed 已经把变量改成实际值了
https://github.com/tylert/packer-build/blob/master/source/debian/11_bullseye/base-uefi.preseed

运行结果及报错内容

通过 vnc 连接 qemu 虚拟机查看可以确定走到了磁盘分区,然后就出现了 no root file system is defined

我的解答思路和尝试过的方法

查找 debian preseed 关于 amr64 的分区示例,但是没有找到
官文链接:
https://www.debian.org/releases/stable/arm64/apbs04.en.html#preseed-partman #preseed 磁盘分区相关
https://salsa.debian.org/installer-team/partman-auto #pressed 开源仓库里面有各个架构分区示例但是没有 arm64

我想要达到的结果

找到关于 arm64 debian preseed 分区,使 packer 自动化安装可以继续往下执行

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 2月3日
    • 创建了问题 1月26日

    悬赏问题

    • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
    • ¥15 Oracle触发器记录修改前后的字段值
    • ¥100 为什么这个恒流源电路不能恒流?
    • ¥15 有偿求跨组件数据流路径图
    • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
    • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
    • ¥15 CSAPPattacklab
    • ¥15 一直显示正在等待HID—ISP
    • ¥15 Python turtle 画图
    • ¥15 stm32开发clion时遇到的编译问题