[OpenWrt-Devel] [RFC 0/3] PoC for per-image package sets
Andre Valentin
avalentin at marcant.net
Thu Apr 23 02:59:02 EDT 2020
Hi Bjoern,
that looks very interesting. I do have the same problems here with initial images and made special .configs for that.
Kind regards,
André
Am 22.04.20 um 22:58 schrieb Bjørn Mork:
> These patches can also be found in a branch here:
> https://github.com/bmork/openwrt/tree/image-packagesets
>
> Dumping this as-is for discussion. Not sure I'm capable of, or
> will have time to, finish it. But I am hoping it is a useful
> start if someone else wants to give it a try. If not, then I
> guess it isn't a useful enough feature after all.
>
> The state of this is sort-of working for me, but definitely
> not complete and working for all different build scenarios.
> I have not tested IB or PER_TARGET_ROOTFS builds. legacy-devices
> haven't been updated at all and are therefore broken. etc.
>
> To recap the use case: I have a device where the vendor tftp
> server limits the size of the initial OpenWrt image we can
> upload. An initramfs image is preferrable due to the ability to
> boot from either of the dual partitions.
>
> For this reason I wanted to build an initramfs with a limited
> set of packages, without having to reduce the default device
> packages for the other images.
>
> I have noticed that this use case is not unique. We have for
> example Build/ubnt-erx-factory-image in mt7621.mk, attempting
> to build an initramfs based image which will fit within
> $(KERNEL_SIZE), which is a tiny 3MB. This is obviously futile
> and there is therefore no such image on downloads.openwrt.org.
> You can build one yourself by carefully removing packages, but
> it would be nice if we could let the buildbots produce one too.
>
> Anyway, look at the code and see if my ideas can be used. I'll
> admit that I'm no make Guru...
>
> The first patch simplifies the current initramfs process, and
> avoids copying the special initramfs /init into the shared
> TARGET_DIR. It still makes a copy of the file to be able to
> set the timestamp though. I believe this patch is useful by
> itself, and I don't think it breaks anything. Not mcuh at
> least :-)
>
> The second patch tries to abuse the per-target rootfs code
> for doing per-image roofs. The default package set can be
> adjusted by adding packages to an IMAGE_PACKAGES/<image>
> variable. Or more useful: Packages can be removed by
> prefixing them with a '-'. As usual, you'll need to resolve
> dependencies manually if other packackes depend on the ones
> you want to remove.
>
> The third patch is the yuckiest one. It delays the kernel
> part of the initramfs building until we have some idea about
> images, devices and packages. It then uses the same
> per-image rootfs source directory scheme as input for the
> kernel. I'm not proud of how this curretly looks. But I had
> to stop here.
>
>
> Bjørn Mork (3):
> kernel-defaults: refactor initramfs build
> build: implement per-image package sets
> build: per-image package set for initramfs
>
> include/image.mk | 33 ++++++++++++----
> include/kernel-build.mk | 1 -
> include/kernel-defaults.mk | 77 ++++++++++++++------------------------
> 3 files changed, 53 insertions(+), 58 deletions(-)
>
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list