forked from srbala/fedora-kickstarts
Compare commits
12 Commits
Author | SHA1 | Date |
---|---|---|
Frederick Grose | 6fbeb2efb0 | |
Peter Robinson | a000cf7510 | |
Peter Boy | 10450ca67b | |
Peter Boy | 708668758a | |
Kalev Lember | 7ffe93ee98 | |
Peter Boy | fda88e6c42 | |
Peter Boy | 734e000de5 | |
Peter Boy | 96c9895671 | |
Mamoru TASAKA | edce50a60d | |
Luya Tshimbalanga | 9896e482f6 | |
Miro Hrončok | 6bdafa1504 | |
Tomas Hrcka | d24804e7dd |
|
@ -10,7 +10,7 @@ deja-dup
|
||||||
deja-dup-nautilus
|
deja-dup-nautilus
|
||||||
|
|
||||||
# Add extra gnome applications
|
# Add extra gnome applications
|
||||||
gnome-books
|
#gnome-books
|
||||||
gnome-calendar
|
gnome-calendar
|
||||||
gnome-photos
|
gnome-photos
|
||||||
gnome-pomodoro
|
gnome-pomodoro
|
||||||
|
@ -27,6 +27,5 @@ powerline-fonts
|
||||||
# temporarily removing conflicting application
|
# temporarily removing conflicting application
|
||||||
-mypaint
|
-mypaint
|
||||||
-sparkleshare
|
-sparkleshare
|
||||||
-blender-luxcorerender
|
|
||||||
|
|
||||||
%end
|
%end
|
||||||
|
|
|
@ -19,7 +19,7 @@ autopart --nohome --noswap --type=plain
|
||||||
|
|
||||||
# Equivalent of %include fedora-repo.ks
|
# Equivalent of %include fedora-repo.ks
|
||||||
# Pull from the ostree repo that was created during the compose
|
# Pull from the ostree repo that was created during the compose
|
||||||
ostreesetup --nogpg --osname=fedora-iot --remote=fedora-iot --url=https://kojipkgs.fedoraproject.org/compose/iot/repo/ --ref=fedora/rawhide/${basearch}/iot
|
ostreesetup --nogpg --osname=fedora-iot --remote=fedora-iot --url=https://kojipkgs.fedoraproject.org/compose/iot/repo/ --ref=fedora/stable/${basearch}/iot
|
||||||
|
|
||||||
reboot
|
reboot
|
||||||
|
|
||||||
|
@ -45,14 +45,14 @@ fi
|
||||||
|
|
||||||
# Set the origin to the "main ref", distinct from /updates/ which is where bodhi writes.
|
# Set the origin to the "main ref", distinct from /updates/ which is where bodhi writes.
|
||||||
# We want consumers of this image to track the two week releases.
|
# We want consumers of this image to track the two week releases.
|
||||||
ostree admin set-origin --index 0 fedora-iot https://dl.fedoraproject.org/iot/repo/ "fedora/rawhide/${arch}/iot"
|
ostree admin set-origin --index 0 fedora-iot https://dl.fedoraproject.org/iot/repo/ "fedora/stable/${arch}/iot"
|
||||||
|
|
||||||
# Make sure the ref we're supposedly sitting on (according
|
# Make sure the ref we're supposedly sitting on (according
|
||||||
# to the updated origin) exists.
|
# to the updated origin) exists.
|
||||||
ostree refs "fedora-iot:fedora/rawhide/${arch}/iot" --create "fedora-iot:fedora/rawhide/${arch}/iot"
|
ostree refs "fedora-iot:fedora/stable/${arch}/iot" --create "fedora-iot:fedora/stable/${arch}/iot"
|
||||||
|
|
||||||
# Remove the old ref so that the commit eventually gets cleaned up.
|
# Remove the old ref so that the commit eventually gets cleaned up.
|
||||||
ostree refs "fedora-iot:fedora/rawhide/${arch}/iot" --delete
|
ostree refs "fedora-iot:fedora/stable/${arch}/iot" --delete
|
||||||
|
|
||||||
# delete/add the remote with new options to enable gpg verification
|
# delete/add the remote with new options to enable gpg verification
|
||||||
# and to point them at the cdn url
|
# and to point them at the cdn url
|
||||||
|
|
|
@ -78,7 +78,6 @@ astropy-tools
|
||||||
ginga
|
ginga
|
||||||
python3-astropy
|
python3-astropy
|
||||||
python3-astroML
|
python3-astroML
|
||||||
python3-astroML-addons
|
|
||||||
python3-astroquery
|
python3-astroquery
|
||||||
python3-astroscrappy
|
python3-astroscrappy
|
||||||
python3-APLpy
|
python3-APLpy
|
||||||
|
|
|
@ -25,7 +25,7 @@ download-updates=false
|
||||||
FOE
|
FOE
|
||||||
|
|
||||||
# don't autostart gnome-software session service
|
# don't autostart gnome-software session service
|
||||||
rm -f /etc/xdg/autostart/gnome-software-service.desktop
|
rm -f /etc/xdg/autostart/org.gnome.Software.desktop
|
||||||
|
|
||||||
# disable the gnome-software shell search provider
|
# disable the gnome-software shell search provider
|
||||||
cat >> /usr/share/gnome-shell/search-providers/org.gnome.Software-search-provider.ini << FOE
|
cat >> /usr/share/gnome-shell/search-providers/org.gnome.Software-search-provider.ini << FOE
|
||||||
|
|
|
@ -48,7 +48,7 @@ desktop-backgrounds-gnome
|
||||||
|
|
||||||
# Drop the Java plugin and Java
|
# Drop the Java plugin and Java
|
||||||
-icedtea-web
|
-icedtea-web
|
||||||
-java*
|
-*openjdk*
|
||||||
|
|
||||||
# No printing
|
# No printing
|
||||||
-@printing
|
-@printing
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
# Exactly one of the following should be uncommented
|
# Exactly one of the following should be uncommented
|
||||||
|
|
||||||
# For the master branch the following should be uncommented
|
# For the master branch the following should be uncommented
|
||||||
%include fedora-repo-rawhide.ks
|
#%include fedora-repo-rawhide.ks
|
||||||
|
|
||||||
# For non-master branches the following should be uncommented
|
# For non-master branches the following should be uncommented
|
||||||
# %include fedora-repo-not-rawhide.ks
|
%include fedora-repo-not-rawhide.ks
|
||||||
|
|
|
@ -0,0 +1,194 @@
|
||||||
|
# fedora-server-vm-full.ks (rel. 1.01)
|
||||||
|
# Kickstart file to build a Fedora Server Edition VM disk image.
|
||||||
|
# The image aims to resemble as close as technically possible the
|
||||||
|
# full features of a Fedora Server Edition in a virtual machine.
|
||||||
|
#
|
||||||
|
# The image uses GPT partition type as of default in Fedora 37
|
||||||
|
#
|
||||||
|
# At first boot it opens a test based basic configuration screen.
|
||||||
|
#
|
||||||
|
# This kickstart file is designed to be used with ImageFactory (in Koji).
|
||||||
|
#
|
||||||
|
# To build the image locally, you need to install ImageFactory and
|
||||||
|
# various additional helpers and configuration files.
|
||||||
|
# See Fedora Server Edition user documentation tutorial.
|
||||||
|
|
||||||
|
# Use text mode install
|
||||||
|
text
|
||||||
|
|
||||||
|
# Keyboard layouts
|
||||||
|
keyboard 'us'
|
||||||
|
|
||||||
|
# System language
|
||||||
|
lang en_US.UTF-8
|
||||||
|
|
||||||
|
# System timezone
|
||||||
|
# set time zone to GMT (Etcetera/UTC)
|
||||||
|
timezone Etc/UTC --utc
|
||||||
|
|
||||||
|
|
||||||
|
# Root password
|
||||||
|
rootpw --iscrypted --lock locked
|
||||||
|
|
||||||
|
# SELinux configuration
|
||||||
|
selinux --enforcing
|
||||||
|
|
||||||
|
|
||||||
|
# System bootloader configuration
|
||||||
|
bootloader --location=mbr --timeout=1 --append="console=tty1 console=ttyS0,115200n8"
|
||||||
|
|
||||||
|
# Network information
|
||||||
|
network --bootproto=dhcp --device=link --activate --onboot=on
|
||||||
|
|
||||||
|
# Firewall configuration
|
||||||
|
firewall --enabled --service=mdns
|
||||||
|
|
||||||
|
|
||||||
|
# System services
|
||||||
|
# message: error enabling initial-setup, initial-setup does not exist
|
||||||
|
services --enabled="sshd,NetworkManager,chronyd,initial-setup"
|
||||||
|
|
||||||
|
# Run the Setup Agent on first boot
|
||||||
|
firstboot --reconfig
|
||||||
|
|
||||||
|
# Partition Information. Use GPT by default (since Fedora 37)
|
||||||
|
# Resemble the Partitioning used for Fedora Server Install media
|
||||||
|
clearpart --all --initlabel --disklabel=gpt
|
||||||
|
reqpart --add-boot
|
||||||
|
part pv.007 --size=4000 --grow
|
||||||
|
volgroup sysvg pv.007
|
||||||
|
logvol / --vgname=sysvg --size=4000 --grow --maxsize=16000 --fstype=xfs --name=root --label=sysroot
|
||||||
|
|
||||||
|
|
||||||
|
# Include URLs for network installation dynamically, dependent from Fedora release
|
||||||
|
# and imagefactory runtime environment
|
||||||
|
%include fedora-repo.ks
|
||||||
|
|
||||||
|
# Shutdown after installation
|
||||||
|
shutdown
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
##### begin package list #############################################
|
||||||
|
%packages --inst-langs=en
|
||||||
|
|
||||||
|
@server-product
|
||||||
|
@core
|
||||||
|
@headless-management
|
||||||
|
@standard
|
||||||
|
@networkmanager-submodules
|
||||||
|
##@container-management
|
||||||
|
@domain-client
|
||||||
|
@guest-agents
|
||||||
|
|
||||||
|
# All arm-tools packages install on aarch64/armhfp only
|
||||||
|
# TODO: on a x86_64 devel environment are @arm-tools not available
|
||||||
|
# and cause a build error.
|
||||||
|
# @arm-tools
|
||||||
|
|
||||||
|
# Standard Fedora Package Groups
|
||||||
|
## dracut-config-generic ## included in =core=
|
||||||
|
glibc-all-langpacks
|
||||||
|
initial-setup
|
||||||
|
kernel-core
|
||||||
|
-dracut-config-rescue
|
||||||
|
-generic-release*
|
||||||
|
-initial-setup-gui
|
||||||
|
-kernel
|
||||||
|
-linux-firmware
|
||||||
|
-plymouth
|
||||||
|
# pulled in by @standard
|
||||||
|
-smartmontools
|
||||||
|
-smartmontools-selinux
|
||||||
|
|
||||||
|
%end
|
||||||
|
##### end package list ###############################################
|
||||||
|
|
||||||
|
|
||||||
|
##### begin kickstart post script ####################################
|
||||||
|
%post --erroronfail --log=/root/anaconda-post-1.log
|
||||||
|
|
||||||
|
# Find the architecture we are on
|
||||||
|
arch=$(uname -m)
|
||||||
|
|
||||||
|
# Import RPM GPG key, during installation saved in /etc/pki
|
||||||
|
echo "Import RPM GPG key"
|
||||||
|
releasever=$(rpm --eval '%{fedora}')
|
||||||
|
basearch=$(uname -i)
|
||||||
|
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
||||||
|
|
||||||
|
# See the systemd-random-seed.service man page that says:
|
||||||
|
# " It is recommended to remove the random seed from OS images intended
|
||||||
|
# for replication on multiple systems"
|
||||||
|
# The newly installed instance should make it's own
|
||||||
|
echo "Removing random-seed so it's not the same in every image."
|
||||||
|
rm -f /var/lib/systemd/random-seed
|
||||||
|
|
||||||
|
# When we build the image a networking config file gets left behind.
|
||||||
|
# Let's clean it up.
|
||||||
|
echo "Cleanup leftover networking configuration"
|
||||||
|
rm -f /etc/NetworkManager/system-connections/*.nmconnection
|
||||||
|
|
||||||
|
# Truncate the /etc/resolv.conf left over from NetworkManager during the
|
||||||
|
# kickstart because the DNS server is environment specific.
|
||||||
|
truncate -s 0 /etc/resolv.conf
|
||||||
|
|
||||||
|
echo "Cleaning repodata to save space."
|
||||||
|
dnf clean all
|
||||||
|
|
||||||
|
# linux-firmware is installed by default and is quite large. As of mid 2020:
|
||||||
|
# Total download size: 97 M
|
||||||
|
# Installed size: 268 M
|
||||||
|
# Not needed in virtual environment.
|
||||||
|
echo "Removing linux-firmware package."
|
||||||
|
rpm -e linux-firmware
|
||||||
|
|
||||||
|
# Will ever anybody see this?
|
||||||
|
echo "Packages within this disk image"
|
||||||
|
rpm -qa --qf '%{size}\t%{name}-%{version}-%{release}.%{arch}\n' |sort -rn
|
||||||
|
|
||||||
|
# Note that running rpm recreates the rpm db files which aren't needed or wanted
|
||||||
|
rm -f /var/lib/rpm/__db*
|
||||||
|
|
||||||
|
|
||||||
|
# Do we need a serial terminal with a VM?
|
||||||
|
if [[ $arch == "aarch64" ]] || [[ $arch == "armv7l" ]]; then
|
||||||
|
# Anaconda adds console=tty0 to the grub boot line on all images. this is problematic
|
||||||
|
# when you are using fedora via serial console as you do not get any output post grub
|
||||||
|
# linux does a good job of knowing what consoles need to be enabled.
|
||||||
|
# https://bugzilla.redhat.com/show_bug.cgi?id=2022757
|
||||||
|
sed -i -e 's|console=tty0||g' /boot/loader/entries/*conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# Remove machine-id on pre generated images
|
||||||
|
rm -f /etc/machine-id
|
||||||
|
touch /etc/machine-id
|
||||||
|
|
||||||
|
%end
|
||||||
|
##### end kickstart post script #####################################
|
||||||
|
|
||||||
|
|
||||||
|
##### begin custom post script (after base) #########################
|
||||||
|
%post
|
||||||
|
|
||||||
|
echo "Zeroing out empty space."
|
||||||
|
# Create zeros file with nodatacow and no compression
|
||||||
|
touch /var/tmp/zeros
|
||||||
|
chattr +C /var/tmp/zeros
|
||||||
|
# This forces the filesystem to reclaim space from deleted files
|
||||||
|
dd bs=1M if=/dev/zero of=/var/tmp/zeros || :
|
||||||
|
echo "(Don't worry -- that out-of-space error was expected.)"
|
||||||
|
# Force sync to disk
|
||||||
|
sync /
|
||||||
|
rm -f /var/tmp/zeros
|
||||||
|
sync /
|
||||||
|
|
||||||
|
# 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
|
||||||
|
##### end custom post script ########################################
|
|
@ -78,7 +78,8 @@ cat /etc/fedora-release >> /boot/olpc_build
|
||||||
# Rebuild initrd for Sugar boot screen
|
# Rebuild initrd for Sugar boot screen
|
||||||
KERNEL_VERSION=$(rpm -q kernel --qf '%{version}-%{release}.%{arch}\n')
|
KERNEL_VERSION=$(rpm -q kernel --qf '%{version}-%{release}.%{arch}\n')
|
||||||
/usr/sbin/plymouth-set-default-theme sugar
|
/usr/sbin/plymouth-set-default-theme sugar
|
||||||
dracut -N -f /boot/initramfs-$KERNEL_VERSION.img $KERNEL_VERSION
|
sed -i -r 's/(omit_dracutmodules\+\=.*) plymouth (.*)/\1 \2/' /etc/dracut.conf.d/99-liveos.conf
|
||||||
|
dracut --force-add plymouth -N -f /boot/initramfs-$KERNEL_VERSION.img $KERNEL_VERSION
|
||||||
|
|
||||||
# Note that running rpm recreates the rpm db files which aren't needed or wanted
|
# Note that running rpm recreates the rpm db files which aren't needed or wanted
|
||||||
rm -f /var/lib/rpm/__db*
|
rm -f /var/lib/rpm/__db*
|
||||||
|
@ -109,3 +110,14 @@ EOF
|
||||||
/usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas
|
/usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas
|
||||||
|
|
||||||
%end
|
%end
|
||||||
|
|
||||||
|
%post --nochroot
|
||||||
|
|
||||||
|
for n in initramfs initrd; do
|
||||||
|
for img in "$LIVE_ROOT/images/pxeboot/$n"* ; do
|
||||||
|
[ -e "$img" ] && cp -a "$INSTALL_ROOT"/boot/initramfs-*.img "$img"
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
%end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue