Ubuntu 20.04 LTS не монтирует NFS при загрузке PXE

Я пытался получить Ubuntu 20.04 для загрузки PXE и ​​столкнулся с аналогичной проблемой, как и другие здесь. Я нашел несколько решений, которые включают добавление ip = dhcp в строку добавления в файле pxelinux.cfg / default , но он по-прежнему отказывается загружаться. Я включил и ошибку, и свое меню для справки. Любая помощь приветствуется.

(initramfs) DHCPOFFER of 10.0.0.25 from 10.0.0.1
DHCPREQUEST for 10.0.0.25 on enp0s3 to 255.255.255.255 port 67 (xid=0x6cb408a3)
DHCPACK of 10.0.0.25 from 10.0.0.1 (xid=0xa308b46c)
bound to 10.0.0.25 -- renewal in 2557 seconds.
Begin: Running /scripts/casper-premount ... done
done.
Begin: Trying to netboot from 10.0.0.9:/netboot/ubuntu/20.04/server ... Begin: Trying nfsmount -o nolock -o ro 10.0.0.9:/netboot/ubuntu/20.04/server /cdrom ... done.
Unable to find a live file system on the network.

И меню:

default vesamenu.c32
prompt 0
timeout 300
ONTIMEOUT 1

menu title ########## OS Deploy ##########
label 1
       menu label ^1) Ubuntu 20.04 Server
       kernel ubuntu/20.04/server/casper/vmlinuz
       initrd ubuntu/20.04/server/casper/initrd
       append ip=dhcp boot=nfs nfsroot=10.0.0.9:/netboot/ubuntu/20.04/server ro nosplash ---

Кажется, все работает правильно, пока не наступит время для initramfs смонтировать общий ресурс nfs (который экспортируется и доступен по сети), после чего он пытается смонтировать и не может так.

Кроме того, я могу ввести команду nfsmount, которую она выводит на стандартный вывод, и она отлично монтирует общий ресурс nfs, что позволяет мне просматривать общий ресурс, как я и ожидал.

Edit: Я добился некоторого прогресса. Неправильные установки nfsboot = nfs и boot = casper. nfsboot не должен существовать, а boot = casper должен быть boot = nfs . Я редактировал оба из них в моем pxelinux.cfg / default как здесь, так и на моем загрузочном сервере pxe.

Теперь я столкнулся с отдельной проблемой, когда в squashfs не удается смонтировать, как показано ниже:

[    6.596619] /root/cdrom/casper/extras/modules.squashfs-generic: Can't open blockdev
mount: mounting /root/cdrom/casper/extras/modules.squashfs-generic on /root/usr/lib/modules failed: Invalid argument
mount: mounting /dev on /root/dev failed: no such file or directory
mount: mounting /dev on /root/dev failed: No such file or directory
done.
mount: mounting /run on /root/run failed: No such file or directory
run-init: can't execute '/sbin/init': No such file or directory
Target filesystem doesn't have requested /sbin/init.
run-init: can't execute '/sbin/init': No such file or directory
run-init: can't execute '/etc/init': No such file or directory
run-init: can't execute '/bin/init': No such file or directory
run-init: can't execute '/bin/sh': No such file or directory
run-init: can't execute '': No such file or directory
No init found. Try passing init= bootarg

Исходя из этого вывода журнала, я предполагаю, что основная причина - это строка, которая читает [6.596619] /root/cdrom/casper/extras/modules.squashfs-generic: Невозможно открыть blockdev

Эта строка сообщает мне, что squashfs не монтируется должным образом, и это вызывает все другие проблемы.Итак, у меня вопрос: как мне правильно смонтировать squashfs?

0
задан 9 July 2020 в 05:30

2 ответа

Я столкнулся с аналогичной проблемой, которая возникла из-за неполного копирования исходных файлов, в частности, отсутствовал скрытый каталог .disk — см. https://bugs.launchpad.net/ubuntu/+source /ubiquity/+bug/1877618, а также отмечено здесь https://ubuntuforums.org/showthread.php?t=2444371&p=13963012#post13963012 - и было решено с помощью точки вместо * подстановочный знак при копировании: sudo cp -a /mnt/. /srv/nfs/ubu-20.04-mint-20-cinnamon. Мой файл pxelinux.cfg/default выглядит так:

default vesamenu.c32

label 2004
    menu label ^Ubuntu 20.04 Linux Mint 20 Cinnamon
    menu default
    kernel ubu-20.04-mint-20-cinnamon/vmlinuz
    append initrd=ubu-20.04-mint-20-cinnamon/initrd.lz nfsroot=192.168.178.100:/srv/nfs/ubu-20.04-mint-20-cinnamon ro netboot=nfs file=/cdrom/preseed/linuxmint.seed boot=casper ip=dhcp ---
1
ответ дан 3 August 2020 в 13:37

I think it should it be vmlinuz instead of vlinuz in the KERNEL directive, referencing the bundled virtual memory kernel, assuming you are using ubuntu-20.04-live-server-amd64.iso.

1
ответ дан 30 July 2020 в 22:17

Другие вопросы по тегам:

Похожие вопросы: