Загрузка платы microzed 7010 с NFS, когда в ядре включена initramfs
Я использую Petalinux и Vivado 2016.04 и Microzed 7010 платы для моего проекта.
Я выполнил шаги => Я установил плату в режиме QSPI с помощью перемычек. Я установил TFTP imaged.ub на борту (запустил netboot) и установил крыши с моего компьютера с помощью NFS.
Для этого, когда NFS настроен в petalinux-config, мне пришлось отключить initramfs в конфигурации ядра вручную.
Если я не отключаю initramfs в ядре (petalinux-config -c kernel), но NFS настроен (petalinux-config), rootfs монтируется из QSPI.
Я новичок в petalinux SDK и Microzed Board. Какой резон заставляет его монтировать rootfs из QSPI, даже если я настроил nfs, но не отключил initramfs в ядре, а мои bootargs
ВХОДЫ: 1 . "bootargs=console=ttyPS0,115200 earlyprintk root=/dev/nfs nfsroot=172.16.9.187:/tftpboot/nfsroot,tcp,v4 ip=172.16.9.25 rw"
Вручную я проверил монтирование rootfs по NFS с ПК на плату.
2 "mount -o nolock -t nfs ip_addr:/tftpboot/nfsroot /home/root/"
Любая помощь будет оценена. Заранее спасибо.
С уважением, Притам
2 ответа
У меня есть полезные ссылки для этого.
Как написал @sawdust, любой initrd/initramfs имеет приоритет. Проверьте свои/tftpboot/pxelinux.cfg/default
дляINITRD
-линия. Даже Petalinux 2023.1 с радостью вернет эту строку в каждую сборку и заставит вашу машину отдавать предпочтение initrd вместо NFS, пока эта опция активна в ядре.
Без поддержки ядра вы все равно потеряете некоторое время, пока PXE перенесет rootfs-файл из-за конфига, хотя он и не будет использоваться.