#330 Merge changes from fedora-modular-disk-minimal.ks to the non-modular
Closed a year ago by james. Opened a year ago by james.
james/fedora-kickstarts master  into  master

file modified
+88 -3

@@ -1,10 +1,95 @@ 

- %include fedora-disk-base.ks

- %include fedora-minimal-common.ks

+ # fedora-disk-minimal.ks

+ #

+ # This is fedora-disk-base and fedora-minimal-common combined. It needs to

+ # be combined because otherwise the default package set in disk-base can't be

+ # undone and we get ~130 extra packages (even with all the -@core lines).

  

- services --enabled=sshd,NetworkManager,chronyd,initial-setup

+ text

+ lang en_US.UTF-8

+ keyboard us

+ timezone US/Eastern

+ auth --useshadow --passalgo=sha512

+ selinux --enforcing

+ firewall --enabled --service=mdns

+ services --enabled=sshd,NetworkManager,chronyd

+ network --bootproto=dhcp --device=link --activate

+ rootpw --lock --iscrypted locked

+ shutdown

+ 

+ bootloader --timeout=1

+ 

+ zerombr

+ clearpart --all --initlabel --disklabel=msdos

  

  autopart --type=plain

  

+ # make sure that initial-setup runs and lets us do all the configuration bits

+ firstboot --reconfig

+ 

+ %include fedora-repo.ks

+ 

  %packages

+ bash

+ filesystem

+ coreutils-single

+ util-linux

+ rpm

+ shadow-utils

+ glibc-minimal-langpack

+ grubby

+ kernel

+ libcrypt

+ sssd-client

+ dhcp-client

+ -fedora-logos

+ -coreutils

+ -dosfstools

+ -e2fsprogs

+ -fuse-libs

+ -gnupg2-smime

+ -libss # used by e2fsprogs

+ -libusbx

+ -pinentry

+ -shared-mime-info

+ -trousers

  -xkeyboard-config

+ -dracut

+ %end

+ 

+ %post

+ 

+ # Setup Raspberry Pi firmware

+ # cp -Pr /usr/share/bcm283x-firmware/* /boot/efi/

+ # mv -f /boot/efi/config-64.txt /boot/efi/config.txt

+ # cp -P /usr/share/uboot/rpi_3/u-boot.bin /boot/efi/rpi3-u-boot.bin

+ 

+ releasever=$(rpm -q --qf '%{version}\n' fedora-release)

+ rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-primary

+ echo "Packages within this disk image"

+ rpm -qa

+ # Note that running rpm recreates the rpm db files which aren't needed or wanted

+ rm -f /var/lib/rpm/__db*

+ 

+ # remove random seed, the newly installed instance should make it's own

+ rm -f /var/lib/systemd/random-seed

+ 

+ # The enp1s0 interface is a left over from the imagefactory install, clean this up

+ rm -f /etc/sysconfig/network-scripts/ifcfg-enp1s0

+ 

+ dnf -y remove dracut-config-generic

+ 

+ # Disable network service here, as doing it in the services line

+ # fails due to RHBZ #1369794

+ /sbin/chkconfig network off

+ 

+ # Remove machine-id on pre generated images

+ rm -f /etc/machine-id

+ touch /etc/machine-id

+ 

+ # setup systemd to boot to the right runlevel

+ echo -n "Setting default runlevel to multiuser text mode"

+ rm -f /etc/systemd/system/default.target

+ ln -s /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

+ echo .

+ 

  %end

file modified
+27 -8

@@ -1,11 +1,30 @@ 

- %packages

- -@standard

- -initial-setup-gui

- -generic-release*

- -glibc-all-langpacks

- glibc-langpack-en

- iw

- NetworkManager-wifi

+ %packages --excludedocs --excludeWeakdeps --nocore

+ bash

+ filesystem

+ coreutils-single

+ util-linux

+ rpm

+ shadow-utils

+ microdnf

+ glibc-minimal-langpack

+ grubby

+ kernel

+ libcrypt

+ sssd-client

+ dhcp-client

+ -fedora-logos

+ -coreutils
ausil commented a year ago

systemd requires coreutils. has this all been tested?

+ -dosfstools

+ -e2fsprogs

+ -fuse-libs

+ -gnupg2-smime

+ -libss # used by e2fsprogs

+ -libusbx

+ -pinentry

+ -shared-mime-info

+ -trousers

+ -xkeyboard-config

+ -dracut

  %end

  

  %post

fedora-minimal-common.ks. Note that this required breaking the
fedora-disk-base + fedora-minimal-common split.

Image size changes:

old: 907M
new: 744M

Post kickstart image rpm changes are -143 +4 packages:

+coreutils-single
+dracut-config-rescue
+glibc-minimal-langpack
+libcrypt
-anaconda-core
-anaconda-tui
-atmel-firmware
-augeas-libs
-b43-fwcutter
-b43-openfwwf
-bcache-tools
-btrfs-progs
-cloud-utils-growpart
-coreutils
-coreutils-common
-createrepo_c
-createrepo_c-libs
-device-mapper-event
-device-mapper-event-libs
-device-mapper-multipath
-device-mapper-multipath-libs
-device-mapper-persistent-data
-dmraid
-dmraid-events
-dracut-config-generic
-dracut-network
-drpm
-dtc
-e2fsprogs
-e2fsprogs-libs
-ethtool
-fcoe-utils
-fedora-arm-installer
-fuse-libs
-gdisk
-gnupg
-hfsplus-tools
-hwdata
-initial-setup
-iscsi-initiator-utils
-iscsi-initiator-utils-iscsiuio
-isns-utils-libs
-isomd5sum
-iw
-js-jquery
-json-c
-kexec-tools
-langtable
-langtable-data
-langtable-python3
-libaio
-libblockdev
-libblockdev-btrfs
-libblockdev-crypto
-libblockdev-dm
-libblockdev-fs
-libblockdev-kbd
-libblockdev-loop
-libblockdev-lvm
-libblockdev-mdraid
-libblockdev-mpath
-libblockdev-part
-libblockdev-plugins-all
-libblockdev-swap
-libblockdev-utils
-libbytesize
-libconfig
-libcrypt-nss
-libdaemon
-libertas-usb8388-firmware
-libmodman
-libnl3-cli
-libpciaccess
-libproxy
-librados2
-libreport
-libreport-anaconda
-libreport-cli
-libreport-plugin-bugzilla
-libreport-plugin-reportuploader
-libreport-web
-libss
-libsysfs
-libtar
-libteam
-libusb
-lldpad
-lsof
-lttng-ust
-lvm2
-lvm2-libs
-lz4
-lzo
-mdadm
-NetworkManager-team
-NetworkManager-wifi
-python3-asn1crypto
-python3-blivet
-python3-blockdev
-python3-bytesize
-python3-cffi
-python3-chardet
-python3-coverage
-python3-cryptography
-python3-idna
-python3-iscsi-initiator-utils
-python3-kickstart
-python3-libreport
-python3-meh
-python3-ntplib
-python3-ordered-set
-python3-pid
-python3-ply
-python3-pwquality
-python3-pycparser
-python3-pydbus
-python3-pyOpenSSL
-python3-pyparted
-python3-pysocks
-python3-pytz
-python3-pyudev
-python3-requests
-python3-requests-file
-python3-requests-ftp
-python3-simpleline
-python3-systemd
-python3-urllib3
-python3-wrapt
-python-systemd-doc
-realmd
-rng-tools
-rsync
-satyr
-sgpio
-snappy
-sudo
-teamd
-uboot-images-armv8
-uboot-tools
-usermode
-userspace-rcu
-volume_key-libs
-web-assets-filesystem
-wpa_supplicant
-xmlrpc-c
-xmlrpc-c-client
-zd1211-firmware

1 new commit added

  • Remove addition of fedora-modular-release.
a year ago

systemd requires coreutils. has this all been tested?

It was tested a significant amount in modularity, AIUI there were changes so that coreutils-single could work.

@pbrobinson @pwhalen we should check that this does not break anything that is expected to work on arm and aarch64

at the least the removal of anaconda and initial-setup will break the ability to configure the system. removal of the wifi bits will mean you can not get a wifi only system on a network. I think most of the removed packages are actually needed. @james what is the use cases you are trying to solve by this change?

Hmm, this seems weird. The usecase was just making the image smaller from work/testing that had been done with the modularity images. @psabata @sgallagh either of you want to comment on the questions about anaconda/wifi bits etc?

The disk images haven't been tested as much, as I recall. @ausil 's comments might be perfectly valid. Since @rdossant was mostly working on this -- Rafael, do you remember any details?

For modularity, we were working with a minimal bootable system, not a 100% usable one. There is still no clear answer to what a minimal system is. I'd say if we are going to merge changes from the modular disk to the non-modular one, they should be limited to package replacements (like coreutils for coreutils-single, etc).

Pull-Request has been closed by james

a year ago

After discussions we decided that we should just drop this.