Alpine:通过 iPXE 启动并执行脚本:无法统计“文件系统”:没有此文件或目录

Alpine:通过 iPXE 启动并执行脚本:无法统计“文件系统”:没有此文件或目录

我想执行 Alpine Linux 并执行一个脚本。

阿尔卑斯山

#!ipxe

# Unfortunately "https" will fail with current iPXE with "operation not permitted"
# https://ipxe.org/err/410de1
set base-url http://dl-cdn.alpinelinux.org/alpine/v3.18/releases/x86_64/netboot-3.18.4

kernel ${base-url}/vmlinuz-virt console=tty0 modules=loop,squashfs quiet nomodeset alpine_repo=https://dl-cdn.alpinelinux.org/alpine/v3.18/main modloop=${base-url}/modloop-virt apkovl=https://thomas-guettler.de/tmp/localhost.apkovl.tar.gz ssh_key=https://thomas-guettler.de/tmp/id_rsa.pub

initrd ${base-url}/initramfs-virt

boot

qemu(用于测试):

qemu-system-x86_64 -boot n -m 4000 -hda mydisk.qcow2 -device virtio-net,netdev=n1 -netdev user,id=n1,tftp=$(pwd),bootfile=/alpine.ipxe

我创建了一个简单的启动脚本:

#!/bin/sh
# Attention: This is busy-box shell running in Alpine Linux.
# Bash Syntax does not work here.
# This script will be started via alpine.ipxe
echo "Running startup-script.start on $(hostname) at $(date -u)"

touch /root/i-was-here

我创建了一个 tar.gz 文件并将其上传到:https://thomas-guettler.de/tmp/localhost.apkovl.tar.gz

运行 qemu 后我看到此错误:

alpine-无法加载-apkovl

df: /tmp/localhost.apkovl.tar.gz: can't find mount point
stat: can't stat "Filesystem": No such file or directory

可能是什么原因?

如果我省略apkovl=...ipxe 脚本中的内核参数,那么 Alpine 就可以正常启动。

我想要的只是配置一台裸机:通过 iPXE 启动 Linux,然后脚本调用 fdisk、mkfs、解压机器映像、chroot、安装 grub 并重新启动。

如果其他 Linux 发行版更适合此任务,请告诉我。

相关内容