starting version 221
running hook [udev]
triggering uevents...
[
[
running hook [memdisk]
running hook [archiso]
running hook [archiso_loop_mnt]
running hook [archiso_pxe_common]
running hook [archiso_pxe_nbd]
running hook [archiso_pxe_http]
running hook [archiso_pxe_nfs]
Mounting '/dev/disk/by-label/ARCH_201601' to '/run/archiso/bootmnt'
Waiting 30 seconds for device /dev/disk/by-label/ARCH_201601 ...
ERROR: '/dev/disk/by-label/ARCH_201601' device did not show up after 30 seconds...
Falling back to interactive promt
You can try to fix the problem manually, log out when are finished
sh: can't access tty: job control turned off
[rootfs/]#
发现pxe启动到这里会报错,说没有对应的盘,相信玩过Arch硬盘安装的都知道,到这里需要挂盘到某个目录映射loop设备才能继续,如:
mkdir /arch
mount -t vfat /dev/sda5 /arch
modprob loop
losetup /dev/loop20 /arch/archlinux-2016.01.01-dual.iso
ln -s
/dev/loop20
补充:硬盘安装grub2范例
menuentry "Arch Linux (x86_64)" { set isofile="/mnt/ISO/archlinux-2016.01.01-dual.iso" loopback loop (hd0,4)$isofile linux (loop)/arch/boot/x86_64/vmlinuz archisolabel=ARCH_201601 img_loop=$isofile initrd (loop)/arch/boot/x86_64/archiso.img }
但这里的pxe安装,继续找问题,这个问题和官方文档比对后仍然没有等到解决,终于
https://github.com/kyv/archiso
** hooks/archiso_pxe_http * archiso_http_srv= Set an HTTP URL (must end with /) where ${archisobasedir} is found with all *.sfs files. In the IP/domain part if ${pxeserver} is used, use PXE IP. Default: (unset) * archiso_http_spc= Set the size of tmpfs where *.sfs files are downloaded. Default: "75%" ** hooks/archiso_pxe_nfs * archiso_nfs_srv= Set the NFS-IP:/path of the server In the IP part if ${pxeserver} is used, PXE IP will be used. Default: (unset) * archiso_nfs_opt= Set NFS mount options separated by comma. Default: (unset, see below)
http://releng.archlinux.org/pxeboot/
试了下官方公网pxe安装环境,用的是ipxe.pxe来启动
可以后到,首先通过本地的ipxe.pxe启动后重定向到了archlinux的官方pxe环境,加载pxelinux.0,arch.cfg
成功后到了安装菜单,这里选的是国内网易163源,速度最快
也是加载vmlinuz,archiso.img
这里就通过http把airootfs.sfs这个live系统传了过来,之后就和从cd启动一样进入了live os
出鬼了,我本地pxe也是加载iso里对应的vmlinuz,archiso.img,HTTP,NFS确定可以正常访问,为啥就到不了那一步,于是我开始怀疑,是不是加载的vmlinuz,archiso.img不对,因为像ubuntu,debian这些发行版的pxe引导镜像不能用iso里的,于是就到http://mirrors.163.com/archlinux/iso/2016.01.01/上去比对差异
但并没有差异,163上也是从光盘里提取出来的,但我本地启动就报如下错误
但到这里我可以确定引导文件没问题,唯一有可能出问题的地方就是引导参数,于是比对官方引导选项
下面是我的参数配置,
label arch64_http menu label Boot Arch Linux (x86_64) (HTTP) linux /arch/vmlinuz initrd /arch/intel_ucode.img,/arch/archiso.img append archisobasedir=arch archiso_http_srv=http://${pxeserver}/ftp/arch/sysappend 3
或
label arch64_http menu label Boot Arch Linux (x86_64) (HTTP) linux /arch/vmlinuz append archisobasedir=arch archiso_http_srv=http://${pxeserver}/ftp/arch/initrd=/arch/archiso.img
label arch64_http
menu label Boot Arch Linux (x86_64) (HTTP)
linux /arch/vmlinuz
initrd /arch/intel_ucode.img,/arch/archiso.img
append archisobasedir=arch
ip=dhcp archiso_http_srv=http://${pxeserver}/ftp/arch/
sysappend 3
label arch64_nfs
menu label Boot Arch Linux (x86_64) (NFS)
linux /arch/vmlinuz
initrd /arch/intel_ucode.img,/arch/archiso.img
append archisobasedir=arch ip=dhcp archiso_nfs_srv=${pxeserver}:/var/www/pub/ftp/arch
sysappend 3
label arch64_nbd
menu label Boot Arch Linux (x86_64) (NBD)
linux /arch/vmlinuz
initrd /arch/intel_ucode.img,/arch/archiso.img
append archisobasedir=arch
archisolabel=ARCH_201601
sysappend 3