Unnecessary extension of default packeges for x86 generic
Alberto Bursi
bobafetthotmail at gmail.com
Mon Mar 1 19:43:47 GMT 2021
On 01/03/21 11:40, Florian Eckert wrote:
> Hello,
>
> Is it really necessary that we keep expanding the default package here [1]?
> The problem is, for example, that I don't need the whole AWS stuff.
> But now the whole package gets installed.
>
> If this is the case, then we should also install the vmware needed
> driver as default package.
> Maybe someone (like me) would like to run the image in a vmware
> environment.
Please look at the kernel config. x86_64 kernel config has *all* drivers
for KVM, for Xen and VMware and Hyper-V (and some AWS) compiled in
already and always did for a long while.
I had to add the AWS driver as a module so that people that don't want
it can remove it with ImageBuilder (which is not something you cannot do
with drivers compiled in by the kernel config)
> But I do not want to install this per default.
>
> I think this are all special image.
No it's not, unless somehow AWS virtualization is treated differently
from KVM, Xen, VMWare and Hyper-V, which as I said are already included
by default in the x86_64 kernel.
I personally don't see the point for making multiple images for x86_64
due to the fact that space and resource usage for leaving all in is
negligible at best on this target.
> Therefore it would be a good idea to create individual images.
> For example
> * define Device/aws
> * define Device/vmware
>
>
> Also, binary blobs are currently already get installed as a dependency
> that the default drivers work.
> Therefore I have changed the line before this change as following.
> So no binary blob dependency gets installed.
> I am also not clear why we need kmod-bnx2, kmod-forcedeth and kmod-r8169
> as default, which have the binary blob dependency.
because there are boards and network cards with broadcomm integrated
ethernet, boards with NVIDiA chipsets need this to make the onboard
ethernet work and pretty much all cheap motherboards have a Realtek
ethernet port so we need that included.
If you don't like the default package selection, just use the Image
Builder to assemble your own image from pre-compiled packages in the
repos where you can choose what packages you want and what you don't want.
>
> --- a/target/linux/x86/image/64.mk
> +++ b/target/linux/x86/image/64.mk
> @@ -1,7 +1,6 @@
> define Device/generic
> DEVICE_TITLE := Generic x86/64
> - DEVICE_PACKAGES += kmod-bnx2 kmod-e1000e kmod-e1000 kmod-forcedeth
> kmod-igb \
> - kmod-ixgbe kmod-r8169
> + DEVICE_PACKAGES += kmod-e1000e kmod-e1000 kmod-igb kmod-ixgbe
> GRUB2_VARIANT := generic
> endef
> TARGET_DEVICES += generic
> --
>
> From my point of view, these are the minimum packets needed to make the
> generic image to work.
>
As mentioned above, this cuts out all non-premium consumer motherboards
that use realtek chipsets and need kmod-r8169 (which is A LOT), plus the
less common boards with broadcomm ethernet and the even less common ones
with NVIDIA chipset.
The generic image is supposed to work on most if not all possible
hardware, because it's built for the less tech-savyy users that can't
just recompile or use the image builder, and having no working network
interface is a problem.
>
> Kind Regards
>
> Florian
>
> [1]
> https://github.com/openwrt/openwrt/commit/788ec9a7cfc843c8e46451331521cdc7d81866bd
>
More information about the openwrt-devel
mailing list