[opensuse-arm] Moving SoC specific files from JeOS/KIWI config.sh to separate packages
Hi, currently config.sh creates several SoC specific files ad-hoc (i.e. using echo). This has several drawbacks: - it bloats config.sh (e.g 840 lines for the omap beagle /var/lib/alsa/ asound.state) - it creates files which are not tracked by RPM - most importantly, these files are never updated All these files could be moved into some SoC specific package, e.g. soc- config-$(kiwi-iname). If there are no objections, I will prepare an appropriate package and submit to Factory. The next step then is to remove the config file creation from the JeOS files and Require the SoC specific package instead. The list of affected files (sorted by kiwi image name): arndale: /etc/dracut.conf.d/exynos_modules.conf [1] /etc/modprobe.d/90-blacklist-xhci.conf chromebook: /etc/dracut.conf.d/exynos_modules.conf [1] /etc/X11/xorg.conf.d/50-touchpad.conf /etc/modules-load.d/cros-ec-keyb.conf beagle: /etc/dracut.conf.d/omap_modules.conf /etc/modprobe.d/50-omapdrm.conf /var/lib/alsa/asound.state panda: /etc/dracut.conf.d/omap_modules.conf /etc/modprobe.d/50-omapdrm.conf beaglebone: /etc/dracut.conf.d/beagleboneblack_modules.conf pine64, cubietruck, cubieboard, olinuxino: /etc/dracut.conf.d/sunxi_modules.conf sabrelite: /etc/dracut.conf.d/sabrelite_modules.conf /etc/modules-load.d/imx6.conf raspberrypi: /etc/dracut.conf.d/raspberrypi_modules.conf [2] /etc/modprobe.d/90-blacklist-vc4.conf raspberrypi2: /etc/dracut.conf.d/raspberrypi_modules.conf [2] raspberrypi3: /etc/dracut.conf.d/raspberrypi_modules.conf [2] /etc/modprobe.d/50-rpi3.conf socfpgade0nanosoc: /etc/dracut.conf.d/socfpga_modules.conf odroidc2, nanopik2: /etc/dracut.conf.d/meson_gxbb_modules.conf m400: /etc/sysconfig/network/ifcfg-enp1s0 Kind regards, Stefan [1] contents of exynos_modules.conf for chromebook and arndale differs [2] contents of raspberrypi_modules.conf for rpi1/rpi2/rpi3 differs -- Stefan Brüns / Bergstraße 21 / 52062 Aachen home: +49 241 53809034 mobile: +49 151 50412019
Hi Stefan,
Am 17.11.2017 um 23:46 schrieb Stefan Brüns <stefan.bruens@rwth-aachen.de>:
Hi,
currently config.sh creates several SoC specific files ad-hoc (i.e. using echo). This has several drawbacks:
- it bloats config.sh (e.g 840 lines for the omap beagle /var/lib/alsa/ asound.state) - it creates files which are not tracked by RPM - most importantly, these files are never updated
There is one more problem: The mechanism only works with images, not the installer. Ideally, we could somehow get override logic like this working with the installer as well. Is there some rpm magic that automatically selects a package depending on dmi information for example? Or dt compatibles? Alex
All these files could be moved into some SoC specific package, e.g. soc- config-$(kiwi-iname).
If there are no objections, I will prepare an appropriate package and submit to Factory. The next step then is to remove the config file creation from the JeOS files and Require the SoC specific package instead.
The list of affected files (sorted by kiwi image name):
arndale: /etc/dracut.conf.d/exynos_modules.conf [1] /etc/modprobe.d/90-blacklist-xhci.conf
chromebook: /etc/dracut.conf.d/exynos_modules.conf [1] /etc/X11/xorg.conf.d/50-touchpad.conf /etc/modules-load.d/cros-ec-keyb.conf
beagle: /etc/dracut.conf.d/omap_modules.conf /etc/modprobe.d/50-omapdrm.conf /var/lib/alsa/asound.state
panda: /etc/dracut.conf.d/omap_modules.conf /etc/modprobe.d/50-omapdrm.conf
beaglebone: /etc/dracut.conf.d/beagleboneblack_modules.conf
pine64, cubietruck, cubieboard, olinuxino: /etc/dracut.conf.d/sunxi_modules.conf
sabrelite: /etc/dracut.conf.d/sabrelite_modules.conf /etc/modules-load.d/imx6.conf
raspberrypi: /etc/dracut.conf.d/raspberrypi_modules.conf [2] /etc/modprobe.d/90-blacklist-vc4.conf
raspberrypi2: /etc/dracut.conf.d/raspberrypi_modules.conf [2]
raspberrypi3: /etc/dracut.conf.d/raspberrypi_modules.conf [2] /etc/modprobe.d/50-rpi3.conf
socfpgade0nanosoc: /etc/dracut.conf.d/socfpga_modules.conf
odroidc2, nanopik2: /etc/dracut.conf.d/meson_gxbb_modules.conf
m400: /etc/sysconfig/network/ifcfg-enp1s0
Kind regards,
Stefan
[1] contents of exynos_modules.conf for chromebook and arndale differs [2] contents of raspberrypi_modules.conf for rpi1/rpi2/rpi3 differs
-- Stefan Brüns / Bergstraße 21 / 52062 Aachen home: +49 241 53809034 mobile: +49 151 50412019
-- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
Hi, Am 18.11.2017 um 09:42 schrieb Alexander Graf:
Am 17.11.2017 um 23:46 schrieb Stefan Brüns <stefan.bruens@rwth-aachen.de>:
currently config.sh creates several SoC specific files ad-hoc (i.e. using echo). This has several drawbacks:
- it bloats config.sh (e.g 840 lines for the omap beagle /var/lib/alsa/ asound.state) - it creates files which are not tracked by RPM - most importantly, these files are never updated
There is one more problem: The mechanism only works with images, not the installer.
Ideally, we could somehow get override logic like this working with the installer as well. Is there some rpm magic that automatically selects a package depending on dmi information for example? Or dt compatibles?
Check out the Supplements in https://build.opensuse.org/package/view_file/hardware/bcm43xx-firmware/bcm43... That said, I pointed out to Stefan that it would be best to implement the DT dependency resolution in dracut rather than cementing these workaround configs into packages that need to be maintained forever. That leaves a couple of blacklists or forced loads that should be investigated and dropped once fixed in the kernel. Remaining would then be some X11 configs that might go into generic packages if guarded properly? Regards, Andreas -- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
Hi, Am 17.11.2017 um 23:46 schrieb Stefan Brüns:
currently config.sh creates several SoC specific files ad-hoc (i.e. using echo). This has several drawbacks:
- it bloats config.sh (e.g 840 lines for the omap beagle /var/lib/alsa/ asound.state) [snip]
Agree that this config in particular is disturbingly large. Alsa configs belong into alsa upstream repository and alsa packages. I recall we cleaned that up for Snow or Spring Chromebook. Guillaume? (or anyone else with a Beagleboard) Thanks, Andreas -- SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
Le 18/11/2017 à 14:13, Andreas Färber a écrit :
Hi,
Am 17.11.2017 um 23:46 schrieb Stefan Brüns:
currently config.sh creates several SoC specific files ad-hoc (i.e. using echo). This has several drawbacks:
- it bloats config.sh (e.g 840 lines for the omap beagle /var/lib/alsa/ asound.state) [snip]
Agree that this config in particular is disturbingly large.
Alsa configs belong into alsa upstream repository and alsa packages. I recall we cleaned that up for Snow or Spring Chromebook.
Guillaume? (or anyone else with a Beagleboard)
Did not try recently but I guess it has been upstream in alsa package. I did it recently for snow. Guillaume
Thanks, Andreas
-- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
participants (4)
-
Alexander Graf
-
Andreas Färber
-
Guillaume GARDET
-
Stefan Brüns