mirror of
https://pagure.io/fedora-kickstarts.git
synced 2025-12-09 00:20:31 +08:00
Compare commits
75 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
40dbada72b | ||
|
|
1a67c48064 | ||
|
|
3e8cd74fc8 | ||
|
|
5b6b9e4d6a | ||
|
|
b95b0e11d0 | ||
|
|
4493473a0a | ||
|
|
41e571f0b0 | ||
|
|
7760932d53 | ||
|
|
ead98e05d6 | ||
|
|
6167c5112c | ||
|
|
119efae2f9 | ||
|
|
5a9491e5ad | ||
|
|
b668257940 | ||
|
|
057e710338 | ||
|
|
caafaa6c03 | ||
|
|
8c9a05ae16 | ||
|
|
ba79b12375 | ||
|
|
1b78636ab1 | ||
|
|
f15dd026fe | ||
|
|
e7742ffc33 | ||
|
|
007c54025d | ||
|
|
75d580c3fa | ||
|
|
0f69fe0d48 | ||
|
|
9e47cff172 | ||
|
|
d35eba9297 | ||
|
|
4393b884b3 | ||
|
|
30c4fddde7 | ||
|
|
32110a472e | ||
|
|
289081819e | ||
|
|
e9c9928c83 | ||
|
|
6338afb23c | ||
|
|
7243faa567 | ||
|
|
d38606ec42 | ||
|
|
1c64d4718a | ||
|
|
1b19a4c21b | ||
|
|
a8152f2e31 | ||
|
|
de0a80e24d | ||
|
|
fa047a1949 | ||
|
|
0c7d01ca5e | ||
|
|
e096cbed83 | ||
|
|
c8f435a6a0 | ||
|
|
00d0830aaf | ||
|
|
54d01cbd53 | ||
|
|
7e810e6fb7 | ||
|
|
09afeb926f | ||
|
|
34ce2e2165 | ||
|
|
d9fab6d0a9 | ||
|
|
d0ae69f8eb | ||
|
|
5571ec20dd | ||
|
|
685a19ff40 | ||
|
|
9bb254b865 | ||
|
|
f4a0c73bfe | ||
|
|
5bcdb60f13 | ||
|
|
88a9240267 | ||
|
|
407ca518cd | ||
|
|
b8a45187ae | ||
|
|
c6826272fc | ||
|
|
cf2a91f935 | ||
|
|
b49fdad2b6 | ||
|
|
f7dc6eacf4 | ||
|
|
2bbf715cd9 | ||
|
|
23b814089b | ||
|
|
19fb556f9f | ||
|
|
0996c4996e | ||
|
|
f7bef12438 | ||
|
|
4ed12a7027 | ||
|
|
d8b59962cd | ||
|
|
aefa165253 | ||
|
|
c8f098b393 | ||
|
|
839ef7acc0 | ||
|
|
1c70356e93 | ||
|
|
f1cac9d7b9 | ||
|
|
2a2faacda6 | ||
|
|
2094721562 | ||
|
|
8f0cb7faca |
24
README.md
24
README.md
@@ -11,18 +11,18 @@ and modify the kickstart files for their local needs.
|
||||
|
||||
## To make a release ##
|
||||
|
||||
git clone ssh://git@pagure.io/fedora-kickstarts.git fedora-kickstarts
|
||||
cd fedora-kickstarts
|
||||
# If you need a specific branch other than master:
|
||||
git checkout BRANCHNAME
|
||||
# No tag has been added yet tag HEAD with
|
||||
git tag VERSION
|
||||
git push --tags
|
||||
make
|
||||
# Publish the released tar ball
|
||||
make publish
|
||||
# Clean up the generated files:
|
||||
make clean
|
||||
* git clone ssh://git@pagure.io/fedora-kickstarts.git fedora-kickstarts
|
||||
* cd fedora-kickstarts
|
||||
* # If you need a specific branch other than master:
|
||||
* git checkout BRANCHNAME
|
||||
* # No tag has been added yet tag HEAD with
|
||||
* git tag VERSION
|
||||
* git push --tags
|
||||
* make
|
||||
* # Publish the released tar ball
|
||||
* make publish
|
||||
* # Clean up the generated files:
|
||||
* make clean
|
||||
|
||||
# bug reports #
|
||||
|
||||
|
||||
8
atomic-installer/lorax-configure-repo.tmpl
Normal file
8
atomic-installer/lorax-configure-repo.tmpl
Normal file
@@ -0,0 +1,8 @@
|
||||
## Lorax template to configure Anaconda to use the local OSTree
|
||||
## repository on disk.
|
||||
|
||||
<%page args="ostree_osname, ostree_ref"/>
|
||||
append usr/share/anaconda/interactive-defaults.ks "ostreesetup --nogpg --osname=${ostree_osname} --remote=${ostree_osname} --url=file:////run/install/repo/content/repo --ref=${ostree_ref}\n"
|
||||
append usr/share/anaconda/interactive-defaults.ks "services --disabled cloud-init,cloud-config,cloud-final,cloud-init-local\n"
|
||||
append usr/share/anaconda/interactive-defaults.ks "%post --erroronfail\nrm -f /etc/ostree/remotes.d/${ostree_osname}.conf\nostree remote add --set=gpg-verify=false fedora-atomic 'https://dl.fedoraproject.org/pub/fedora/linux/atomic/22/'\n%end\n"
|
||||
|
||||
11
atomic-installer/lorax-embed-repo.tmpl
Normal file
11
atomic-installer/lorax-embed-repo.tmpl
Normal file
@@ -0,0 +1,11 @@
|
||||
## Lorax template to embed an OSTree repository into the installer.iso
|
||||
## and configure an interactive installer use to look for it.
|
||||
##
|
||||
## Note that we pull with depth=0 to only get *one* commit into the
|
||||
## ISO, because we obviously don't want the full history.
|
||||
|
||||
<%page args="workdir, ostree_osname, ostree_repo, ostree_ref"/>
|
||||
runcmd mkdir -p ${workdir}/iso-graft/content/repo
|
||||
runcmd ostree --repo=${workdir}/iso-graft/content/repo init --mode=archive-z2
|
||||
runcmd ostree --repo=${workdir}/iso-graft/content/repo remote add ostree-mirror --set=gpg-verify=false ${ostree_repo}
|
||||
runcmd ostree --repo=${workdir}/iso-graft/content/repo pull --mirror ostree-mirror ${ostree_ref}
|
||||
102
fedora-aos.ks
Normal file
102
fedora-aos.ks
Normal file
@@ -0,0 +1,102 @@
|
||||
# Kickstart file to build the appliance operating
|
||||
# system for fedora.
|
||||
# This is based on the work at http://www.thincrust.net
|
||||
lang C
|
||||
keyboard us
|
||||
timezone US/Eastern
|
||||
auth --useshadow --passalgo=sha512
|
||||
selinux --permissive
|
||||
firewall --disabled
|
||||
bootloader --timeout=1 --append="acpi=force"
|
||||
network --bootproto=dhcp --device=eth0 --onboot=on
|
||||
|
||||
# Uncomment the next line
|
||||
# to make the root password be thincrust
|
||||
# By default the root password is emptied
|
||||
#rootpw --iscrypted $1$uw6MV$m6VtUWPed4SqgoW6fKfTZ/
|
||||
|
||||
#
|
||||
# Partition Information. Change this as necessary
|
||||
# This information is used by appliance-tools but
|
||||
# not by the livecd tools.
|
||||
#
|
||||
part / --size 1024 --fstype ext4 --ondisk sda
|
||||
|
||||
#
|
||||
# Repositories
|
||||
#
|
||||
%include fedora-repo.ks
|
||||
|
||||
#
|
||||
# Add all the packages after the base packages
|
||||
#
|
||||
%packages --excludedocs --nobase
|
||||
bash
|
||||
kernel
|
||||
grub
|
||||
e2fsprogs
|
||||
passwd
|
||||
policycoreutils
|
||||
chkconfig
|
||||
rootfiles
|
||||
yum
|
||||
vim-minimal
|
||||
acpid
|
||||
#needed to disable selinux
|
||||
lokkit
|
||||
|
||||
#Allow for dhcp access
|
||||
dhclient
|
||||
iputils
|
||||
|
||||
#
|
||||
# Packages to Remove
|
||||
#
|
||||
|
||||
# no need for kudzu if the hardware doesn't change
|
||||
-kudzu
|
||||
-prelink
|
||||
-setserial
|
||||
-ed
|
||||
|
||||
# Remove the authconfig pieces
|
||||
-authconfig
|
||||
-rhpl
|
||||
-wireless-tools
|
||||
|
||||
# Remove the kbd bits
|
||||
-kbd
|
||||
-usermode
|
||||
|
||||
# these are all kind of overkill but get pulled in by mkinitrd ordering
|
||||
-mkinitrd
|
||||
-kpartx
|
||||
-dmraid
|
||||
-mdadm
|
||||
-lvm2
|
||||
-tar
|
||||
|
||||
# selinux toolchain of policycoreutils, libsemanage, ustr
|
||||
-policycoreutils
|
||||
-checkpolicy
|
||||
-selinux-policy*
|
||||
-libselinux-python
|
||||
-libselinux
|
||||
|
||||
# Things it would be nice to loose
|
||||
-fedora-logos
|
||||
generic-logos
|
||||
-fedora-release-notes
|
||||
%end
|
||||
|
||||
#
|
||||
# Add custom post scripts after the base post.
|
||||
#
|
||||
%post
|
||||
|
||||
# Enable network service here, as doing it in the services line
|
||||
# fails due to RHBZ #1369794
|
||||
/sbin/chkconfig network on
|
||||
|
||||
%end
|
||||
|
||||
@@ -4,7 +4,8 @@ auth --useshadow --passalgo=sha512
|
||||
selinux --enforcing
|
||||
firewall --enabled --service=mdns,ssh
|
||||
|
||||
bootloader --location=mbr
|
||||
# configure extlinux bootloader
|
||||
bootloader extlinux
|
||||
|
||||
part /boot/fw --size=30 --fstype vfat --asprimary
|
||||
part /boot --size=512 --fstype ext4 --asprimary
|
||||
@@ -38,6 +39,7 @@ initial-setup
|
||||
initial-setup-gui
|
||||
-iwl*
|
||||
-ipw*
|
||||
-trousers-lib
|
||||
-usb_modeswitch
|
||||
-iproute-tc
|
||||
#lets resize / on first boot
|
||||
@@ -46,6 +48,13 @@ initial-setup-gui
|
||||
# make sure all the locales are available for inital0-setup and anaconda to work
|
||||
glibc-all-langpacks
|
||||
|
||||
# workaround for consequence of RHBZ #1324623: without this, with
|
||||
# yum-based creation tools, compose fails due to conflict between
|
||||
# libcrypt and libcrypt-nss. dnf does not seem to have the same
|
||||
# issue, so this may be dropped when appliance-creator is ported
|
||||
# to dnf.
|
||||
libcrypt-nss
|
||||
-libcrypt
|
||||
%end
|
||||
|
||||
%post
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
%include fedora-arm-xbase.ks
|
||||
%include fedora-kde-common.ks
|
||||
|
||||
part / --size=6300 --fstype ext4
|
||||
part / --size=5690 --fstype ext4
|
||||
|
||||
%post
|
||||
|
||||
|
||||
@@ -2,8 +2,6 @@
|
||||
%include fedora-arm-xbase.ks
|
||||
%include fedora-lxde-common.ks
|
||||
|
||||
part / --size=4000 --fstype ext4
|
||||
|
||||
%post
|
||||
|
||||
%end
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
%include fedora-arm-xbase.ks
|
||||
%include fedora-lxqt-common.ks
|
||||
|
||||
part / --size=4200 --fstype ext4 --asprimary
|
||||
part / --size=3800 --fstype ext4 --asprimary
|
||||
|
||||
%packages
|
||||
# trojita not available on non-x86 platforms
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
%include fedora-arm-xbase.ks
|
||||
%include fedora-mate-common.ks
|
||||
|
||||
part / --size=6000 --fstype ext4
|
||||
part / --size=5500 --fstype ext4
|
||||
|
||||
%post
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
part /boot --size=512 --fstype ext4
|
||||
part swap --size=256 --fstype swap
|
||||
part / --size=1256 --fstype ext4
|
||||
part / --size=1250 --fstype ext4
|
||||
|
||||
%packages
|
||||
-xkeyboard-config
|
||||
|
||||
@@ -4,13 +4,10 @@
|
||||
part / --size=2500 --fstype xfs
|
||||
|
||||
%packages
|
||||
# install the default groups for the server environment since installing the environment is not working
|
||||
# install the default groups for the server evironment since installing the environment is not working
|
||||
@server-product
|
||||
@standard
|
||||
@headless-management
|
||||
@hardware-support
|
||||
@networkmanager-submodules
|
||||
|
||||
@container-management
|
||||
@domain-client
|
||||
-initial-setup-gui
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
%include fedora-arm-xbase.ks
|
||||
%include fedora-workstation-common.ks
|
||||
|
||||
part / --size=6200 --fstype ext4
|
||||
part / --size=5500 --fstype ext4
|
||||
|
||||
%packages
|
||||
-initial-setup
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
%include fedora-arm-xbase.ks
|
||||
%include fedora-xfce-common.ks
|
||||
|
||||
part / --size=4700 --fstype ext4
|
||||
part / --size=4000 --fstype ext4
|
||||
|
||||
%post
|
||||
|
||||
|
||||
@@ -1,20 +1,10 @@
|
||||
# Fedora Atomic Host is the Fedora version of the "Atomic Host" pattern
|
||||
# from [Project Atomic](http://www.projectatomic.io/).
|
||||
# Fedora Atomic is a cloud-focused spin implementing the Project
|
||||
# Atomic patterns. Note that this replicates the same tree which can
|
||||
# now be installed on bare metal.
|
||||
|
||||
# This kickstart is used for cloud/virt images, and uses cloud-init
|
||||
# to bootstrap authentication, just like Fedora Cloud Base. (Also note the
|
||||
# fedora-atomic-vagrant.ks kickstart inherits from this).
|
||||
|
||||
# One very important thing to understand is that this image contains the same
|
||||
# OSTree commit as will be used on bare metal installations - Fedora Atomic Host
|
||||
# also has an ISO. One difference though is that cloud-init isn't enabled for
|
||||
# bare metal. When processing this kickstart then, Anaconda isn't actually
|
||||
# installing packages - it's just replicating a "pre-assembled" tree from
|
||||
# rpm-ostree.
|
||||
|
||||
# Basically, the `ostreesetup` verb replaces the traditional `%packages`
|
||||
# section. For example, `rpm-ostree status` can show you the same checksum and
|
||||
# version from an ISO install and this cloud image - it's the same bits.
|
||||
# This image allocates most space to an LVM-managed thin pool
|
||||
# dedicated for Docker containers, and uses docker-storage-setup to
|
||||
# dynamically resize storage on boot.
|
||||
|
||||
text # don't use cmdline -- https://github.com/rhinstaller/anaconda/issues/931
|
||||
lang en_US.UTF-8
|
||||
@@ -25,63 +15,33 @@ auth --useshadow --passalgo=sha512
|
||||
selinux --enforcing
|
||||
rootpw --lock --iscrypted locked
|
||||
|
||||
# Explicitly disable firewall since cloud providers generally provide
|
||||
# higher level firewall constructs (i.e. security groups).
|
||||
firewall --disabled
|
||||
|
||||
# console=ttyAMA0 and console=hvc0 as kernel boot parameter to see
|
||||
# kernel boot messages on serial console as well on aarch64 and
|
||||
# ppc64le respectively.
|
||||
# https://pagure.io/atomic-wg/issue/347
|
||||
bootloader --timeout=1 --append="no_timer_check console=tty1 console=ttyS0,115200n8 console=ttyAMA0 console=hvc0 net.ifnames=0"
|
||||
bootloader --timeout=1 --append="no_timer_check console=tty1 console=ttyS0,115200n8 net.ifnames=0"
|
||||
|
||||
network --bootproto=dhcp --device=link --activate --onboot=on
|
||||
services --enabled=sshd,cloud-init,cloud-init-local,cloud-config,cloud-final
|
||||
|
||||
zerombr
|
||||
clearpart --all
|
||||
# Implement: https://pagure.io/atomic-wg/issue/281
|
||||
# The bare metal layout currently inherits from fedora server and is in
|
||||
# https://github.com/rhinstaller/anaconda/blob/master/pyanaconda/installclasses/fedora_atomic_host.py
|
||||
# However, the disk size is currently just 6GB for the cloud image (defined in pungi-fedora). So the
|
||||
# "15GB, rest unallocated" model doesn't make sense. The Vagrant box is 40GB (apparently a number of
|
||||
# Vagrant boxes come big and rely on thin provisioning).
|
||||
# In both cases, it's simplest to just fill all the disk space.
|
||||
#
|
||||
# Use reqpart to create hardware platform specific partitions
|
||||
# https://pagure.io/atomic-wg/issue/299
|
||||
reqpart --add-boot
|
||||
# Atomic differs from cloud - we want LVM
|
||||
part /boot --size=300 --fstype="ext4"
|
||||
part pv.01 --grow
|
||||
volgroup atomicos pv.01
|
||||
# Start from 3GB as we did before, since we just need a size. But we do --grow to fill all space.
|
||||
logvol / --size=3000 --grow --fstype="xfs" --name=root --vgname=atomicos
|
||||
logvol / --size=3000 --fstype="xfs" --name=root --vgname=atomicos
|
||||
|
||||
# Equivalent of %include fedora-repo.ks
|
||||
# Pull from the ostree repo that was created during the compose
|
||||
ostreesetup --nogpg --osname=fedora-atomic --remote=fedora-atomic --url=https://kojipkgs.fedoraproject.org/compose/atomic/repo/ --ref=fedora/28/${basearch}/updates/atomic-host
|
||||
ostreesetup --nogpg --osname=fedora-atomic --remote=fedora-atomic --url=https://kojipkgs.fedoraproject.org/compose/atomic/26/ --ref=fedora/26/x86_64/atomic-host
|
||||
|
||||
reboot
|
||||
|
||||
%post --erroronfail
|
||||
# Find the architecture we are on
|
||||
arch=$(uname -m)
|
||||
|
||||
# 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.
|
||||
ostree admin set-origin --index 0 fedora-atomic https://kojipkgs.fedoraproject.org/atomic/28/ "fedora/28/${arch}/atomic-host"
|
||||
|
||||
# Make sure the ref we're supposedly sitting on (according
|
||||
# to the updated origin) exists.
|
||||
ostree refs "fedora-atomic:fedora/28/${arch}/updates/atomic-host" --create "fedora-atomic:fedora/28/${arch}/atomic-host"
|
||||
|
||||
# Remove the old ref so that the commit eventually gets
|
||||
# cleaned up.
|
||||
ostree refs "fedora-atomic:fedora/28/${arch}/updates/atomic-host" --delete
|
||||
|
||||
# delete/add the remote with new options to enable gpg verification
|
||||
# and to point them at the cdn url
|
||||
# See https://github.com/projectatomic/rpm-ostree/issues/42
|
||||
# we only need this for before f26 release where we are using a
|
||||
# temporary "dev" repo url above. We want to change the remote
|
||||
# we use to match where the repo will live for the entirety of f26.
|
||||
ostree remote delete fedora-atomic
|
||||
ostree remote add --set=gpg-verify=true --set=gpgkeypath=/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-28-primary fedora-atomic 'https://dl.fedoraproject.org/atomic/repo/'
|
||||
ostree remote add --set=gpg-verify=true --set=gpgkeypath=/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-26-primary fedora-atomic 'https://kojipkgs.fedoraproject.org/atomic/26/'
|
||||
|
||||
# older versions of livecd-tools do not follow "rootpw --lock" line above
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=964299
|
||||
@@ -91,10 +51,8 @@ passwd -l root
|
||||
cp /etc/skel/.bash* /var/roothome
|
||||
|
||||
# Configure docker-storage-setup to resize the partition table on boot
|
||||
# and extend the root filesystem to fill it.
|
||||
# https://pagure.io/atomic-wg/issue/343
|
||||
# https://github.com/projectatomic/docker-storage-setup/pull/25
|
||||
echo 'GROWPART=true' >> /etc/sysconfig/docker-storage-setup
|
||||
echo 'ROOT_SIZE=+100%FREE' >> /etc/sysconfig/docker-storage-setup
|
||||
|
||||
echo -n "Getty fixes"
|
||||
# although we want console output going to the serial console, we don't
|
||||
@@ -110,9 +68,12 @@ NETWORKING=yes
|
||||
NOZEROCONF=yes
|
||||
EOF
|
||||
|
||||
# Remove any persistent NIC rules generated by udev
|
||||
rm -vf /etc/udev/rules.d/*persistent-net*.rules
|
||||
# And ensure that we will do DHCP on eth0 on startup
|
||||
# For cloud images, 'eth0' _is_ the predictable device name, since
|
||||
# we don't want to be tied to specific virtual (!) hardware
|
||||
rm -f /etc/udev/rules.d/70*
|
||||
ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules
|
||||
|
||||
# simple eth0 config, again not hard-coded to the build hardware
|
||||
cat > /etc/sysconfig/network-scripts/ifcfg-eth0 << EOF
|
||||
DEVICE="eth0"
|
||||
BOOTPROTO="dhcp"
|
||||
@@ -121,12 +82,24 @@ TYPE="Ethernet"
|
||||
PERSISTENT_DHCLIENT="yes"
|
||||
EOF
|
||||
|
||||
# generic localhost names
|
||||
cat > /etc/hosts << EOF
|
||||
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
|
||||
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
|
||||
|
||||
EOF
|
||||
echo .
|
||||
|
||||
|
||||
# Because memory is scarce resource in most cloud/virt environments,
|
||||
# and because this impedes forensics, we are differing from the Fedora
|
||||
# default of having /tmp on tmpfs.
|
||||
echo "Disabling tmpfs for /tmp."
|
||||
systemctl mask tmp.mount
|
||||
|
||||
# make sure firstboot doesn't start
|
||||
echo "RUN_FIRSTBOOT=NO" > /etc/sysconfig/firstboot
|
||||
|
||||
# Uncomment this if you want to use cloud init but suppress the creation
|
||||
# of an "ec2-user" account. This will, in the absence of further config,
|
||||
# cause the ssh key from a metadata source to be put in the root account.
|
||||
|
||||
@@ -12,7 +12,16 @@
|
||||
@cinnamon-desktop
|
||||
@libreoffice
|
||||
|
||||
# internet and multimedia
|
||||
pidgin
|
||||
hexchat
|
||||
transmission
|
||||
|
||||
# mp3 support
|
||||
gstreamer1-plugins-ugly-free
|
||||
|
||||
# extra backgrounds
|
||||
f27-backgrounds-extras-gnome
|
||||
desktop-backgrounds-basic
|
||||
f26-backgrounds-extras-gnome
|
||||
|
||||
%end
|
||||
|
||||
@@ -32,8 +32,6 @@ dnf-yum
|
||||
# users setup. This can actually take a bit of time. Just fold it
|
||||
# in to the base box disk image
|
||||
rsync
|
||||
# Add in sshfs for vagrant-sshfs plugin
|
||||
fuse-sshfs
|
||||
%end
|
||||
|
||||
%post --erroronfail
|
||||
|
||||
@@ -13,12 +13,12 @@
|
||||
# http://worknotes.readthedocs.org/en/latest/cloudimages.html for some notes.
|
||||
#
|
||||
# For a TDL file, I store one here:
|
||||
# https://pagure.io/fedora-atomic/raw/master/f/fedora-atomic-rawhide.tdl
|
||||
# https://git.fedorahosted.org/cgit/fedora-atomic.git/tree/fedora-atomic-rawhide.tdl
|
||||
# (Koji generates one internally...what we really want is Koji to publish it statically)
|
||||
#
|
||||
# Once you have imagefactory and imagefactory-plugins installed, run:
|
||||
#
|
||||
# curl -O https://pagure.io/fedora-atomic/raw/master/f/fedora-atomic-rawhide.tdl
|
||||
# curl -O https://git.fedorahosted.org/cgit/fedora-atomic.git/plain/fedora-atomic-rawhide.tdl
|
||||
# tempfile=$(mktemp --suffix=.ks)
|
||||
# ksflatten -v F22 -c fedora-cloud-base.ks > ${tempfile}
|
||||
# imagefactory --debug base_image --file-parameter install_script ${tempfile} fedora-atomic-rawhide.tdl
|
||||
@@ -35,8 +35,7 @@ rootpw --lock --iscrypted locked
|
||||
|
||||
firewall --disabled
|
||||
|
||||
# We pass net.ifnames=0 because we always want to use eth0 here on all the cloud images.
|
||||
bootloader --timeout=1 --append="no_timer_check net.ifnames=0 console=tty1 console=ttyS0,115200n8"
|
||||
bootloader --timeout=1 --append="no_timer_check console=tty1 console=ttyS0,115200n8"
|
||||
|
||||
network --bootproto=dhcp --device=link --activate --onboot=on
|
||||
services --enabled=sshd,cloud-init,cloud-init-local,cloud-config,cloud-final
|
||||
@@ -171,6 +170,11 @@ NOZEROCONF=yes
|
||||
DEVTIMEOUT=10
|
||||
EOF
|
||||
|
||||
# For cloud images, 'eth0' _is_ the predictable device name, since
|
||||
# we don't want to be tied to specific virtual (!) hardware
|
||||
rm -f /etc/udev/rules.d/70*
|
||||
ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules
|
||||
|
||||
# simple eth0 config, again not hard-coded to the build hardware
|
||||
cat > /etc/sysconfig/network-scripts/ifcfg-eth0 << EOF
|
||||
DEVICE="eth0"
|
||||
@@ -241,12 +245,8 @@ dd bs=1M if=/dev/zero of=/var/tmp/zeros || :
|
||||
rm -f /var/tmp/zeros
|
||||
echo "(Don't worry -- that out-of-space error was expected.)"
|
||||
|
||||
# When we build the image with oz, dracut is used
|
||||
# and sets up a ifcfg-en<whatever> for the device. We don't
|
||||
# want to use this, we use eth0 so it is always the same.
|
||||
# So we remove all these ifcfg-en<whatever> devices so
|
||||
# The 'network' service can come up cleanly.
|
||||
rm -f /etc/sysconfig/network-scripts/ifcfg-en*
|
||||
# For trac ticket https://fedorahosted.org/cloud/ticket/128
|
||||
rm -f /etc/sysconfig/network-scripts/ifcfg-ens3
|
||||
|
||||
# Enable network service here, as doing it in the services line
|
||||
# fails due to RHBZ #1369794
|
||||
|
||||
@@ -19,7 +19,7 @@ network --bootproto=dhcp --device=link --activate
|
||||
rootpw --lock --iscrypted locked
|
||||
shutdown
|
||||
|
||||
bootloader --timeout=1
|
||||
bootloader --timeout=1 --append="no_timer_check console=tty1 console=ttyS0,115200n8"
|
||||
|
||||
zerombr
|
||||
clearpart --all --initlabel --disklabel=msdos
|
||||
@@ -55,6 +55,13 @@ initial-setup
|
||||
# make sure all the locales are available for inital0-setup and anaconda to work
|
||||
glibc-all-langpacks
|
||||
|
||||
# workaround for consequence of RHBZ #1324623: without this, with
|
||||
# yum-based creation tools, compose fails due to conflict between
|
||||
# libcrypt and libcrypt-nss. dnf does not seem to have the same
|
||||
# issue, so this may be dropped when appliance-creator is ported
|
||||
# to dnf.
|
||||
libcrypt-nss
|
||||
-libcrypt
|
||||
%end
|
||||
|
||||
%post
|
||||
@@ -74,9 +81,6 @@ 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
|
||||
|
||||
@@ -14,13 +14,11 @@ sssd-client
|
||||
%end
|
||||
|
||||
%post --erroronfail --log=/root/anaconda-post.log
|
||||
|
||||
# remove some extraneous files
|
||||
rm -rf /var/cache/dnf/*
|
||||
rm -rf /tmp/*
|
||||
|
||||
# https://pagure.io/atomic-wg/issue/308
|
||||
printf "tsflags=nodocs\n" >>/etc/dnf/dnf.conf
|
||||
|
||||
#Mask mount units and getty service so that we don't get login prompt
|
||||
systemctl mask systemd-remount-fs.service dev-hugepages.mount sys-fs-fuse-connections.mount systemd-logind.service getty.target console-getty.service
|
||||
|
||||
@@ -37,6 +35,5 @@ systemctl mask systemd-remount-fs.service dev-hugepages.mount sys-fs-fuse-connec
|
||||
#
|
||||
umount /run
|
||||
systemd-tmpfiles --prefix=/run/ --prefix=/var/run/ --create --boot || true
|
||||
rm /run/nologin # https://pagure.io/atomic-wg/issue/316
|
||||
|
||||
%end
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
# but you can run imagefactory locally too.
|
||||
#
|
||||
# To do so, testing local changes, first you'll need a TDL file. I store one here:
|
||||
# https://pagure.io/fedora-atomic/raw/master/f/fedora-atomic-rawhide.tdl
|
||||
# https://git.fedorahosted.org/cgit/fedora-atomic.git/tree/fedora-atomic-rawhide.tdl
|
||||
#
|
||||
# Then, once you have imagefactory and imagefactory-plugins installed, run:
|
||||
#
|
||||
@@ -32,19 +32,13 @@ autopart --noboot --nohome --noswap --nolvm
|
||||
%packages --excludedocs --instLangs=en --nocore
|
||||
fedora-release
|
||||
bash
|
||||
coreutils-single
|
||||
glibc-minimal-langpack
|
||||
libcrypt
|
||||
rpm
|
||||
shadow-utils
|
||||
sssd-client
|
||||
util-linux
|
||||
-kernel
|
||||
-dosfstools
|
||||
-e2fsprogs
|
||||
-fuse-libs
|
||||
-gnupg2-smime
|
||||
-libss # used by e2fsprogs
|
||||
-libusbx
|
||||
-pinentry
|
||||
-shared-mime-info
|
||||
-trousers
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
%packages
|
||||
@firefox
|
||||
@kde-apps
|
||||
@@ -11,7 +10,7 @@
|
||||
### The KDE-Desktop
|
||||
|
||||
### Browser
|
||||
falkon
|
||||
qupzilla
|
||||
|
||||
### fixes
|
||||
|
||||
@@ -19,7 +18,7 @@ falkon
|
||||
-system-config-printer
|
||||
# make sure mariadb lands instead of MySQL (hopefully a temporary hack)
|
||||
mariadb-embedded
|
||||
mariadb-connector-c
|
||||
mariadb-libs
|
||||
mariadb-server
|
||||
|
||||
# minimal localization support - allows installing the kde-l10n-* packages
|
||||
@@ -43,8 +42,29 @@ k3b # ~15 megs
|
||||
fuse
|
||||
mediawriter
|
||||
|
||||
# only include kdegames-minimal
|
||||
-kdegames
|
||||
kdegames-minimal
|
||||
|
||||
### space issues
|
||||
|
||||
# fonts (we make no bones about admitting we're english-only)
|
||||
wqy-microhei-fonts # a compact CJK font, to replace:
|
||||
-naver-nanum-gothic-fonts # Korean
|
||||
-vlgothic-fonts # Japanese
|
||||
-adobe-source-han-sans-cn-fonts # simplified Chinese
|
||||
-adobe-source-han-sans-tw-fonts # traditional Chinese
|
||||
|
||||
-paratype-pt-sans-fonts # Cyrillic (already supported by DejaVu), huge
|
||||
#-stix-fonts # mathematical symbols
|
||||
|
||||
# remove input methods to free space
|
||||
-@input-methods
|
||||
-scim*
|
||||
-m17n*
|
||||
-ibus*
|
||||
-iok
|
||||
|
||||
# admin-tools
|
||||
-gnome-disk-utility
|
||||
# kcm_clock still lacks some features, so keep system-config-date around
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
# remove input methods to free space
|
||||
%packages
|
||||
-@input-methods
|
||||
-scim*
|
||||
-iok
|
||||
%end
|
||||
|
||||
|
||||
@@ -14,8 +14,7 @@
|
||||
# Maintainer: Christian Dersch <lupinix@fedoraproject.org>
|
||||
# https://fedoraproject.org/wiki/User:Lupinix
|
||||
|
||||
%include fedora-live-kde-base.ks
|
||||
%include fedora-live-minimization.ks
|
||||
%include fedora-live-kde.ks
|
||||
|
||||
# The recommended part size for DVDs is too close to use for the astronomy spin
|
||||
part / --size 14500
|
||||
@@ -25,13 +24,7 @@ part / --size 14500
|
||||
# Installing the default/mandatory packages from engineering & scientific
|
||||
@engineering-and-scientific
|
||||
|
||||
# Basic development
|
||||
@development-tools
|
||||
@c-development
|
||||
|
||||
# astronomical data analysis
|
||||
astrometry
|
||||
astrometry-tycho2
|
||||
cdsclient
|
||||
fpack
|
||||
gcx
|
||||
@@ -44,7 +37,7 @@ skyviewer
|
||||
swarp
|
||||
wcstools
|
||||
|
||||
# Observatory: KStars + INDI drivers
|
||||
# Observatory: KStars + INDI drivers + Skychart
|
||||
indi-aagcloudwatcher
|
||||
indi-apogee
|
||||
indi-eqmod
|
||||
@@ -52,10 +45,10 @@ indi-gphoto
|
||||
indi-sx
|
||||
indistarter
|
||||
kstars
|
||||
stellarium
|
||||
|
||||
# misc. astronomy
|
||||
celestia
|
||||
stellarium
|
||||
virtualplanet
|
||||
|
||||
# Some astro environment stuff
|
||||
|
||||
@@ -56,6 +56,7 @@ aajohan-comfortaa-fonts
|
||||
|
||||
# Without this, initramfs generation during live image creation fails: #1242586
|
||||
dracut-live
|
||||
grub2-efi
|
||||
syslinux
|
||||
|
||||
# anaconda needs the locales available to run for different locales
|
||||
@@ -173,7 +174,7 @@ if [ -n "\$configdone" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# add liveuser user with no passwd
|
||||
# add fedora user with no passwd
|
||||
action "Adding live user" useradd \$USERADDARGS -c "Live System User" liveuser
|
||||
passwd -d liveuser > /dev/null
|
||||
usermod -aG wheel liveuser > /dev/null
|
||||
|
||||
@@ -32,9 +32,6 @@ sed -i 's/^#autologin-user-timeout=.*/autologin-user-timeout=0/' /etc/lightdm/li
|
||||
# set Cinnamon as default session, otherwise login will fail
|
||||
sed -i 's/^#user-session=.*/user-session=cinnamon/' /etc/lightdm/lightdm.conf
|
||||
|
||||
# no updater applet in live environment
|
||||
rm -f /etc/xdg/autostart/org.mageia.dnfdragora-updater.desktop
|
||||
|
||||
# Show harddisk install on the desktop
|
||||
sed -i -e 's/NoDisplay=true/NoDisplay=false/' /usr/share/applications/liveinst.desktop
|
||||
mkdir /home/liveuser/Desktop
|
||||
|
||||
@@ -16,24 +16,42 @@ part / --size 14336
|
||||
# Switch to groups for design suite
|
||||
@design-suite
|
||||
|
||||
# Provides backup application
|
||||
deja-dup
|
||||
deja-dup-nautilus
|
||||
# Added addons to address rhbz#1336879 from dnf
|
||||
gimp-data-extras
|
||||
gimp-dbp
|
||||
gimp-dds-plugin
|
||||
gimp-elsamuko
|
||||
gimp-fourier-plugin
|
||||
gimp-gap
|
||||
gimp-help
|
||||
gimp-high-pass-filter
|
||||
gimp-layer-via-copy-cut
|
||||
gimp-lensfun
|
||||
gimp-lqr-plugin
|
||||
gimp-normalmap
|
||||
gimp-paint-studio
|
||||
gimp-resynthesizer
|
||||
gimp-save-for-web
|
||||
gimp-separate+
|
||||
gimp-wavelet-denoise-plugin
|
||||
gimpfx-foundry
|
||||
gmic-gimp
|
||||
inkscape-psd
|
||||
inkscape-sozi
|
||||
inkscape-table
|
||||
sane-backends-drivers-scanners
|
||||
xsane-gimp
|
||||
#YafaRay-blender
|
||||
|
||||
# Add extra gnome applications
|
||||
gnome-books
|
||||
gnome-calendar
|
||||
gnome-photos
|
||||
gnome-shell-extension-pomodoro
|
||||
gnome-todo
|
||||
|
||||
# Add cosmetic for gnome-terminal
|
||||
powerline
|
||||
powerline-fonts
|
||||
|
||||
# Extra wallpapers
|
||||
# f26-backgrounds-extras-base
|
||||
# f26-backgrounds-extras-gnome
|
||||
f26-backgrounds-extras-base
|
||||
f26-backgrounds-extras-gnome
|
||||
|
||||
|
||||
# removal of unneeded applications
|
||||
-gnome-boxes
|
||||
@@ -46,7 +64,7 @@ powerline-fonts
|
||||
#Override the favorite desktop application in Dash
|
||||
cat >> /usr/share/glib-2.0/schemas/org.gnome.shell.gschema.override << FOE
|
||||
[org.gnome.shell]
|
||||
favorite-apps=['firefox.desktop', 'shotwell.desktop', 'gimp.desktop', 'darktable.desktop','krita.desktop', 'inkscape.desktop', 'blender.desktop', 'libreoffice-writer.desktop', 'scribus.desktop', 'pitivi.desktop', 'nautilus.desktop', 'bijiben.desktop', 'anaconda.desktop', 'list-design-tutorials.desktop']
|
||||
favorite-apps=['firefox.desktop', 'shotwell.desktop', 'gimp.desktop', 'darktable.desktop','krita', 'inkscape.desktop', 'blender.desktop', 'libreoffice-writer.desktop', 'scribus.desktop', 'nautilus.desktop', 'bijiben.desktop', 'anaconda.desktop', 'list-design-tutorials.desktop']
|
||||
FOE
|
||||
|
||||
# Add link to lists of tutorials
|
||||
|
||||
@@ -189,6 +189,7 @@ games-menus
|
||||
|
||||
# No compilations of games as I want to only include games that at least
|
||||
# someone thought were good within a genre.
|
||||
-kdegames
|
||||
|
||||
# Nothing should be downloading data to play.
|
||||
-autodownloader
|
||||
|
||||
@@ -77,7 +77,7 @@ sooperlooper
|
||||
|
||||
#recodring and DAW
|
||||
audacity
|
||||
ardour5
|
||||
ardour4
|
||||
rosegarden4
|
||||
seq24
|
||||
muse
|
||||
|
||||
@@ -9,10 +9,9 @@
|
||||
|
||||
%include fedora-live-kde-base.ks
|
||||
%include fedora-live-minimization.ks
|
||||
%include fedora-kde-minimization.ks
|
||||
|
||||
# DVD payload
|
||||
part / --size=6200
|
||||
part / --size=6144
|
||||
|
||||
%post
|
||||
%end
|
||||
|
||||
@@ -40,9 +40,6 @@ if [ -f /etc/PackageKit/CommandNotFound.conf ]; then
|
||||
sed -i -e 's/^SoftwareSourceSearch=true/SoftwareSourceSearch=false/' /etc/PackageKit/CommandNotFound.conf
|
||||
fi
|
||||
|
||||
# no updater applet in live environment
|
||||
rm -f /etc/xdg/autostart/org.mageia.dnfdragora-updater.desktop
|
||||
|
||||
# make sure to set the right permissions and selinux contexts
|
||||
chown -R liveuser:liveuser /home/liveuser/
|
||||
restorecon -R /home/liveuser/
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
-autofs
|
||||
# smartcards won't really work on the livecd.
|
||||
-coolkey
|
||||
-wget
|
||||
|
||||
# scanning takes quite a bit of space :/
|
||||
-xsane
|
||||
|
||||
@@ -47,6 +47,7 @@ firefox
|
||||
|
||||
# Dictionaries are big
|
||||
-aspell-*
|
||||
-hunspell-*
|
||||
-man-pages*
|
||||
-words
|
||||
|
||||
|
||||
@@ -8,8 +8,7 @@
|
||||
# Maintainer: Amit Saha <amitksaha@fedoraproject.org>
|
||||
# https://fedoraproject.org/wiki/User:Amitksaha
|
||||
|
||||
%include fedora-live-kde-base.ks
|
||||
%include fedora-live-minimization.ks
|
||||
%include fedora-live-kde.ks
|
||||
|
||||
# The recommended part size for DVDs is too close to use for the scientific spin
|
||||
part / --size 14500
|
||||
@@ -20,9 +19,9 @@ part / --size 14500
|
||||
@engineering-and-scientific
|
||||
|
||||
# scilab
|
||||
#scilab
|
||||
#scilab-devel
|
||||
#scilab-doc
|
||||
scilab
|
||||
scilab-devel
|
||||
scilab-doc
|
||||
|
||||
# Remove sagemath explicitly?
|
||||
-sagemath
|
||||
@@ -50,7 +49,7 @@ python-ipython
|
||||
python-ipython-console
|
||||
python-ipython-notebook
|
||||
sympy
|
||||
#python-networkx
|
||||
python-networkx
|
||||
python-pandas
|
||||
|
||||
#python 3 and tools/libraries not included from the groups
|
||||
@@ -63,7 +62,7 @@ python3-ipython
|
||||
python3-ipython-console
|
||||
python3-ipython-notebook
|
||||
python3-sympy
|
||||
#python3-networkx
|
||||
python3-networkx
|
||||
python3-pandas
|
||||
|
||||
# matplotlib backends
|
||||
@@ -80,7 +79,7 @@ apache-commons-math
|
||||
gcc-gfortran
|
||||
|
||||
# GUI for R
|
||||
#rkward
|
||||
rkward
|
||||
|
||||
# GUI for Octave
|
||||
qtoctave
|
||||
@@ -114,7 +113,6 @@ valgrind-openmpi
|
||||
libgomp
|
||||
python-pp
|
||||
mpi4py-openmpi
|
||||
python3-mpi4py-openmpi
|
||||
|
||||
#Version control- a GUI for each as well
|
||||
|
||||
|
||||
@@ -36,7 +36,8 @@ gnome-keyring-pam
|
||||
-acpid
|
||||
-gimp-help
|
||||
-desktop-backgrounds-basic
|
||||
-PackageKit* # we switched to dnfdragora, so we don't need this
|
||||
-realmd # only seems to be used in GNOME
|
||||
-PackageKit* # we switched to yumex, so we don't need this
|
||||
-aspell-* # dictionaries are big
|
||||
-gnumeric
|
||||
-foomatic-db-ppds
|
||||
|
||||
@@ -17,36 +17,16 @@ part / --size 6656
|
||||
cat >> /etc/rc.d/init.d/livesys << EOF
|
||||
|
||||
|
||||
# disable gnome-software automatically downloading updates
|
||||
# disable updates plugin
|
||||
cat >> /usr/share/glib-2.0/schemas/org.gnome.software.gschema.override << FOE
|
||||
[org.gnome.software]
|
||||
download-updates=false
|
||||
FOE
|
||||
|
||||
# don't autostart gnome-software session service
|
||||
rm -f /etc/xdg/autostart/gnome-software-service.desktop
|
||||
|
||||
# disable the gnome-software shell search provider
|
||||
cat >> /usr/share/gnome-shell/search-providers/org.gnome.Software-search-provider.ini << FOE
|
||||
DefaultDisabled=true
|
||||
FOE
|
||||
|
||||
# don't run gnome-initial-setup
|
||||
mkdir ~liveuser/.config
|
||||
touch ~liveuser/.config/gnome-initial-setup-done
|
||||
|
||||
# suppress anaconda spokes redundant with gnome-initial-setup
|
||||
cat >> /etc/sysconfig/anaconda << FOE
|
||||
[NetworkSpoke]
|
||||
visited=1
|
||||
|
||||
[PasswordSpoke]
|
||||
visited=1
|
||||
|
||||
[UserSpoke]
|
||||
visited=1
|
||||
FOE
|
||||
|
||||
# make the installer show up
|
||||
if [ -f /usr/share/applications/liveinst.desktop ]; then
|
||||
# Show harddisk install in shell dash
|
||||
|
||||
@@ -60,9 +60,6 @@ sed -i -e 's/NoDisplay=true/NoDisplay=false/' /usr/share/applications/liveinst.d
|
||||
mkdir /home/liveuser/Desktop
|
||||
cp /usr/share/applications/liveinst.desktop /home/liveuser/Desktop
|
||||
|
||||
# no updater applet in live environment
|
||||
rm -f /etc/xdg/autostart/org.mageia.dnfdragora-updater.desktop
|
||||
|
||||
# and mark it as executable (new Xfce security feature)
|
||||
chmod +x /home/liveuser/Desktop/liveinst.desktop
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ metacity
|
||||
-acpid
|
||||
-gimp-help
|
||||
-desktop-backgrounds-basic
|
||||
-PackageKit* # we switched to dnfdragora, so we don't need this
|
||||
-PackageKit* # we switched to yumex, so we don't need this
|
||||
-foomatic-db-ppds
|
||||
-foomatic
|
||||
-stix-fonts
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
%packages
|
||||
-PackageKit* # we switched to yumex, so we don't need this
|
||||
firefox
|
||||
@mate
|
||||
compiz
|
||||
compiz-plugins-main
|
||||
@@ -14,11 +16,22 @@ emerald-themes
|
||||
emerald
|
||||
fusion-icon
|
||||
@networkmanager-submodules
|
||||
blueberry
|
||||
|
||||
# some apps from mate-applications
|
||||
caja-actions
|
||||
mate-disk-usage-analyzer
|
||||
|
||||
# system tools
|
||||
system-config-printer
|
||||
system-config-printer-applet
|
||||
lightdm-gtk-greeter-settings
|
||||
|
||||
# audio video
|
||||
parole
|
||||
exaile
|
||||
gstreamer1-plugins-ugly-free # mp3 support
|
||||
|
||||
# blacklist applications which breaks mate-desktop
|
||||
-audacious
|
||||
|
||||
@@ -28,6 +41,10 @@ mate-disk-usage-analyzer
|
||||
# dsl tools
|
||||
rp-pppoe
|
||||
|
||||
# some tools
|
||||
p7zip
|
||||
p7zip-plugins
|
||||
|
||||
# FIXME; apparently the glibc maintainers dislike this, but it got put into the
|
||||
# desktop image at some point. We won't touch this one for now.
|
||||
nss-mdns
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
%include fedora-arm-base.ks
|
||||
|
||||
# server defaults to xfs for / so lets do so on arm also
|
||||
part / --size=2500 --fstype xfs
|
||||
|
||||
%packages
|
||||
# install the default groups for the server evironment since installing the environment is not working
|
||||
@server-product
|
||||
@standard
|
||||
@headless-management
|
||||
@container-management
|
||||
@domain-client
|
||||
-initial-setup-gui
|
||||
-generic-release*
|
||||
fedora-modular-release
|
||||
%end
|
||||
|
||||
%post
|
||||
|
||||
# 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
|
||||
|
||||
@@ -1,70 +0,0 @@
|
||||
# See fedora-modular-container-common.ks for details on how to hack on container image kickstarts
|
||||
# This base is a stripped back Fedora image without python3/dnf.
|
||||
# If you need that use the standard base image.
|
||||
|
||||
%include fedora-modular-container-common.ks
|
||||
|
||||
%packages --excludedocs --instLangs=en --nocore --excludeWeakdeps
|
||||
microdnf
|
||||
|
||||
%end
|
||||
|
||||
%post --erroronfail --log=/root/anaconda-post.log
|
||||
# remove some random help txt files
|
||||
rm -fv usr/share/gnupg/help*.txt
|
||||
|
||||
# Pruning random things
|
||||
rm usr/lib/rpm/rpm.daily
|
||||
rm -rfv usr/lib64/nss/unsupported-tools/ # unsupported
|
||||
|
||||
# Statically linked crap
|
||||
rm -fv usr/sbin/{glibc_post_upgrade.x86_64,sln}
|
||||
ln usr/bin/ln usr/sbin/sln
|
||||
|
||||
# Remove some dnf info
|
||||
rm -rfv /var/lib/dnf
|
||||
|
||||
# don't need icons
|
||||
rm -rfv /usr/share/icons/*
|
||||
|
||||
#some random not-that-useful binaries
|
||||
rm -fv /usr/bin/pinky
|
||||
|
||||
# we lose presets by removing /usr/lib/systemd but we do not care
|
||||
rm -rfv /usr/lib/systemd
|
||||
|
||||
# if you want to change the timezone, bind-mount it from the host or reinstall tzdata
|
||||
rm -fv /etc/localtime
|
||||
mv /usr/share/zoneinfo/UTC /etc/localtime
|
||||
rm -rfv /usr/share/zoneinfo
|
||||
|
||||
# Final pruning
|
||||
rm -rfv /var/cache/* /var/log/* /tmp/*
|
||||
|
||||
%end
|
||||
|
||||
%post --nochroot --erroronfail --log=/mnt/sysimage/root/anaconda-post-nochroot.log
|
||||
set -eux
|
||||
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1343138
|
||||
# Fix /run/lock breakage since it's not tmpfs in container
|
||||
# This unmounts /run (tmpfs) and then recreates the files
|
||||
# in the /run directory on the root filesystem of the container
|
||||
# NOTE: run this in nochroot because "umount" does not exist in chroot
|
||||
umount /mnt/sysimage/run
|
||||
# The file that specifies the /run/lock tmpfile is
|
||||
# /usr/lib/tmpfiles.d/legacy.conf, which is part of the systemd
|
||||
# rpm that isn't included in this image. We'll create the /run/lock
|
||||
# file here manually with the settings from legacy.conf
|
||||
# NOTE: chroot to run "install" because it is not in anaconda env
|
||||
chroot /mnt/sysimage install -d /run/lock -m 0755 -o root -g root
|
||||
|
||||
|
||||
# See: https://bugzilla.redhat.com/show_bug.cgi?id=1051816
|
||||
# NOTE: run this in nochroot because "find" does not exist in chroot
|
||||
KEEPLANG=en_US
|
||||
for dir in locale i18n; do
|
||||
find /mnt/sysimage/usr/share/${dir} -mindepth 1 -maxdepth 1 -type d -not \( -name "${KEEPLANG}" -o -name POSIX \) -exec rm -rfv {} +
|
||||
done
|
||||
|
||||
%end
|
||||
@@ -1,38 +0,0 @@
|
||||
# See fedora-modular-container-common.ks for details on how to hack on container image kickstarts
|
||||
# This base is a standard Fedora image with python3 and dnf
|
||||
|
||||
%include fedora-modular-container-common.ks
|
||||
|
||||
%packages --excludedocs --instLangs=en --nocore
|
||||
rootfiles
|
||||
tar # https://bugzilla.redhat.com/show_bug.cgi?id=1409920
|
||||
vim-minimal
|
||||
dnf
|
||||
dnf-yum # https://pagure.io/fesco/ticket/1312#comment:29
|
||||
sssd-client
|
||||
|
||||
%end
|
||||
|
||||
%post --erroronfail --log=/root/anaconda-post.log
|
||||
# remove some extraneous files
|
||||
rm -rf /var/cache/dnf/*
|
||||
rm -rf /tmp/*
|
||||
|
||||
#Mask mount units and getty service so that we don't get login prompt
|
||||
systemctl mask systemd-remount-fs.service dev-hugepages.mount sys-fs-fuse-connections.mount systemd-logind.service getty.target console-getty.service
|
||||
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1343138
|
||||
# Fix /run/lock breakage since it's not tmpfs in container
|
||||
# This unmounts /run (tmpfs) and then recreates the files
|
||||
# in the /run directory on the root filesystem of the container
|
||||
#
|
||||
# We ignore the return code of the systemd-tmpfiles command because
|
||||
# at this point we have already removed the /etc/machine-id and all
|
||||
# tmpfiles lines with %m in them will fail and cause a bad return
|
||||
# code. Example failure:
|
||||
# [/usr/lib/tmpfiles.d/systemd.conf:26] Failed to replace specifiers: /run/log/journal/%m
|
||||
#
|
||||
umount /run
|
||||
systemd-tmpfiles --prefix=/run/ --prefix=/var/run/ --create --boot || true
|
||||
|
||||
%end
|
||||
@@ -1,75 +0,0 @@
|
||||
# This is the common bits between Container base images based on Modular Fedora.
|
||||
#
|
||||
# To keep this image minimal it only installs English language. You need to change
|
||||
# dnf configuration in order to enable other languages.
|
||||
#
|
||||
# ## Hacking on this image ###
|
||||
# This kickstart is processed using Anaconda-in-ImageFactory (via Koji typically),
|
||||
# but you can run imagefactory locally too.
|
||||
#
|
||||
# To do so, testing local changes, first you'll need a TDL file. I store one here:
|
||||
# https://pagure.io/fedora-atomic/raw/master/f/fedora-atomic-rawhide.tdl
|
||||
#
|
||||
# Then, once you have imagefactory and imagefactory-plugins installed, run:
|
||||
#
|
||||
# ksflatten -c fedora-modular-base[-minimal].ks -o fedora-modular-base-test.ks
|
||||
# imagefactory --debug target_image --template /path/to/fedora-atomic-rawhide.tdl --parameter offline_icicle true --file-parameter install_script $(pwd)/fedora-modular-base-test.ks modular
|
||||
#
|
||||
|
||||
text # don't use cmdline -- https://github.com/rhinstaller/anaconda/issues/931
|
||||
bootloader --disabled
|
||||
timezone --isUtc --nontp Etc/UTC
|
||||
rootpw --lock --iscrypted locked
|
||||
keyboard us
|
||||
network --bootproto=dhcp --device=link --activate --onboot=on
|
||||
reboot
|
||||
|
||||
# boot partitions are irrelevant as the final container image is a tarball
|
||||
zerombr
|
||||
clearpart --all
|
||||
autopart --nohome --noswap --nolvm
|
||||
|
||||
%packages --excludedocs --instLangs=en --nocore
|
||||
fedora-modular-release
|
||||
bash
|
||||
coreutils-single
|
||||
glibc-minimal-langpack
|
||||
libcrypt
|
||||
rpm
|
||||
shadow-utils
|
||||
sssd-client
|
||||
util-linux
|
||||
-kernel
|
||||
-dosfstools
|
||||
-e2fsprogs
|
||||
-fuse-libs
|
||||
-gnupg2-smime
|
||||
-libss # used by e2fsprogs
|
||||
-libusbx
|
||||
-pinentry
|
||||
-shared-mime-info
|
||||
-trousers
|
||||
-xkeyboard-config
|
||||
|
||||
%end
|
||||
|
||||
%post --erroronfail --log=/root/anaconda-post.log
|
||||
set -eux
|
||||
|
||||
# Set install langs macro so that new rpms that get installed will
|
||||
# only install langs that we limit it to.
|
||||
LANG="en_US"
|
||||
echo "%_install_langs $LANG" > /etc/rpm/macros.image-language-conf
|
||||
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1400682
|
||||
echo "Import RPM GPG key"
|
||||
releasever=$(rpm -q --qf '%{version}\n' fedora-modular-release)
|
||||
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-primary
|
||||
|
||||
echo "# fstab intentionally empty for containers" > /etc/fstab
|
||||
|
||||
# Remove machine-id on pre generated images
|
||||
rm -f /etc/machine-id
|
||||
touch /etc/machine-id
|
||||
|
||||
%end
|
||||
@@ -1,81 +0,0 @@
|
||||
text
|
||||
lang en_US.UTF-8
|
||||
keyboard us
|
||||
timezone US/Eastern
|
||||
auth --useshadow --passalgo=sha512
|
||||
selinux --enforcing
|
||||
# Disabled for modular compose (for now)
|
||||
#firewall --enabled --service=mdns
|
||||
# Disabled for modular compose (for now)
|
||||
#services --enabled=sshd,NetworkManager,chronyd,initial-setup
|
||||
network --bootproto=dhcp --device=link --activate
|
||||
rootpw --lock --iscrypted locked
|
||||
shutdown
|
||||
|
||||
bootloader --timeout=1 --append="no_timer_check console=tty1 console=ttyS0,115200n8"
|
||||
|
||||
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 --excludedocs --excludeWeakdeps --nocore
|
||||
bash
|
||||
fedora-modular-release
|
||||
filesystem
|
||||
coreutils-single
|
||||
util-linux
|
||||
rpm
|
||||
shadow-utils
|
||||
microdnf
|
||||
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-modular-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
|
||||
|
||||
# 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
|
||||
|
||||
%end
|
||||
@@ -18,6 +18,7 @@ python3-pillow-tk
|
||||
-@sound-and-video
|
||||
-@multimedia
|
||||
-dleyna*
|
||||
-evolution*
|
||||
-gnome-boxes
|
||||
-gnome-calendar
|
||||
-gnome-clocks
|
||||
@@ -26,7 +27,6 @@ python3-pillow-tk
|
||||
-gnome-documents
|
||||
-gnome-font-viewer
|
||||
-gnome-maps
|
||||
-gnome-photos
|
||||
-gnome-weather
|
||||
-grilo-plugins
|
||||
-cheese
|
||||
@@ -35,6 +35,7 @@ python3-pillow-tk
|
||||
|
||||
# This is no longer workstation
|
||||
-@workstation-product
|
||||
-fedora-productimg-workstation
|
||||
|
||||
# Add a web browser
|
||||
@firefox
|
||||
@@ -59,7 +60,6 @@ python3-pillow-tk
|
||||
|
||||
# Help and art can be big, too
|
||||
-gnome-user-docs
|
||||
-gnome-getting-started-docs
|
||||
-desktop-backgrounds-basic
|
||||
-*backgrounds-extras
|
||||
|
||||
|
||||
@@ -30,7 +30,8 @@ firewall --enabled --service=mdns,presence
|
||||
-abrt-cli
|
||||
-ibus*
|
||||
-hyperv-daemons
|
||||
-webkit2gtk3-plugin-process-gtk2
|
||||
-webkitgtk4-plugin-process-gtk2
|
||||
webkitgtk3
|
||||
|
||||
# Add some extra fonts
|
||||
dejavu-sans-fonts
|
||||
|
||||
@@ -20,6 +20,9 @@
|
||||
@printing
|
||||
@workstation-product
|
||||
|
||||
# Branding for the installer
|
||||
fedora-productimg-workstation
|
||||
|
||||
# Exclude unwanted packages from @anaconda-tools group
|
||||
-gfs2-utils
|
||||
-reiserfs-utils
|
||||
|
||||
@@ -27,8 +27,10 @@ gnome-keyring-pam
|
||||
# Note that blank is still default.
|
||||
xscreensaver-extras
|
||||
wget
|
||||
# Handy for debugging
|
||||
rfkill
|
||||
# Better more popular browser
|
||||
#firefox
|
||||
firefox
|
||||
system-config-printer
|
||||
|
||||
# save some space
|
||||
@@ -36,8 +38,8 @@ system-config-printer
|
||||
-acpid
|
||||
-gimp-help
|
||||
-desktop-backgrounds-basic
|
||||
-PackageKit* # we switched to yumex, so we don't need this
|
||||
-aspell-* # dictionaries are big
|
||||
-xfce4-sensors-plugin
|
||||
-foomatic-db-ppds
|
||||
|
||||
%end
|
||||
|
||||
Reference in New Issue
Block a user