Hello Carlos, On Tue, Sep 26, 2017 at 10:27 PM, Bejar-Colonia, Carlos <[email protected]> wrote: > I am trying to bring up a Yocto build on a custom i.MX7 board that uses NAND > flash. I am using yocto from fsl-community-bsp (Morty), MACHINE=imx7dsabresd > (modified). > > Here is part of the machine config I use: > > IMAGE_FSTYPES := "ubifs cpio.gz" > > MKUBIFS_ARGS = "--squash-uids --min-io-size 2048 --leb-size 126976 > --max-leb-cnt 940" > > > > KERNEL_CLASSES ?= " kernel-fitimage " > > KERNEL_IMAGETYPE := "fitImage" > > > > # imx7koji-initramfs is defined as a recipe in recipe-core/image/ > > INITRAMFS_IMAGE = "imx7koji-initramfs" > > > > I created append recipes to customize u-boot (u-boot-imx_2016.03.bbappend); > to add a new device tree and change kernel config > (linux-imx_4.1.15.bbappend). > > Yocto builds fine, however when tried to boot the board, the kernel is not > able to run "/init": > > > > ... > > Freeing unused kernel memory: 188K (804f7000 - 80526000) > > request_module: runaway loop modprobe binfmt-464c > > request_module: runaway loop modprobe binfmt-464c > > Failed to execute /init (error -8) > > request_module: runaway loop modprobe binfmt-464c > > Starting init: /sbin/init exists but couldn't execute it (error -8) > > request_module: runaway loop modprobe binfmt-464c > > Starting init: /bin/sh exists but couldn't execute it (error -8) > > Kernel panic - not syncing: No working init found. Try passing init= option > to kernel. See Linux Documentation/init.txt for guidance. > > Rebooting in 5 seconds.. > > > > I made sure the initramfs contains “/init” (it is a soft link to /sbin/init > which is a soft link to /sbin/init.sysvinit). I also checked the > architecture of the kernel and the user space init are the same (32bits), > but still the board resets. > > > > $ file ./linux-imx/4.1.15-r0/build/vmlinux > > ./linux-imx/4.1.15-r0/build/vmlinux: ELF 32-bit LSB executable, ARM, EABI5 > version 1 (SYSV), statically linked, > BuildID[sha1]=9d64e3cab02bd4ab3c548b18c1dc5228116cf913, not stripped > > > > $ file sbin/init.sysvinit > > deploy/images/imx7koji/mp/sbin/init.sysvinit: ELF 32-bit LSB executable, > ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for > GNU/Linux 3.2.0, BuildID[sha1]=610388df391c1223d7522530fde8097537356288, > stripped > > > > Also enabled the kernel to support ELF. Still the board reset with the same > error. > > > > CONFIG_BINFMT_ELF=y > > CONFIG_BINFMT_SCRIPT=y > > > > Any ideas on the root cause of this issue, did I miss something in the > config?
First, I'd like to suggest you to use Pyro. It does include a number of improvements on top of morty and as it seems you are starting a new product development it makes sense to start fresh ;-) For initrd, it is good to validate if it is indeed behaving as expect. Try booting with rdinit=/bin/sh and see if it succeeds. I suggest you to look at the initramfs-framework which we, at O.S. Systems, contributed to OpenEmbedded-Core. Besides allowing a modular development of initramfs modules, it provides a nice set of debug hooks[1]. 1. http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/recipes-core/initrdscripts/initramfs-framework/debug -- Otavio Salvador O.S. Systems http://www.ossystems.com.br http://code.ossystems.com.br Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750 -- _______________________________________________ meta-freescale mailing list [email protected] https://lists.yoctoproject.org/listinfo/meta-freescale
