我正在使用通过Yocto构建的自定义Linux内核。我生成了 sdimg ,并尝试使用SDCARD对其进行引导,它可以正常启动。在这里,我与内核一起也使用 INITRAMFS 文件。使用分区1中的 config.txt 和 cmdline.txt 文件,我告诉内核加载我的 INITRAMFS 文件。此过程运行良好。
现在,我正尝试通过网络启动 Raspberrypi 。为此,我有一台装有 DNSMASQ 的PC,它充当DNS服务器。我的 / tftpboot 目录中包含所有必需的文件。当我打开客户端RPI时,它将从服务器获取除我的 INITRAMFS 文件之外的所有文件。我已在config.txt中添加了initramfs文件名,如下所示,但PI仍未请求它。如何提出 INITRAMFS 文件的RPI请求?它只是引导 kernel7.img 而已!
//appended the following lines to config.txt
ramfsfile=myramfs.cpio.gz
initramfs myramfs.cpio.gz followkernel
请注意,我没有使用u-boot。
答案 0 :(得分:0)
我能够解决此问题。当我们执行TFTP引导时,Raspberry pi(Rpi)请求的第一个文件是startx.elf,它将在GPU内核上运行。下一个请求的文件是config.txt。由于某种原因,如果我添加以上两行,将无法正常工作。我在一个树莓派论坛中读到,如果config.txt文件超出某个大小限制,它将被忽略。因此,我清除了config.txt文件并仅添加了以下几行,瞧!现在,PI请求了我的initramfs文件,并成功启动了:)