Hi Ferry, On 10/27/19, Ferry Toth <[email protected]> wrote: > Op 27-10-2019 om 02:27 schreef JH: >> Hi Ferry, >> >> On 10/27/19, Ferry Toth <[email protected]> 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.
That is not practical, we cannot limit the kernel + rootfs to 10 MB size. >> 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. OK. >>> 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. No, there is no limitation in kernel, BTW, the zImage-initramfs is not just kernel space, the zImage-initramfs = kernel + rootfs which cannot be limited to 10 MB. I have a zImage-initramfs created by openwrt, the size is 28 MB. The problem is created by oe-core, most likely in kernel.bbclass, could anyone in oe-core development provide insights where is the 10 MB limitation from and how to fix it? >>> 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. That is not good, we need to fix it. I am still new to oe-core, bitbake and Yocto, but I am happy to give a try if someone could point me where could be the source for the 10 MB limitation of zImage-initramfs. Thank you very much. Kind regards, - jh -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
