系统设置程序:
1. Generic x86-64 bit target hardware
2. Linux kernel 4.4.131
3. Yocto with core-image-base target build system
4. GRUB boot loader with booting-pcbios loader source code
5. WIC image generation to write image on storage media
WKS文件生成WIC图像,
# short-description: Create an direct disk image for genericx86*
part /boot --source bootimg-pcbios --ondisk sda --label boot --active --align 1024
part / --source rootfs --ondisk sda --fstype=ext4 --label platform --align 1024 --use-uuid
#part /home --ondisk sda --fstype=ext4 --label data --align 1024 --size 3072M
#part swap --ondisk sda --size 44 --label swap1 --fstype=swap
#bootloader --ptable gpt --timeout=5 --append="rootwait rootfstype=ext4 console=ttyS0,115200 console=tty0"
# Direct disk image without GPT
bootloader --timeout=5 --append="rootwait rootfstype=ext4 video=vesafb vga=0x318 console=ttyS0,115200n8 console=tty0"
# Direct disk image with GPT
#bootloader --ptable gpt --timeout=5 --append="rootwait rootfstype=ext4 video=vesafb vga=0x318 console=ttyS0,115200n8 console=tty0"
通过这些设置,我可以创建WIC图像。使用DD命令在USB驱动器上写入相同内容后,就可以从USB设备正确启动了。现在出现问题,当我通过DD命令将WIC映像写入SSD驱动器时,系统停留在等待根设备PARTUUID = <...> 。
我已经尝试了以下方法来正常启动
1. Provide root partition - DISK_SIGNATURE
2. Direct disk image vs live image - bootimg-pcbios inlace of bootimg-efi - Seems one step towards actual setup
3. Systemd vs old initrd
4. Use bs=1M when doing dd
5. Remove GPT option from bootloader in WKS file
6. --uuid ${DISK_SIGNATURE_UUID} - Didn’t work out, seems to be not properly configure
7. Grub-efi to systemd-efi boot loader change
8. Try with ISO image
9. Remove —-use-uuid option from rootfs - To use rootfs from /dev/sda2
10. Change kernel configuration with AUTOFS, and systemd init service manager
11. Use bs=32K and bs=8K
12. Format SSD and Use bs=512
13. Change on-disk to sdb - Will not be affect, as kernel is also part of SDA which is booting
以上所有实验我都没有做过。
您可能还需要检查许多其他更改,所以让我知道您要共享的详细信息。
我们非常感谢您的帮助。
答案 0 :(得分:0)
经过一整夜的调试后,我发现SATA设备驱动程序作为模块保留在内核配置中。我已将其从模块更改为静态,并且它开始工作。 在可启动USB创建期间,我已经遇到过类似的问题。结局非常好,请务必在进行任何随机尝试之前检查内核配置。 :)