[OE-core] zimage Initramfs booting stuck at Start Kernel
Ferry Toth
fntoth at gmail.com
Sun Oct 27 12:24:20 UTC 2019
Op 27-10-2019 om 02:27 schreef JH:
> Hi Ferry,
>
> On 10/27/19, Ferry Toth <fntoth at gmail.com> wrote:
>>
>> As an example you might want to look at my repo, I have 2 images minimal
>> and initramfs:
>> https://github.com/edison-fw/meta-intel-edison/tree/master/meta-intel-edison-distro/recipes-core/images
>>
>> I don't exactly know how you are doing it. But I'll try to explain what
>> I do:
>> I have
>> 1) a normal rootfs (say edison-image-minimal) and
>> 2) a initramfs rootfs containing kernel modules needed for booting and a
>> init script.
>>
>> Initramfs is build using core-image-minimal-initramfs.bbappend. Some
>> additional unneeded packages are pulled, and as size is restricted (10MB
>> or so?) we remove them here.
>
> Thanks for the tips, that confirms my long suspensions that the size
> of the image could be the cause of the problem, my working zImage size
> is 8MB, my failing zImager-initramfs size is 35MB. How did you remove
> the 10 MB size restriction? I checked your
I don't. I reduce the contents as much as possible.
> core-image-minimal-initramfs.bbappend, there is no sign to remove 10
> MB size restriction. You have a resize-rootfs.service, but I am not
> sure that is the one for fixing the 10 MB size restriction. The
No, it isn't.
> edison-image-minimal.bb has the IMAGE_ROOTFS_SIZE = "1048576", sorry
> for my dumb, is that size for 1048576 KB (1GB) or 1048576 B (1MB)?
The rootfs is on disk (/) and is 1GB. It has nothing to do with initramfs.
>> The init script is here:
>> https://github.com/edison-fw/meta-intel-edison/blob/master/meta-intel-edison-distro/recipes-core/initrdscripts/initramfs-framework/init
>>
>> The init script loads modules, waits for the disk with the rootfs to
>> appear and mount it. Then switchroot to it.
>> If it doesn't appear it drops to a shell so you can investigate what's
>> wrong.
>
> I am confident that the 10 MB size restriction is the problem, I am
> not clear where that 10 MB size restriction is defined and how to fix
> the size restriction, appreciate your helps.
I am not sure where it comes from, I think internal in the kernel there
is a limit, after uncompress. Initramfs is in ram, I think we just need
to accept there is a size restriction.
>> To build everything edison-image-minimal triggers build of u-boot,
>> kernel, rootfs, initramfs and kernel-with-built-in-initramfs.
>
>> Search for 'init' and 'live' and find the needed lines in
>> https://github.com/edison-fw/meta-intel-edison/blob/master/meta-intel-edison-distro/recipes-core/images/edison-image-minimal.bb
>
> I looked at the init script, but not clear if it is critical for
> fixing that issue or not. My init is the symblic link to
> /lib/systemd/systemd in imx6.
Given the size restriction I think we have no choice to use initramfs to
load minimum required modules and then mount and switchroot to a file
system on disk. So, yes, you need to modify init for that. After
switchroot there will be a new init, the symbolic link you mention.
> Thank you very much.
>
> Kind regards,
>
> - jh
>
More information about the Openembedded-core
mailing list