mirror of
https://pagure.io/fedora-kickstarts.git
synced 2025-12-09 00:20:31 +08:00
Compare commits
120 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b3e9d978c7 | ||
|
|
ab0f96678e | ||
|
|
d8c1268e61 | ||
|
|
a600dd769e | ||
|
|
c3841ff35a | ||
|
|
d95b59ac3b | ||
|
|
9109d36075 | ||
|
|
1a55167415 | ||
|
|
5f1ff6c079 | ||
|
|
7e9f7558eb | ||
|
|
3721df6e5a | ||
|
|
2f5861cb1c | ||
|
|
8ca87ecf8d | ||
|
|
f1eae2ab45 | ||
|
|
ec4546fbb4 | ||
|
|
3fbbc13f95 | ||
|
|
918f29d051 | ||
|
|
46e9e83f49 | ||
|
|
c9eba41644 | ||
|
|
a80ae5c75f | ||
|
|
042d1c8e7f | ||
|
|
4defafdda6 | ||
|
|
ac6d5a1446 | ||
|
|
27ca4a0aed | ||
|
|
3eca0e116f | ||
|
|
1472b98a43 | ||
|
|
a9370f2609 | ||
|
|
9a25016bac | ||
|
|
0388d7a3b5 | ||
|
|
013901d137 | ||
|
|
dfd15c8186 | ||
|
|
269b930193 | ||
|
|
473d9f3e85 | ||
|
|
b66e932863 | ||
|
|
89e7f5892a | ||
|
|
2aea906580 | ||
|
|
ececc187b2 | ||
|
|
ff45d1ad60 | ||
|
|
a3d3880480 | ||
|
|
916c612a87 | ||
|
|
45274f6e14 | ||
|
|
ca243c4ebc | ||
|
|
f99a3c7b5b | ||
|
|
a4edfbffdf | ||
|
|
654e722065 | ||
|
|
7ccb2ae9ac | ||
|
|
cfaf62d60b | ||
|
|
f2156bf750 | ||
|
|
19b821bc92 | ||
|
|
e3c3cf3116 | ||
|
|
63c4852464 | ||
|
|
67bad760d5 | ||
|
|
86f7dfb560 | ||
|
|
27d1b07813 | ||
|
|
cf3866c28b | ||
|
|
cd0ff18d97 | ||
|
|
c72702c371 | ||
|
|
52cf2aa63e | ||
|
|
0eb9b33076 | ||
|
|
bb3b98d505 | ||
|
|
219f5a2ee0 | ||
|
|
d7b3eaf9ef | ||
|
|
14111b0eab | ||
|
|
110f37d82f | ||
|
|
a8e3bf4681 | ||
|
|
f57fa7ed1a | ||
|
|
176f3f350a | ||
|
|
d9315b1d1f | ||
|
|
902c6a7d98 | ||
|
|
c266fff2c0 | ||
|
|
229ff4c4f7 | ||
|
|
7379a9a0f4 | ||
|
|
4af1ec7312 | ||
|
|
41ef546b3f | ||
|
|
f1babff154 | ||
|
|
c66511d4f9 | ||
|
|
dda92b4f95 | ||
|
|
8241be7492 | ||
|
|
38dc52cb45 | ||
|
|
85b227d3cc | ||
|
|
c656ae6f78 | ||
|
|
b6ef454057 | ||
|
|
c791a2e6b1 | ||
|
|
a83144a498 | ||
|
|
97b0af5d00 | ||
|
|
aa99fb2c9e | ||
|
|
23704762f1 | ||
|
|
80a8d03f7d | ||
|
|
44d18285df | ||
|
|
df800dcc2b | ||
|
|
e9dd1a4e47 | ||
|
|
22dfc7f1aa | ||
|
|
043bdcef8d | ||
|
|
311862895b | ||
|
|
c3095c82ba | ||
|
|
09243c1a40 | ||
|
|
7d2e4519d8 | ||
|
|
ca4d6f43e1 | ||
|
|
60f97b14c8 | ||
|
|
1fc8ee03ff | ||
|
|
951bf487d8 | ||
|
|
1366cd8f44 | ||
|
|
05b299449f | ||
|
|
1570013376 | ||
|
|
061d3c434a | ||
|
|
e138f824be | ||
|
|
d50e85405a | ||
|
|
49357c4246 | ||
|
|
6b530c0957 | ||
|
|
51d65e6bb1 | ||
|
|
253e92e325 | ||
|
|
51a3adeaab | ||
|
|
9d43d9cc9d | ||
|
|
295519948b | ||
|
|
ed939f3345 | ||
|
|
57aa58c6e7 | ||
|
|
15a5eabc7c | ||
|
|
8a618529c7 | ||
|
|
f28c5e3bc1 | ||
|
|
d702d27389 |
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 #
|
||||
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
## 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"
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
## 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
102
fedora-aos.ks
@@ -1,102 +0,0 @@
|
||||
# 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,8 +4,7 @@ auth --useshadow --passalgo=sha512
|
||||
selinux --enforcing
|
||||
firewall --enabled --service=mdns,ssh
|
||||
|
||||
# configure extlinux bootloader
|
||||
bootloader extlinux
|
||||
bootloader --location=mbr
|
||||
|
||||
part /boot/fw --size=30 --fstype vfat --asprimary
|
||||
part /boot --size=512 --fstype ext4 --asprimary
|
||||
@@ -30,6 +29,7 @@ dracut-config-generic
|
||||
-dracut-config-rescue
|
||||
# install tools needed to manage and boot arm systems
|
||||
@arm-tools
|
||||
-uboot-images-armv8
|
||||
rng-tools
|
||||
chrony
|
||||
extlinux-bootloader
|
||||
@@ -38,20 +38,14 @@ initial-setup
|
||||
initial-setup-gui
|
||||
-iwl*
|
||||
-ipw*
|
||||
-trousers-lib
|
||||
-usb_modeswitch
|
||||
-iproute-tc
|
||||
#lets resize / on first boot
|
||||
# dracut-modules-growroot
|
||||
|
||||
# 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=5690 --fstype ext4
|
||||
part / --size=6300 --fstype ext4
|
||||
|
||||
%post
|
||||
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
%include fedora-arm-xbase.ks
|
||||
%include fedora-lxde-common.ks
|
||||
|
||||
part / --size=4000 --fstype ext4
|
||||
|
||||
%post
|
||||
|
||||
%end
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
%include fedora-arm-xbase.ks
|
||||
%include fedora-lxqt-common.ks
|
||||
|
||||
part / --size=4200 --fstype ext4 --asprimary
|
||||
|
||||
%packages
|
||||
# trojita not available on non-x86 platforms
|
||||
-trojita
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
%include fedora-arm-xbase.ks
|
||||
%include fedora-mate-common.ks
|
||||
|
||||
part / --size=5500 --fstype ext4
|
||||
part / --size=6000 --fstype ext4
|
||||
|
||||
%post
|
||||
|
||||
|
||||
@@ -4,3 +4,7 @@
|
||||
part /boot --size=512 --fstype ext4
|
||||
part swap --size=256 --fstype swap
|
||||
part / --size=1256 --fstype ext4
|
||||
|
||||
%packages
|
||||
-xkeyboard-config
|
||||
%end
|
||||
|
||||
@@ -4,10 +4,13 @@
|
||||
part / --size=2500 --fstype xfs
|
||||
|
||||
%packages
|
||||
# install the default groups for the server evironment since installing the environment is not working
|
||||
# install the default groups for the server environment since installing the environment is not working
|
||||
@server-product
|
||||
@standard
|
||||
@headless-management
|
||||
@hardware-support
|
||||
@networkmanager-submodules
|
||||
|
||||
@container-management
|
||||
@domain-client
|
||||
-initial-setup-gui
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
%include fedora-arm-xbase.ks
|
||||
%include fedora-soas-common.ks
|
||||
|
||||
part / --size=3300 --fstype ext4 --asprimary
|
||||
|
||||
%post
|
||||
|
||||
%end
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
%include fedora-arm-xbase.ks
|
||||
%include fedora-workstation-common.ks
|
||||
|
||||
part / --size=5500 --fstype ext4
|
||||
part / --size=6200 --fstype ext4
|
||||
|
||||
%packages
|
||||
-initial-setup
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
%include fedora-arm-xbase.ks
|
||||
%include fedora-xfce-common.ks
|
||||
|
||||
part / --size=4500 --fstype ext4
|
||||
part / --size=4700 --fstype ext4
|
||||
|
||||
%post
|
||||
|
||||
|
||||
@@ -1,10 +1,20 @@
|
||||
# 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.
|
||||
# Fedora Atomic Host is the Fedora version of the "Atomic Host" pattern
|
||||
# from [Project Atomic](http://www.projectatomic.io/).
|
||||
|
||||
# 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.
|
||||
# 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.
|
||||
|
||||
text # don't use cmdline -- https://github.com/rhinstaller/anaconda/issues/931
|
||||
lang en_US.UTF-8
|
||||
@@ -15,34 +25,63 @@ 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
|
||||
|
||||
bootloader --timeout=1 --append="no_timer_check console=tty1 console=ttyS0,115200n8 net.ifnames=0"
|
||||
# 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"
|
||||
|
||||
network --bootproto=dhcp --device=link --activate --onboot=on
|
||||
services --enabled=sshd,cloud-init,cloud-init-local,cloud-config,cloud-final
|
||||
|
||||
zerombr
|
||||
clearpart --all
|
||||
# Atomic differs from cloud - we want LVM
|
||||
part /boot --size=300 --fstype="ext4"
|
||||
# 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
|
||||
part pv.01 --grow
|
||||
volgroup atomicos pv.01
|
||||
logvol / --size=3000 --fstype="xfs" --name=root --vgname=atomicos
|
||||
# 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
|
||||
|
||||
# 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/rawhide/ --ref=fedora/rawhide/x86_64/atomic-host
|
||||
ostreesetup --nogpg --osname=fedora-atomic --remote=fedora-atomic --url=https://kojipkgs.fedoraproject.org/compose/atomic/repo/ --ref=fedora/28/${basearch}/updates/atomic-host
|
||||
|
||||
reboot
|
||||
|
||||
%post --erroronfail
|
||||
# See https://github.com/projectatomic/rpm-ostree/issues/42
|
||||
# Set the ostree repo to the location we want users to upgrade from
|
||||
# This location is where the compose gets synced to after the compose
|
||||
# is done.
|
||||
# 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/compose/atomic/repo/ "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
|
||||
ostree remote delete fedora-atomic
|
||||
ostree remote add --set=gpg-verify=true --set=gpgkeypath=/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-27-primary fedora-atomic 'https://kojipkgs.fedoraproject.org/atomic/rawhide/'
|
||||
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/'
|
||||
|
||||
# older versions of livecd-tools do not follow "rootpw --lock" line above
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=964299
|
||||
@@ -52,8 +91,10 @@ passwd -l root
|
||||
cp /etc/skel/.bash* /var/roothome
|
||||
|
||||
# Configure docker-storage-setup to resize the partition table on boot
|
||||
# https://github.com/projectatomic/docker-storage-setup/pull/25
|
||||
# and extend the root filesystem to fill it.
|
||||
# https://pagure.io/atomic-wg/issue/343
|
||||
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
|
||||
@@ -69,12 +110,9 @@ NETWORKING=yes
|
||||
NOZEROCONF=yes
|
||||
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
|
||||
# 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
|
||||
cat > /etc/sysconfig/network-scripts/ifcfg-eth0 << EOF
|
||||
DEVICE="eth0"
|
||||
BOOTPROTO="dhcp"
|
||||
@@ -83,24 +121,12 @@ 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,16 +12,7 @@
|
||||
@cinnamon-desktop
|
||||
@libreoffice
|
||||
|
||||
# internet and multimedia
|
||||
pidgin
|
||||
hexchat
|
||||
transmission
|
||||
|
||||
# mp3 support
|
||||
gstreamer1-plugins-ugly-free
|
||||
|
||||
# extra backgrounds
|
||||
desktop-backgrounds-basic
|
||||
f26-backgrounds-extras-gnome
|
||||
f27-backgrounds-extras-gnome
|
||||
|
||||
%end
|
||||
|
||||
@@ -32,6 +32,8 @@ 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://git.fedorahosted.org/cgit/fedora-atomic.git/tree/fedora-atomic-rawhide.tdl
|
||||
# https://pagure.io/fedora-atomic/raw/master/f/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://git.fedorahosted.org/cgit/fedora-atomic.git/plain/fedora-atomic-rawhide.tdl
|
||||
# curl -O https://pagure.io/fedora-atomic/raw/master/f/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,7 +35,8 @@ rootpw --lock --iscrypted locked
|
||||
|
||||
firewall --disabled
|
||||
|
||||
bootloader --timeout=1 --append="no_timer_check console=tty1 console=ttyS0,115200n8"
|
||||
# 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"
|
||||
|
||||
network --bootproto=dhcp --device=link --activate --onboot=on
|
||||
services --enabled=sshd,cloud-init,cloud-init-local,cloud-config,cloud-final
|
||||
@@ -170,11 +171,6 @@ 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"
|
||||
@@ -245,8 +241,12 @@ 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.)"
|
||||
|
||||
# For trac ticket https://fedorahosted.org/cloud/ticket/128
|
||||
rm -f /etc/sysconfig/network-scripts/ifcfg-ens3
|
||||
# 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*
|
||||
|
||||
# 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 --append="no_timer_check console=tty1 console=ttyS0,115200n8"
|
||||
bootloader --timeout=1
|
||||
|
||||
zerombr
|
||||
clearpart --all --initlabel --disklabel=msdos
|
||||
@@ -40,27 +40,21 @@ dracut-config-generic
|
||||
-dracut-config-rescue
|
||||
# install tools needed to manage and boot arm systems
|
||||
@arm-tools
|
||||
-uboot-images-armv7
|
||||
rng-tools
|
||||
chrony
|
||||
bcm283x-firmware
|
||||
uboot-images-armv8
|
||||
-uboot-images-armv7
|
||||
initial-setup
|
||||
-iwl*
|
||||
-ipw*
|
||||
-trousers-lib
|
||||
-usb_modeswitch
|
||||
-iproute-tc
|
||||
-generic-release*
|
||||
|
||||
# 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
|
||||
@@ -80,6 +74,9 @@ 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
|
||||
|
||||
@@ -4,3 +4,7 @@
|
||||
services --enabled=sshd,NetworkManager,chronyd,initial-setup
|
||||
|
||||
autopart --type=plain
|
||||
|
||||
%packages
|
||||
-xkeyboard-config
|
||||
%end
|
||||
|
||||
@@ -5,10 +5,13 @@ services --enabled=sshd,NetworkManager,chronyd,initial-setup
|
||||
autopart
|
||||
|
||||
%packages
|
||||
# install the default groups for the server evironment since installing the environment is not working
|
||||
# install the default groups for the server environment since installing the environment is not working
|
||||
@server-product
|
||||
@standard
|
||||
@headless-management
|
||||
@hardware-support
|
||||
@networkmanager-submodules
|
||||
|
||||
@container-management
|
||||
@domain-client
|
||||
-initial-setup-gui
|
||||
|
||||
@@ -18,6 +18,9 @@ sssd-client
|
||||
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
|
||||
|
||||
@@ -34,5 +37,6 @@ 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://git.fedorahosted.org/cgit/fedora-atomic.git/tree/fedora-atomic-rawhide.tdl
|
||||
# https://pagure.io/fedora-atomic/raw/master/f/fedora-atomic-rawhide.tdl
|
||||
#
|
||||
# Then, once you have imagefactory and imagefactory-plugins installed, run:
|
||||
#
|
||||
@@ -32,17 +32,24 @@ autopart --noboot --nohome --noswap --nolvm
|
||||
%packages --excludedocs --instLangs=en --nocore
|
||||
fedora-release
|
||||
bash
|
||||
coreutils
|
||||
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
|
||||
-grubby
|
||||
|
||||
%end
|
||||
|
||||
|
||||
121
fedora-iot.ks
Normal file
121
fedora-iot.ks
Normal file
@@ -0,0 +1,121 @@
|
||||
# This is the kickstart for Fedora IoT disk images.
|
||||
|
||||
text # don't use cmdline -- https://github.com/rhinstaller/anaconda/issues/931
|
||||
lang en_US.UTF-8
|
||||
keyboard us
|
||||
timezone --utc Etc/UTC
|
||||
|
||||
auth --useshadow --passalgo=sha512
|
||||
selinux --enforcing
|
||||
rootpw --lock --iscrypted locked
|
||||
firstboot --reconfig --enable
|
||||
|
||||
# Add most common consoles console=ttyAMA0 console=ttyS0 console=ttyS1 as kernel boot parameter
|
||||
bootloader --timeout=1 --append="console=tty1 console=ttyS0,115200n8 console=ttyS1,115200n8 console=ttyAMA0,115200n8 net.ifnames=0 modprobe.blacklist=vc4"
|
||||
|
||||
network --bootproto=dhcp --device=link --activate --onboot=on
|
||||
services --enabled=NetworkManager,sshd,rngd,initial-setup
|
||||
|
||||
# tell Initial Setup to run in the reconfig mode
|
||||
firstboot --reconfig --enable
|
||||
|
||||
zerombr
|
||||
clearpart --all
|
||||
autopart --nohome --noswap --type=plain
|
||||
|
||||
# Equivalent of %include fedora-repo.ks
|
||||
# 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/28/${basearch}/iot
|
||||
|
||||
reboot
|
||||
|
||||
%post --erroronfail
|
||||
# Find the architecture we are on
|
||||
arch=$(uname -m)
|
||||
|
||||
# Setup Raspberry Pi firmware
|
||||
if [[ $arch == "aarch64" ]] || [[ $arch == "armv7l" ]]; then
|
||||
cp -Pr /usr/share/bcm283x-firmware/* /boot/efi/
|
||||
if [[ $arch == "aarch64" ]]; then
|
||||
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
|
||||
else
|
||||
cp -P /usr/share/uboot/rpi_2/u-boot.bin /boot/fw/rpi2-u-boot.bin
|
||||
cp -P /usr/share/uboot/rpi_3_32b/u-boot.bin /boot/fw/rpi3-u-boot.bin
|
||||
fi
|
||||
fi
|
||||
|
||||
# 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-iot https://kojipkgs.fedoraproject.org/iot/28/ "fedora/28/${arch}/iot"
|
||||
|
||||
# Make sure the ref we're supposedly sitting on (according
|
||||
# to the updated origin) exists.
|
||||
ostree refs "fedora-iot:fedora/28/${arch}/iot" --create "fedora-iot:fedora/28/${arch}/iot"
|
||||
|
||||
# Remove the old ref so that the commit eventually gets cleaned up.
|
||||
ostree refs "fedora-iot:fedora/28/${arch}/iot" --delete
|
||||
|
||||
# delete/add the remote with new options to enable gpg verification
|
||||
# and to point them at the cdn url
|
||||
ostree remote delete fedora-iot
|
||||
ostree remote add --set=gpg-verify=true --set=gpgkeypath=/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-28-primary fedora-iot 'https://dl.fedoraproject.org/iot/repo/'
|
||||
|
||||
# older versions of livecd-tools do not follow "rootpw --lock" line above
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=964299
|
||||
passwd -l root
|
||||
|
||||
# Work around https://bugzilla.redhat.com/show_bug.cgi?id=1193590
|
||||
cp /etc/skel/.bash* /var/roothome
|
||||
|
||||
echo -n "Network fixes"
|
||||
# initscripts don't like this file to be missing.
|
||||
cat > /etc/sysconfig/network << EOF
|
||||
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
|
||||
cat > /etc/sysconfig/network-scripts/ifcfg-eth0 << EOF
|
||||
DEVICE="eth0"
|
||||
BOOTPROTO="dhcp"
|
||||
ONBOOT="yes"
|
||||
TYPE="Ethernet"
|
||||
PERSISTENT_DHCLIENT="yes"
|
||||
EOF
|
||||
|
||||
echo "Removing random-seed so it's not the same in every image."
|
||||
rm -f /var/lib/systemd/random-seed
|
||||
|
||||
echo "Packages within this iot image:"
|
||||
echo "-----------------------------------------------------------------------"
|
||||
rpm -qa
|
||||
echo "-----------------------------------------------------------------------"
|
||||
# Note that running rpm recreates the rpm db files which aren't needed/wanted
|
||||
rm -f /var/lib/rpm/__db*
|
||||
|
||||
echo "Zeroing out empty space."
|
||||
# This forces the filesystem to reclaim space from deleted files
|
||||
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.)"
|
||||
|
||||
# For trac ticket https://pagure.io/atomic-wg/issue/128
|
||||
rm -f /etc/sysconfig/network-scripts/ifcfg-ens3
|
||||
|
||||
echo "Adding Developer Mode GRUB2 menu item."
|
||||
/usr/libexec/atomic-devmode/bootentry add
|
||||
|
||||
# Disable network service here, as doing it in the services line
|
||||
# fails due to RHBZ #1369794
|
||||
/sbin/chkconfig network off
|
||||
|
||||
# Anaconda is writing an /etc/resolv.conf from the install environment.
|
||||
# The system should start out with an empty file, otherwise cloud-init
|
||||
# will try to use this information and may error:
|
||||
# https://bugs.launchpad.net/cloud-init/+bug/1670052
|
||||
truncate -s 0 /etc/resolv.conf
|
||||
|
||||
%end
|
||||
@@ -1,3 +1,4 @@
|
||||
|
||||
%packages
|
||||
@firefox
|
||||
@kde-apps
|
||||
@@ -10,7 +11,7 @@
|
||||
### The KDE-Desktop
|
||||
|
||||
### Browser
|
||||
qupzilla
|
||||
falkon
|
||||
|
||||
### fixes
|
||||
|
||||
@@ -18,7 +19,7 @@ qupzilla
|
||||
-system-config-printer
|
||||
# make sure mariadb lands instead of MySQL (hopefully a temporary hack)
|
||||
mariadb-embedded
|
||||
mariadb-libs
|
||||
mariadb-connector-c
|
||||
mariadb-server
|
||||
|
||||
# minimal localization support - allows installing the kde-l10n-* packages
|
||||
@@ -44,26 +45,6 @@ mediawriter
|
||||
|
||||
### 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
|
||||
|
||||
# save some space (from @standard)
|
||||
-make
|
||||
|
||||
# admin-tools
|
||||
-gnome-disk-utility
|
||||
# kcm_clock still lacks some features, so keep system-config-date around
|
||||
|
||||
8
fedora-kde-minimization.ks
Normal file
8
fedora-kde-minimization.ks
Normal file
@@ -0,0 +1,8 @@
|
||||
# remove input methods to free space
|
||||
%packages
|
||||
-@input-methods
|
||||
-scim*
|
||||
-iok
|
||||
%end
|
||||
|
||||
|
||||
@@ -14,7 +14,8 @@
|
||||
# Maintainer: Christian Dersch <lupinix@fedoraproject.org>
|
||||
# https://fedoraproject.org/wiki/User:Lupinix
|
||||
|
||||
%include fedora-live-kde.ks
|
||||
%include fedora-live-kde-base.ks
|
||||
%include fedora-live-minimization.ks
|
||||
|
||||
# The recommended part size for DVDs is too close to use for the astronomy spin
|
||||
part / --size 14500
|
||||
@@ -24,7 +25,13 @@ 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
|
||||
@@ -37,7 +44,7 @@ skyviewer
|
||||
swarp
|
||||
wcstools
|
||||
|
||||
# Observatory: KStars + INDI drivers + Skychart
|
||||
# Observatory: KStars + INDI drivers
|
||||
indi-aagcloudwatcher
|
||||
indi-apogee
|
||||
indi-eqmod
|
||||
@@ -45,10 +52,10 @@ indi-gphoto
|
||||
indi-sx
|
||||
indistarter
|
||||
kstars
|
||||
stellarium
|
||||
|
||||
# misc. astronomy
|
||||
celestia
|
||||
stellarium
|
||||
virtualplanet
|
||||
|
||||
# Some astro environment stuff
|
||||
|
||||
@@ -56,7 +56,6 @@ 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
|
||||
|
||||
@@ -32,6 +32,9 @@ 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,14 +16,24 @@ part / --size 14336
|
||||
# Switch to groups for design suite
|
||||
@design-suite
|
||||
|
||||
# Provides backup application
|
||||
deja-dup
|
||||
deja-dup-nautilus
|
||||
|
||||
# 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
|
||||
@@ -36,7 +46,7 @@ f26-backgrounds-extras-gnome
|
||||
#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', 'inkscape.desktop', 'blender.desktop', 'libreoffice-writer.desktop', 'scribus.desktop', 'nautilus.desktop', 'bijiben.desktop', 'anaconda.desktop', 'list-design-tutorials.desktop']
|
||||
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']
|
||||
FOE
|
||||
|
||||
# Add link to lists of tutorials
|
||||
|
||||
@@ -77,7 +77,7 @@ sooperlooper
|
||||
|
||||
#recodring and DAW
|
||||
audacity
|
||||
ardour4
|
||||
ardour5
|
||||
rosegarden4
|
||||
seq24
|
||||
muse
|
||||
|
||||
@@ -9,9 +9,10 @@
|
||||
|
||||
%include fedora-live-kde-base.ks
|
||||
%include fedora-live-minimization.ks
|
||||
%include fedora-kde-minimization.ks
|
||||
|
||||
# DVD payload
|
||||
part / --size=6144
|
||||
part / --size=6200
|
||||
|
||||
%post
|
||||
%end
|
||||
|
||||
@@ -40,6 +40,9 @@ 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,7 +12,6 @@
|
||||
-autofs
|
||||
# smartcards won't really work on the livecd.
|
||||
-coolkey
|
||||
-wget
|
||||
|
||||
# scanning takes quite a bit of space :/
|
||||
-xsane
|
||||
|
||||
@@ -47,7 +47,6 @@ firefox
|
||||
|
||||
# Dictionaries are big
|
||||
-aspell-*
|
||||
-hunspell-*
|
||||
-man-pages*
|
||||
-words
|
||||
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
# Maintainer: Amit Saha <amitksaha@fedoraproject.org>
|
||||
# https://fedoraproject.org/wiki/User:Amitksaha
|
||||
|
||||
%include fedora-live-kde.ks
|
||||
%include fedora-live-kde-base.ks
|
||||
%include fedora-live-minimization.ks
|
||||
|
||||
# The recommended part size for DVDs is too close to use for the scientific spin
|
||||
part / --size 14500
|
||||
@@ -19,9 +20,9 @@ part / --size 14500
|
||||
@engineering-and-scientific
|
||||
|
||||
# scilab
|
||||
scilab
|
||||
scilab-devel
|
||||
scilab-doc
|
||||
#scilab
|
||||
#scilab-devel
|
||||
#scilab-doc
|
||||
|
||||
# Remove sagemath explicitly?
|
||||
-sagemath
|
||||
@@ -49,7 +50,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
|
||||
@@ -62,7 +63,7 @@ python3-ipython
|
||||
python3-ipython-console
|
||||
python3-ipython-notebook
|
||||
python3-sympy
|
||||
python3-networkx
|
||||
#python3-networkx
|
||||
python3-pandas
|
||||
|
||||
# matplotlib backends
|
||||
@@ -79,7 +80,7 @@ apache-commons-math
|
||||
gcc-gfortran
|
||||
|
||||
# GUI for R
|
||||
rkward
|
||||
#rkward
|
||||
|
||||
# GUI for Octave
|
||||
qtoctave
|
||||
|
||||
@@ -36,7 +36,6 @@ gnome-keyring-pam
|
||||
-acpid
|
||||
-gimp-help
|
||||
-desktop-backgrounds-basic
|
||||
-realmd # only seems to be used in GNOME
|
||||
-PackageKit* # we switched to dnfdragora, so we don't need this
|
||||
-aspell-* # dictionaries are big
|
||||
-gnumeric
|
||||
|
||||
@@ -17,16 +17,36 @@ part / --size 6656
|
||||
cat >> /etc/rc.d/init.d/livesys << EOF
|
||||
|
||||
|
||||
# disable updates plugin
|
||||
# disable gnome-software automatically downloading updates
|
||||
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,6 +60,9 @@ 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
|
||||
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
%packages
|
||||
-PackageKit* # we switched to dnfdragora, so we don't need this
|
||||
PackageKit-command-not-found # nifty for installing not-found cli-commands
|
||||
firefox
|
||||
@mate
|
||||
compiz
|
||||
compiz-plugins-main
|
||||
@@ -17,22 +14,11 @@ 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-plugin-mpg123 # mp3 support
|
||||
|
||||
# blacklist applications which breaks mate-desktop
|
||||
-audacious
|
||||
|
||||
@@ -42,10 +28,6 @@ gstreamer1-plugin-mpg123 # mp3 support
|
||||
# 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
|
||||
@@ -55,13 +37,9 @@ nss-mdns
|
||||
-brasero
|
||||
-colord
|
||||
-fedora-icon-theme
|
||||
-GConf2
|
||||
-gnome-bluetooth-libs
|
||||
-gnome-icon-theme
|
||||
-gnome-icon-theme-symbolic
|
||||
-gnome-software
|
||||
-gnome-themes
|
||||
-gnome-themes-standard
|
||||
-gnome-user-docs
|
||||
|
||||
-@mate-applications
|
||||
|
||||
27
fedora-modular-arm-server.ks
Normal file
27
fedora-modular-arm-server.ks
Normal file
@@ -0,0 +1,27 @@
|
||||
%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
|
||||
|
||||
70
fedora-modular-container-base-minimal.ks
Normal file
70
fedora-modular-container-base-minimal.ks
Normal file
@@ -0,0 +1,70 @@
|
||||
# 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
|
||||
38
fedora-modular-container-base.ks
Normal file
38
fedora-modular-container-base.ks
Normal file
@@ -0,0 +1,38 @@
|
||||
# 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
|
||||
75
fedora-modular-container-common.ks
Normal file
75
fedora-modular-container-common.ks
Normal file
@@ -0,0 +1,75 @@
|
||||
# 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
|
||||
81
fedora-modular-disk-minimal.ks
Normal file
81
fedora-modular-disk-minimal.ks
Normal file
@@ -0,0 +1,81 @@
|
||||
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,7 +18,6 @@ python3-pillow-tk
|
||||
-@sound-and-video
|
||||
-@multimedia
|
||||
-dleyna*
|
||||
-evolution*
|
||||
-gnome-boxes
|
||||
-gnome-calendar
|
||||
-gnome-clocks
|
||||
@@ -27,6 +26,7 @@ python3-pillow-tk
|
||||
-gnome-documents
|
||||
-gnome-font-viewer
|
||||
-gnome-maps
|
||||
-gnome-photos
|
||||
-gnome-weather
|
||||
-grilo-plugins
|
||||
-cheese
|
||||
@@ -35,7 +35,6 @@ python3-pillow-tk
|
||||
|
||||
# This is no longer workstation
|
||||
-@workstation-product
|
||||
-fedora-productimg-workstation
|
||||
|
||||
# Add a web browser
|
||||
@firefox
|
||||
@@ -56,11 +55,11 @@ python3-pillow-tk
|
||||
|
||||
# Dictionaries are big
|
||||
-aspell-*
|
||||
-hunspell-*
|
||||
-words
|
||||
|
||||
# Help and art can be big, too
|
||||
-gnome-user-docs
|
||||
-gnome-getting-started-docs
|
||||
-desktop-backgrounds-basic
|
||||
-*backgrounds-extras
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# Exactly one of 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
|
||||
# %include fedora-repo-not-rawhide.ks
|
||||
%include fedora-repo-not-rawhide.ks
|
||||
|
||||
@@ -30,7 +30,7 @@ firewall --enabled --service=mdns,presence
|
||||
-abrt-cli
|
||||
-ibus*
|
||||
-hyperv-daemons
|
||||
-webkitgtk4-plugin-process-gtk2
|
||||
-webkit2gtk3-plugin-process-gtk2
|
||||
|
||||
# Add some extra fonts
|
||||
dejavu-sans-fonts
|
||||
|
||||
@@ -20,9 +20,6 @@
|
||||
@printing
|
||||
@workstation-product
|
||||
|
||||
# Branding for the installer
|
||||
fedora-productimg-workstation
|
||||
|
||||
# Exclude unwanted packages from @anaconda-tools group
|
||||
-gfs2-utils
|
||||
-reiserfs-utils
|
||||
|
||||
@@ -27,10 +27,8 @@ 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
|
||||
@@ -38,8 +36,8 @@ system-config-printer
|
||||
-acpid
|
||||
-gimp-help
|
||||
-desktop-backgrounds-basic
|
||||
-PackageKit* # we switched to dnfdragora, so we don't need this
|
||||
-aspell-* # dictionaries are big
|
||||
-xfce4-sensors-plugin
|
||||
-foomatic-db-ppds
|
||||
|
||||
%end
|
||||
|
||||
Reference in New Issue
Block a user