简体   繁体   English

为什么我的initramfs无法检测到init

[英]Why does my initramfs not detect init

I am compiling an initramfs from minimalfs and it fails to detect init during boot. 我正在从minimalfs编译一个initramfs,它在启动期间无法检测到init。 I have 2 simlinks one at /init and another at sbin/init both pointing to /sbin/init.sysvinit 我有2个simlink,一个在/ init,另一个在sbin / init,都指向/sbin/init.sysvinit

I just have tried passing the filesystem directory as well as the cpio in the kernel config. 我只是尝试在内核配置中传递文件系统目录以及cpio。 The following is the tail of bootlog: 以下是bootlog的结尾:

========================================================= ================================================= =======

[    2.152221] vmmc: supplied by vbat                                           
[    2.157139] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz                  
[    2.165445] omap_i2c 4802a000.i2c: bus 1 rev0.11 at 100 kHz                  
[    2.208472]  remoteproc0: wkup_m3 is available                               
[    2.213169]  remoteproc0: Note: remoteproc is still under development and co.
[    2.222618]  remoteproc0: THE BINARY FORMAT IS NOT YET FINALIZED, and backwa.
[    2.233660]  remoteproc0: Direct firmware load failed with error -2          
[    2.240280]  remoteproc0: Falling back to user helper                        
[    2.245995] cpu cpu0: of_pm_voltdm_notifier_register: Fail calculating volta2
[    2.259066] input: volume_keys.8 as /devices/volume_keys.8/input/input2      
[    2.266959] /home/preetam/Workspace/neato/ti-processor-sdk-linux-am335x-evm-)
[    2.287394] Warning: unable to open an initial console.                      
[    2.300184] Freeing unused kernel memory: 4212K (c0587000 - c09a4000)        
[    2.307330] Failed to execute /init (error -2)                               
[    2.312502] Kernel panic - not syncing: No working init found.  Try passing .
[    8.180642] random: nonblocking pool is initialized

========================================================================== ================================================== ========================

The following is my bootargs: 以下是我的bootargs:

"console=${console} earlyprintk=serial mem=128m" “ console = $ {console} earlyprintk = serial mem = 128m”

The hardware I am using is am335x based custom board which is a full custom version of beagle bone that is product specific. 我使用的硬件是基于am335x的定制板,它是特定于产品的beagle bone的完整定制版本。 Has 128MB DDR ram. 具有128MB DDR内存。

The init was an elf binary with dynamic libraries linked to it. 初始化是一个elf二进制文件,其中链接有动态库。 I found it by using readelf -d on the init file. 我在初始化文件上使用readelf -d找到了它。 So I needed to add the libc library that I thought would be linked statically in init. 因此,我需要添加我认为可以在init中静态链接的libc库。 Big thanks to "that toher guy". 非常感谢“那个家伙”。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 为什么我的 initramfs 脚本没有运行? - Why is my initramfs script not being run? 使用initramfs时,为什么不能用PARTUUID指定rootfs? - Why can't I specify my rootfs with PARTUUID when I use initramfs? 为什么我的Erlang启动脚本在控制台上运行,但从init系统(sysvinit,upstart,systemd)运行时不起作用? - Why does my Erlang boot script work from console but does not work when run from init system (sysvinit, upstart, systemd)? 为什么自定义 init 在自定义 linux 系统上失败并显示错误代码 -8? - Why does a custom init fail with error code -8 on a custom linux system? 需要shell脚本,当我的5个重写规则文件中检测到任何更改/修改时,将执行/etc/init.d/httpd - need shell script which when detect any change/modification in my 5 rewrite rules file,will do a /etc/init.d/httpd 使用initramfs在启动时运行程序 - Run program on boot with initramfs 为什么我的代码无法检测到操纵杆上的按钮按下 - why can't my code detect button down on a joystick 为什么我的crontab无法正常工作? - Why does my crontab not work? 文件从initramfs“消失” - Files “disappearing” from initramfs 使用buildroot和uboot配置initramfs - Configuring initramfs with buildroot and uboot
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM