Op 27-10-2019 om 22:52 schreef JH:
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?
I see that Ubuntu keeps the initramfs in a separate cpio, while we are
trying to build the cpio into the kernel (afaiu the cpio is unpacked
into a kernel directory, and then built-in by the kernels build system).
And that cpio is ~64MB, so it must be possible.
In my case kernel, cpio and zImage-initramfs are all built. And although
U-Boot allows to load kernel and cpio separately I didn't try (or don't
remember the result). So, maybe that's the trick.
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