[英]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.