mirror of
https://pagure.io/fedora-kickstarts.git
synced 2025-12-13 02:20:31 +08:00
Compare commits
18 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
13aac55e29 | ||
|
|
4367531844 | ||
|
|
57e13a1b89 | ||
|
|
75e662166f | ||
|
|
01ea5ed713 | ||
|
|
03f698ae62 | ||
|
|
11942989f5 | ||
|
|
92d368049e | ||
|
|
b372f0f155 | ||
|
|
76084d6f18 | ||
|
|
fb0dec3af9 | ||
|
|
62f38a1c32 | ||
|
|
1fa40d115e | ||
|
|
b892b8939c | ||
|
|
449b3efc0e | ||
|
|
d1e8a6668b | ||
|
|
4860ea2def | ||
|
|
ad9357f785 |
14
README.md
14
README.md
@@ -9,8 +9,6 @@ All changes should be made via the PR workflow.
|
|||||||
This project is packaged in Fedora as the spin-kickstarts package allowing users to see
|
This project is packaged in Fedora as the spin-kickstarts package allowing users to see
|
||||||
and modify the kickstart files for their local needs.
|
and modify the kickstart files for their local needs.
|
||||||
|
|
||||||
Maintainers for each image are listed in the `maintainers.toml` file.
|
|
||||||
|
|
||||||
## To make a release ##
|
## To make a release ##
|
||||||
|
|
||||||
git clone ssh://git@pagure.io/fedora-kickstarts.git fedora-kickstarts
|
git clone ssh://git@pagure.io/fedora-kickstarts.git fedora-kickstarts
|
||||||
@@ -26,18 +24,6 @@ Maintainers for each image are listed in the `maintainers.toml` file.
|
|||||||
# Clean up the generated files:
|
# Clean up the generated files:
|
||||||
make clean
|
make clean
|
||||||
|
|
||||||
## Build logs ##
|
|
||||||
|
|
||||||
To see build logs go to
|
|
||||||
|
|
||||||
https://koji.fedoraproject.org/koji
|
|
||||||
|
|
||||||
"Packages" tab, and filter by Fedora-Workstation-Live for example.
|
|
||||||
|
|
||||||
Technical info about the officialy released images can be found at
|
|
||||||
|
|
||||||
https://kojipkgs.fedoraproject.org/compose/
|
|
||||||
|
|
||||||
# bug reports #
|
# bug reports #
|
||||||
|
|
||||||
Bugs should be reported to the spin-kickstarts bugzilla component:
|
Bugs should be reported to the spin-kickstarts bugzilla component:
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ lang en_US.UTF-8
|
|||||||
selinux --enforcing
|
selinux --enforcing
|
||||||
firewall --enabled --service=mdns,ssh
|
firewall --enabled --service=mdns,ssh
|
||||||
|
|
||||||
bootloader --extlinux --location=mbr
|
bootloader --location=mbr
|
||||||
|
|
||||||
part /boot/efi --size=80 --fstype vfat --asprimary
|
part /boot/efi --size=80 --fstype vfat --asprimary
|
||||||
part /boot --size=512 --fstype ext4 --asprimary
|
part /boot --size=512 --fstype ext4 --asprimary
|
||||||
@@ -11,7 +11,7 @@ part /boot --size=512 --fstype ext4 --asprimary
|
|||||||
# make sure that initial-setup runs and lets us do all the configuration bits
|
# make sure that initial-setup runs and lets us do all the configuration bits
|
||||||
firstboot --reconfig
|
firstboot --reconfig
|
||||||
|
|
||||||
services --enabled=sshd,NetworkManager,avahi-daemon,chronyd,initial-setup
|
services --enabled=sshd,NetworkManager,avahi-daemon,chronyd,initial-setup,zram-swap
|
||||||
|
|
||||||
%include fedora-repo.ks
|
%include fedora-repo.ks
|
||||||
|
|
||||||
@@ -19,6 +19,7 @@ services --enabled=sshd,NetworkManager,avahi-daemon,chronyd,initial-setup
|
|||||||
@core
|
@core
|
||||||
@standard
|
@standard
|
||||||
@hardware-support
|
@hardware-support
|
||||||
|
zram
|
||||||
|
|
||||||
kernel
|
kernel
|
||||||
# remove this in %post
|
# remove this in %post
|
||||||
@@ -56,7 +57,7 @@ releasever=$(rpm --eval '%{fedora}')
|
|||||||
basearch=armhfp
|
basearch=armhfp
|
||||||
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
||||||
echo "Packages within this ARM disk image"
|
echo "Packages within this ARM disk image"
|
||||||
rpm -qa --qf '%{size}\t%{name}-%{version}-%{release}.%{arch}\n' |sort -rn
|
rpm -qa
|
||||||
# Note that running rpm recreates the rpm db files which aren't needed or wanted
|
# Note that running rpm recreates the rpm db files which aren't needed or wanted
|
||||||
rm -f /var/lib/rpm/__db*
|
rm -f /var/lib/rpm/__db*
|
||||||
|
|
||||||
|
|||||||
@@ -2,10 +2,7 @@
|
|||||||
%include fedora-arm-xbase.ks
|
%include fedora-arm-xbase.ks
|
||||||
%include fedora-kde-common.ks
|
%include fedora-kde-common.ks
|
||||||
|
|
||||||
part btrfs.007 --fstype="btrfs" --size=7000
|
part / --size=6300 --fstype ext4
|
||||||
btrfs none --label=fedora btrfs.007
|
|
||||||
btrfs /home --subvol --name=home LABEL=fedora
|
|
||||||
btrfs / --subvol --name=root LABEL=fedora
|
|
||||||
|
|
||||||
%post
|
%post
|
||||||
|
|
||||||
|
|||||||
@@ -2,10 +2,7 @@
|
|||||||
%include fedora-arm-xbase.ks
|
%include fedora-arm-xbase.ks
|
||||||
%include fedora-lxde-common.ks
|
%include fedora-lxde-common.ks
|
||||||
|
|
||||||
part btrfs.007 --fstype="btrfs" --size=4300
|
part / --size=4000 --fstype ext4
|
||||||
btrfs none --label=fedora btrfs.007
|
|
||||||
btrfs /home --subvol --name=home LABEL=fedora
|
|
||||||
btrfs / --subvol --name=root LABEL=fedora
|
|
||||||
|
|
||||||
%post
|
%post
|
||||||
|
|
||||||
|
|||||||
@@ -2,10 +2,7 @@
|
|||||||
%include fedora-arm-xbase.ks
|
%include fedora-arm-xbase.ks
|
||||||
%include fedora-lxqt-common.ks
|
%include fedora-lxqt-common.ks
|
||||||
|
|
||||||
part btrfs.007 --fstype="btrfs" --size=4400
|
part / --size=4400 --fstype ext4 --asprimary
|
||||||
btrfs none --label=fedora btrfs.007
|
|
||||||
btrfs /home --subvol --name=home LABEL=fedora
|
|
||||||
btrfs / --subvol --name=root LABEL=fedora
|
|
||||||
|
|
||||||
%packages
|
%packages
|
||||||
# trojita not available on non-x86 platforms
|
# trojita not available on non-x86 platforms
|
||||||
|
|||||||
@@ -2,10 +2,7 @@
|
|||||||
%include fedora-arm-xbase.ks
|
%include fedora-arm-xbase.ks
|
||||||
%include fedora-mate-common.ks
|
%include fedora-mate-common.ks
|
||||||
|
|
||||||
part btrfs.007 --fstype="btrfs" --size=7168
|
part / --size=7168 --fstype ext4
|
||||||
btrfs none --label=fedora btrfs.007
|
|
||||||
btrfs /home --subvol --name=home LABEL=fedora
|
|
||||||
btrfs / --subvol --name=root LABEL=fedora
|
|
||||||
|
|
||||||
%post
|
%post
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
%include fedora-arm-base.ks
|
%include fedora-arm-base.ks
|
||||||
%include fedora-minimal-common.ks
|
%include fedora-minimal-common.ks
|
||||||
|
|
||||||
part / --size=1500 --fstype ext4
|
part / --size=1400 --fstype ext4
|
||||||
|
|
||||||
%packages
|
%packages
|
||||||
-xkeyboard-config
|
-xkeyboard-config
|
||||||
|
|||||||
@@ -4,27 +4,5 @@
|
|||||||
|
|
||||||
# The ARM Workstion based Python Classroom Lab
|
# The ARM Workstion based Python Classroom Lab
|
||||||
|
|
||||||
%include fedora-arm-base.ks
|
%include fedora-arm-workstation.ks
|
||||||
%include fedora-arm-xbase.ks
|
|
||||||
%include fedora-workstation-common.ks
|
|
||||||
%include fedora-python-classroom-gnome-common.ks
|
%include fedora-python-classroom-gnome-common.ks
|
||||||
|
|
||||||
part btrfs.007 --fstype="btrfs" --size=7000
|
|
||||||
btrfs none --label=fedora btrfs.007
|
|
||||||
btrfs /home --subvol --name=home LABEL=fedora
|
|
||||||
btrfs / --subvol --name=root LABEL=fedora
|
|
||||||
|
|
||||||
%packages
|
|
||||||
-initial-setup
|
|
||||||
-initial-setup-gui
|
|
||||||
-libvirt*
|
|
||||||
-gnome-boxes
|
|
||||||
|
|
||||||
%end
|
|
||||||
|
|
||||||
%post
|
|
||||||
# Most of the ARM X accelerated drivers need some level of CMA allocation
|
|
||||||
sed -i 's/\(append .*\)/\1 cma=256MB/' /boot/extlinux/extlinux.conf
|
|
||||||
|
|
||||||
%end
|
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,6 @@
|
|||||||
part / --size=2500 --fstype xfs
|
part / --size=2500 --fstype xfs
|
||||||
|
|
||||||
%packages
|
%packages
|
||||||
fedora-release-server
|
|
||||||
# install the default groups for the server environment since installing the environment is not working
|
# install the default groups for the server environment since installing the environment is not working
|
||||||
@server-product
|
@server-product
|
||||||
@standard
|
@standard
|
||||||
|
|||||||
@@ -2,10 +2,7 @@
|
|||||||
%include fedora-arm-xbase.ks
|
%include fedora-arm-xbase.ks
|
||||||
%include fedora-soas-common.ks
|
%include fedora-soas-common.ks
|
||||||
|
|
||||||
part btrfs.007 --fstype="btrfs" --size=3400
|
part / --size=3300 --fstype ext4 --asprimary
|
||||||
btrfs none --label=fedora btrfs.007
|
|
||||||
btrfs /home --subvol --name=home LABEL=fedora
|
|
||||||
btrfs / --subvol --name=root LABEL=fedora
|
|
||||||
|
|
||||||
%post
|
%post
|
||||||
|
|
||||||
|
|||||||
@@ -2,10 +2,7 @@
|
|||||||
%include fedora-arm-xbase.ks
|
%include fedora-arm-xbase.ks
|
||||||
%include fedora-workstation-common.ks
|
%include fedora-workstation-common.ks
|
||||||
|
|
||||||
part btrfs.007 --fstype="btrfs" --size=6200
|
part / --size=6200 --fstype ext4
|
||||||
btrfs none --label=fedora btrfs.007
|
|
||||||
btrfs /home --subvol --name=home LABEL=fedora
|
|
||||||
btrfs / --subvol --name=root LABEL=fedora
|
|
||||||
|
|
||||||
%packages
|
%packages
|
||||||
-initial-setup
|
-initial-setup
|
||||||
|
|||||||
@@ -2,10 +2,7 @@
|
|||||||
%include fedora-arm-xbase.ks
|
%include fedora-arm-xbase.ks
|
||||||
%include fedora-xfce-common.ks
|
%include fedora-xfce-common.ks
|
||||||
|
|
||||||
part btrfs.007 --fstype="btrfs" --size=5200
|
part / --size=5000 --fstype ext4
|
||||||
btrfs none --label=fedora btrfs.007
|
|
||||||
btrfs /home --subvol --name=home LABEL=fedora
|
|
||||||
btrfs / --subvol --name=root LABEL=fedora
|
|
||||||
|
|
||||||
%post
|
%post
|
||||||
|
|
||||||
|
|||||||
@@ -8,14 +8,12 @@
|
|||||||
|
|
||||||
%packages
|
%packages
|
||||||
|
|
||||||
fedora-release-cinnamon
|
|
||||||
@networkmanager-submodules
|
@networkmanager-submodules
|
||||||
@cinnamon-desktop
|
@cinnamon-desktop
|
||||||
@libreoffice
|
@libreoffice
|
||||||
parole
|
parole
|
||||||
rhythmbox
|
|
||||||
|
|
||||||
# extra backgrounds
|
# extra backgrounds
|
||||||
f33-backgrounds-extras-gnome
|
f32-backgrounds-extras-gnome
|
||||||
|
|
||||||
%end
|
%end
|
||||||
|
|||||||
36
fedora-cloud-atomic-pxetolive.ks
Normal file
36
fedora-cloud-atomic-pxetolive.ks
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
# PXE-to-Live Atomic: PXE boot directly into a running Atomic Host
|
||||||
|
# https://fedoraproject.org/wiki/Changes/AtomicHost
|
||||||
|
|
||||||
|
lang en_US.UTF-8
|
||||||
|
keyboard us
|
||||||
|
timezone America/New_York
|
||||||
|
zerombr
|
||||||
|
clearpart --all --initlabel
|
||||||
|
rootpw --lock --iscrypted locked
|
||||||
|
user --name=none
|
||||||
|
bootloader --timeout=1
|
||||||
|
network --bootproto=dhcp --device=link --activate
|
||||||
|
# We are only able to install atomic with separate /boot partition currently
|
||||||
|
part / --fstype="ext4" --size=6000
|
||||||
|
part /boot --size=500 --fstype="ext4"
|
||||||
|
shutdown
|
||||||
|
services --disabled=docker-storage-setup
|
||||||
|
services --enabled=NetworkManager,sshd,cloud-init,cloud-init-local,cloud-config,cloud-final
|
||||||
|
|
||||||
|
ostreesetup --nogpg --osname=fedora-atomic --remote=fedora-atomic --url=http://kojipkgs.fedoraproject.org/mash/atomic/22/ --ref=fedora-atomic/f22/x86_64/docker-host
|
||||||
|
|
||||||
|
%post
|
||||||
|
|
||||||
|
# Ensure the root password is locked, we use cloud-init
|
||||||
|
passwd -l root
|
||||||
|
userdel -r none
|
||||||
|
|
||||||
|
# We copy content of separate /boot partition to root part when building live squashfs image,
|
||||||
|
# and we don't want systemd to try to mount it when pxe booting
|
||||||
|
cat /dev/null > /etc/fstab
|
||||||
|
|
||||||
|
# Disable network service here, as doing it in the services line
|
||||||
|
# fails due to RHBZ #1369794
|
||||||
|
/sbin/chkconfig network off
|
||||||
|
|
||||||
|
%end
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
# This is a basic Fedora cloud spin designed to work with GCP.
|
|
||||||
# Note that GCP prefers UEFI so we'll need to make sure this image
|
|
||||||
# is created from a machine that is started in UEFI mode.
|
|
||||||
|
|
||||||
# Inherit from cloud base
|
|
||||||
%include fedora-cloud-base.ks
|
|
||||||
|
|
||||||
# Change serial port configuration to recommended default for GCP (ttyS0,38400n8d)
|
|
||||||
# Don't show bootloader as it's impossible for the user to get to it in time
|
|
||||||
# So we might as well not waste the 1 second on each boot.
|
|
||||||
# https://cloud.google.com/compute/docs/import/import-existing-image
|
|
||||||
bootloader --timeout=0 --append="no_timer_check net.ifnames=0 console=ttyS0,38400n8d"
|
|
||||||
|
|
||||||
#%packages
|
|
||||||
#%end
|
|
||||||
|
|
||||||
%post --erroronfail
|
|
||||||
cat <<EOF > /etc/NetworkManager/conf.d/gcp-mtu.conf
|
|
||||||
# In GCP it is recommended to use 1460 as the MTU.
|
|
||||||
# Set it to 1460 for all connections.
|
|
||||||
# https://cloud.google.com/network-connectivity/docs/vpn/concepts/mtu-considerations
|
|
||||||
[connection]
|
|
||||||
ethernet.mtu = 1460
|
|
||||||
EOF
|
|
||||||
%end
|
|
||||||
@@ -53,12 +53,6 @@ EOKEYS
|
|||||||
chmod 600 ~vagrant/.ssh/authorized_keys
|
chmod 600 ~vagrant/.ssh/authorized_keys
|
||||||
chown -R vagrant:vagrant ~vagrant/.ssh/
|
chown -R vagrant:vagrant ~vagrant/.ssh/
|
||||||
|
|
||||||
cat > /etc/ssh/sshd_config.d/10-vagrant-insecure-rsa-key.conf <<EOF
|
|
||||||
# For now the vagrant insecure key is an rsa key
|
|
||||||
# https://github.com/hashicorp/vagrant/issues/11783
|
|
||||||
PubkeyAcceptedKeyTypes=+ssh-rsa
|
|
||||||
EOF
|
|
||||||
|
|
||||||
# Further suggestion from @purpleidea (James Shubin) - extend key to root users as well
|
# Further suggestion from @purpleidea (James Shubin) - extend key to root users as well
|
||||||
mkdir -m 0700 -p /root/.ssh
|
mkdir -m 0700 -p /root/.ssh
|
||||||
cp /home/vagrant/.ssh/authorized_keys /root/.ssh/authorized_keys
|
cp /home/vagrant/.ssh/authorized_keys /root/.ssh/authorized_keys
|
||||||
|
|||||||
@@ -4,6 +4,9 @@
|
|||||||
# keys. Cloud-init creates a user account named "fedora" with passwordless
|
# keys. Cloud-init creates a user account named "fedora" with passwordless
|
||||||
# sudo access. The root password is empty and locked by default.
|
# sudo access. The root password is empty and locked by default.
|
||||||
#
|
#
|
||||||
|
# Note that unlike the standard Fedora install, this image has /tmp on disk
|
||||||
|
# rather than in tmpfs, since memory is usually at a premium.
|
||||||
|
#
|
||||||
# This kickstart file is designed to be used with ImageFactory (in Koji).
|
# This kickstart file is designed to be used with ImageFactory (in Koji).
|
||||||
#
|
#
|
||||||
# To do a local build, you'll need to install ImageFactory. See
|
# To do a local build, you'll need to install ImageFactory. See
|
||||||
@@ -34,6 +37,7 @@ firewall --disabled
|
|||||||
# We pass net.ifnames=0 because we always want to use eth0 here on all the cloud images.
|
# 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 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
|
services --enabled=sshd,cloud-init,cloud-init-local,cloud-config,cloud-final
|
||||||
|
|
||||||
zerombr
|
zerombr
|
||||||
@@ -44,78 +48,217 @@ autopart --noboot --nohome --noswap --nolvm
|
|||||||
|
|
||||||
reboot
|
reboot
|
||||||
|
|
||||||
##### begin package list #############################################
|
# Package list.
|
||||||
%packages --instLangs=en
|
# FIXME: instLangs does not work, so there's a hack below
|
||||||
|
# (see https://bugzilla.redhat.com/show_bug.cgi?id=1051816)
|
||||||
|
# FIXME: instLangs bug has been fixed but now having instLangs
|
||||||
|
# with an arg causes no langs to get installed because of BZ1262040
|
||||||
|
# which yields the errors in BZ1261249. For now fix by not using
|
||||||
|
# --instLangs at all
|
||||||
|
#%packages --instLangs=en
|
||||||
|
%packages
|
||||||
|
|
||||||
# Include packages for the cloud-server-environment group
|
|
||||||
@^cloud-server-environment
|
|
||||||
|
|
||||||
# Don't include the kernel toplevel package since it pulls in
|
|
||||||
# kernel-modules. We're happy for now with kernel-core.
|
|
||||||
-kernel
|
|
||||||
kernel-core
|
kernel-core
|
||||||
|
@^cloud-server-environment
|
||||||
|
# Need to pull in the udev subpackage
|
||||||
|
systemd-udev
|
||||||
|
|
||||||
# Don't include dracut-config-rescue. It will have dracut generate a
|
# after move away from grub2 - let's add 'which' back
|
||||||
# "rescue" entry in the grub menu, but that also means there is a
|
which
|
||||||
# rescue kernel and initramfs that get created, which (currently) add
|
|
||||||
# about another 40MiB to the /boot/ partition. Also the "rescue" mode
|
# rescue mode generally isn't useful in the cloud context
|
||||||
# is generally not useful in the cloud.
|
|
||||||
-dracut-config-rescue
|
-dracut-config-rescue
|
||||||
|
|
||||||
# Plymouth provides a graphical boot animation. In the cloud we don't
|
# Some things from @core we can do without in a minimal install
|
||||||
# need a graphical boot animation. This also means anaconda won't put
|
-biosdevname
|
||||||
# rhgb/quiet on kernel command line
|
# Need to also add back plymouth in order to mask failure of
|
||||||
|
# systemd-vconsole-setup.service. BZ#1272684. Comment out for now
|
||||||
|
#-plymouth
|
||||||
|
-iprutils
|
||||||
|
# Now that BZ#1199868 is fixed kbd really gets removed but it breaks
|
||||||
|
# systemd-vconsole-setup.service on boot. Comment out for now
|
||||||
|
#-kbd
|
||||||
|
-uboot-tools
|
||||||
|
-kernel
|
||||||
|
# No need for plymouth. Also means anaconda won't put rhgb/quiet
|
||||||
|
# on kernel command line
|
||||||
-plymouth
|
-plymouth
|
||||||
|
|
||||||
# No need for firewalld for now. We don't have a firewall on by default.
|
|
||||||
-firewalld
|
|
||||||
|
|
||||||
# noswap on Cloud for now
|
|
||||||
-zram-generator-defaults
|
|
||||||
|
|
||||||
# Don't include the geolite2 databases, which end up with 66MiB
|
|
||||||
# in /usr/share/GeoIP
|
|
||||||
-geolite2-country
|
|
||||||
-geolite2-city
|
|
||||||
%end
|
%end
|
||||||
##### end package list ###############################################
|
|
||||||
|
|
||||||
|
|
||||||
##### begin kickstart post ###########################################
|
|
||||||
%post --erroronfail
|
%post --erroronfail
|
||||||
|
|
||||||
# linux-firmware is installed by default and is quite large. As of mid 2020:
|
# Create grub.conf for EC2. This used to be done by appliance creator but
|
||||||
# Total download size: 97 M
|
# anaconda doesn't do it. And, in case appliance-creator is used, we're
|
||||||
# Installed size: 268 M
|
# overriding it here so that both cases get the exact same file.
|
||||||
# So far we've been fine shipping without it so let's continue.
|
# Note that the console line is different -- that's because EC2 provides
|
||||||
# More discussion about this in #1234504.
|
# different virtual hardware, and this is a convenient way to act differently
|
||||||
|
echo -n "Creating grub.conf for pvgrub"
|
||||||
|
rootuuid=$( awk '$2=="/" { print $1 };' /etc/fstab )
|
||||||
|
mkdir /boot/grub
|
||||||
|
echo -e 'default=0\ntimeout=0\n\n' > /boot/grub/grub.conf
|
||||||
|
for kv in $( ls -1v /boot/vmlinuz* |grep -v rescue |sed s/.*vmlinuz-// ); do
|
||||||
|
echo "title Fedora ($kv)" >> /boot/grub/grub.conf
|
||||||
|
echo -e "\troot (hd0,0)" >> /boot/grub/grub.conf
|
||||||
|
echo -e "\tkernel /boot/vmlinuz-$kv ro root=$rootuuid no_timer_check console=hvc0 LANG=en_US.UTF-8" >> /boot/grub/grub.conf
|
||||||
|
echo -e "\tinitrd /boot/initramfs-$kv.img" >> /boot/grub/grub.conf
|
||||||
|
echo
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
#link grub.conf to menu.lst for ec2 to work
|
||||||
|
echo -n "Linking menu.lst to old-style grub.conf for pv-grub"
|
||||||
|
ln -sf grub.conf /boot/grub/menu.lst
|
||||||
|
ln -sf /boot/grub/grub.conf /etc/grub.conf
|
||||||
|
|
||||||
|
# older versions of livecd-tools do not follow "rootpw --lock" line above
|
||||||
|
# https://bugzilla.redhat.com/show_bug.cgi?id=964299
|
||||||
|
passwd -l root
|
||||||
|
|
||||||
|
# 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 .
|
||||||
|
|
||||||
|
# this is installed by default but we don't need it in virt
|
||||||
|
# Commenting out the following for #1234504
|
||||||
|
# rpm works just fine for removing this, no idea why dnf can't cope
|
||||||
echo "Removing linux-firmware package."
|
echo "Removing linux-firmware package."
|
||||||
rpm -e linux-firmware
|
rpm -e linux-firmware
|
||||||
|
|
||||||
# See the systemd-random-seed.service man page that says:
|
# Remove firewalld; was supposed to be optional in F18+, but is pulled in
|
||||||
# " It is recommended to remove the random seed from OS images intended
|
# in install/image building.
|
||||||
# for replication on multiple systems"
|
echo "Removing firewalld."
|
||||||
|
# FIXME! clean_requirements_on_remove is the default with DNF, but may
|
||||||
|
# not work when package was installed by Anaconda instead of command line.
|
||||||
|
# Also -- check if this is still even needed with new anaconda -- disabled
|
||||||
|
# firewall should _not_ pull in this package.
|
||||||
|
# dnf -C -y remove "firewalld*" --setopt="clean_requirements_on_remove=1"
|
||||||
|
dnf -C -y erase "firewalld*"
|
||||||
|
|
||||||
|
# Another one needed at install time but not after that, and it pulls
|
||||||
|
# in some unneeded deps (like, newt and slang)
|
||||||
|
echo "Removing authconfig."
|
||||||
|
dnf -C -y erase authconfig
|
||||||
|
|
||||||
|
# instlang hack. (Note! See bug referenced above package list)
|
||||||
|
find /usr/share/locale -mindepth 1 -maxdepth 1 -type d -not -name en_US -exec rm -rf {} +
|
||||||
|
localedef --list-archive | grep -v ^en_US | xargs localedef --delete-from-archive
|
||||||
|
# this will kill a live system (since it's memory mapped) but should be safe offline
|
||||||
|
mv -f /usr/lib/locale/locale-archive /usr/lib/locale/locale-archive.tmpl
|
||||||
|
build-locale-archive
|
||||||
|
echo '%_install_langs C:en:en_US:en_US.UTF-8' >> /etc/rpm/macros.image-language-conf
|
||||||
|
|
||||||
|
|
||||||
|
echo -n "Getty fixes"
|
||||||
|
# although we want console output going to the serial console, we don't
|
||||||
|
# actually have the opportunity to login there. FIX.
|
||||||
|
# we don't really need to auto-spawn _any_ gettys.
|
||||||
|
sed -i '/^#NAutoVTs=.*/ a\
|
||||||
|
NAutoVTs=0' /etc/systemd/logind.conf
|
||||||
|
|
||||||
|
echo -n "Network fixes"
|
||||||
|
# initscripts don't like this file to be missing.
|
||||||
|
# and https://bugzilla.redhat.com/show_bug.cgi?id=1204612
|
||||||
|
cat > /etc/sysconfig/network << EOF
|
||||||
|
NETWORKING=yes
|
||||||
|
NOZEROCONF=yes
|
||||||
|
DEVTIMEOUT=10
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# simple eth0 config, again not hard-coded to the build hardware
|
||||||
|
cat > /etc/sysconfig/network-scripts/ifcfg-eth0 << EOF
|
||||||
|
DEVICE="eth0"
|
||||||
|
BOOTPROTO="dhcp"
|
||||||
|
ONBOOT="yes"
|
||||||
|
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.
|
||||||
|
#cat <<EOF > /etc/cloud/cloud.cfg.d/50_suppress_ec2-user_use_root.cfg
|
||||||
|
#users: []
|
||||||
|
#disable_root: 0
|
||||||
|
#EOF
|
||||||
|
|
||||||
echo "Removing random-seed so it's not the same in every image."
|
echo "Removing random-seed so it's not the same in every image."
|
||||||
rm -f /var/lib/systemd/random-seed
|
rm -f /var/lib/systemd/random-seed
|
||||||
|
|
||||||
|
echo "Cleaning old dnf repodata."
|
||||||
|
# FIXME: clear history?
|
||||||
|
dnf clean all
|
||||||
|
truncate -c -s 0 /var/log/dnf.log
|
||||||
|
truncate -c -s 0 /var/log/dnf.rpm.log
|
||||||
|
|
||||||
echo "Import RPM GPG key"
|
echo "Import RPM GPG key"
|
||||||
releasever=$(rpm --eval '%{fedora}')
|
releasever=$(rpm --eval '%{fedora}')
|
||||||
basearch=$(uname -i)
|
basearch=$(uname -i)
|
||||||
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
||||||
|
|
||||||
|
echo "Packages within this cloud 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*
|
||||||
|
|
||||||
|
# FIXME: is this still needed?
|
||||||
|
echo "Fixing SELinux contexts."
|
||||||
|
touch /var/log/cron
|
||||||
|
touch /var/log/boot.log
|
||||||
|
# ignore return code because UEFI systems with vfat filesystems
|
||||||
|
# that don't support selinux will give us errors
|
||||||
|
/usr/sbin/fixfiles -R -a restore || true
|
||||||
|
|
||||||
echo "Zeroing out empty space."
|
echo "Zeroing out empty space."
|
||||||
# This forces the filesystem to reclaim space from deleted files
|
# This forces the filesystem to reclaim space from deleted files
|
||||||
dd bs=1M if=/dev/zero of=/var/tmp/zeros || :
|
dd bs=1M if=/dev/zero of=/var/tmp/zeros || :
|
||||||
rm -f /var/tmp/zeros
|
rm -f /var/tmp/zeros
|
||||||
echo "(Don't worry -- that out-of-space error was expected.)"
|
echo "(Don't worry -- that out-of-space error was expected.)"
|
||||||
|
|
||||||
# When we build the image a networking config file gets left behind.
|
# When we build the image with oz, dracut is used
|
||||||
# Let's clean it up.
|
# and sets up a ifcfg-en<whatever> for the device. We don't
|
||||||
echo "Cleanup leftover networking configuration"
|
# want to use this, we use eth0 so it is always the same.
|
||||||
rm -f /etc/NetworkManager/system-connections/*.nmconnection
|
# 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*
|
||||||
|
|
||||||
# Clear machine-id on pre generated images
|
# Enable network service here, as doing it in the services line
|
||||||
truncate -s 0 /etc/machine-id
|
# fails due to RHBZ #1369794
|
||||||
|
/sbin/chkconfig network on
|
||||||
|
|
||||||
|
# Remove machine-id on pre generated images
|
||||||
|
rm -f /etc/machine-id
|
||||||
|
touch /etc/machine-id
|
||||||
|
|
||||||
|
# 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
|
%end
|
||||||
##### end kickstart post ############################################
|
|
||||||
|
|||||||
220
fedora-cloud-bigdata.ks
Normal file
220
fedora-cloud-bigdata.ks
Normal file
@@ -0,0 +1,220 @@
|
|||||||
|
# This is a Fedora 21 spin designed based on the Fedora Cloud Base Image
|
||||||
|
# but tailored specifically for Big Data processing out-of-the-box.
|
||||||
|
# Primarily, it builds on that image but adds extra packages, but over
|
||||||
|
# time may have additional focus.
|
||||||
|
#
|
||||||
|
# It's configured with cloud-init so it will take advantage of
|
||||||
|
# ec2-compatible metadata services for provisioning ssh keys. Cloud-init
|
||||||
|
# creates a user account named "fedora" with passwordless sudo access. The
|
||||||
|
# root password is empty and locked by default.
|
||||||
|
#
|
||||||
|
# Note that unlike the standard F20 install, this image has /tmp on disk
|
||||||
|
# rather than in tmpfs, since memory is usually at a premium.
|
||||||
|
|
||||||
|
text
|
||||||
|
lang en_US.UTF-8
|
||||||
|
keyboard us
|
||||||
|
timezone --utc Etc/UTC
|
||||||
|
|
||||||
|
selinux --enforcing
|
||||||
|
rootpw --lock --iscrypted locked
|
||||||
|
user --name=none
|
||||||
|
|
||||||
|
firewall --disabled
|
||||||
|
|
||||||
|
bootloader --timeout=1 --append="no_timer_check console=tty1 console=ttyS0,115200n8"
|
||||||
|
|
||||||
|
network --bootproto=dhcp --device=eth0 --activate --onboot=on
|
||||||
|
services --enabled=sshd,cloud-init,cloud-init-local,cloud-config,cloud-final
|
||||||
|
|
||||||
|
zerombr
|
||||||
|
clearpart --all
|
||||||
|
part / --size 3000 --fstype ext4
|
||||||
|
|
||||||
|
%include fedora-repo.ks
|
||||||
|
|
||||||
|
|
||||||
|
reboot
|
||||||
|
|
||||||
|
# Package list.
|
||||||
|
%packages
|
||||||
|
|
||||||
|
fedora-release-cloud
|
||||||
|
|
||||||
|
kernel-core
|
||||||
|
@core
|
||||||
|
@cloud-server
|
||||||
|
|
||||||
|
# Needed initially, but removed below.
|
||||||
|
firewalld
|
||||||
|
|
||||||
|
# rescue mode generally isn't useful in the cloud context
|
||||||
|
-dracut-config-rescue
|
||||||
|
|
||||||
|
# Some things from @core we can do without in a minimal install
|
||||||
|
-biosdevname
|
||||||
|
-plymouth
|
||||||
|
-NetworkManager
|
||||||
|
-iprutils
|
||||||
|
-kbd
|
||||||
|
-uboot-tools
|
||||||
|
-kernel
|
||||||
|
-grub2
|
||||||
|
|
||||||
|
%end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%post --erroronfail
|
||||||
|
|
||||||
|
# Create grub.conf for EC2. This used to be done by appliance creator but
|
||||||
|
# anaconda doesn't do it. And, in case appliance-creator is used, we're
|
||||||
|
# overriding it here so that both cases get the exact same file.
|
||||||
|
# Note that the console line is different -- that's because EC2 provides
|
||||||
|
# different virtual hardware, and this is a convenient way to act differently
|
||||||
|
echo -n "Creating grub.conf for pvgrub"
|
||||||
|
rootuuid=$( awk '$2=="/" { print $1 };' /etc/fstab )
|
||||||
|
mkdir /boot/grub
|
||||||
|
echo -e 'default=0\ntimeout=0\n\n' > /boot/grub/grub.conf
|
||||||
|
for kv in $( ls -1v /boot/vmlinuz* |grep -v rescue |sed s/.*vmlinuz-// ); do
|
||||||
|
echo "title Fedora ($kv)" >> /boot/grub/grub.conf
|
||||||
|
echo -e "\troot (hd0,0)" >> /boot/grub/grub.conf
|
||||||
|
echo -e "\tkernel /boot/vmlinuz-$kv ro root=$rootuuid no_timer_check console=hvc0 LANG=en_US.UTF-8" >> /boot/grub/grub.conf
|
||||||
|
echo -e "\tinitrd /boot/initramfs-$kv.img" >> /boot/grub/grub.conf
|
||||||
|
echo
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
#link grub.conf to menu.lst for ec2 to work
|
||||||
|
echo -n "Linking menu.lst to old-style grub.conf for pv-grub"
|
||||||
|
ln -sf grub.conf /boot/grub/menu.lst
|
||||||
|
ln -sf /boot/grub/grub.conf /etc/grub.conf
|
||||||
|
|
||||||
|
# older versions of livecd-tools do not follow "rootpw --lock" line above
|
||||||
|
# https://bugzilla.redhat.com/show_bug.cgi?id=964299
|
||||||
|
passwd -l root
|
||||||
|
# remove the user anaconda forces us to make
|
||||||
|
userdel -r none
|
||||||
|
|
||||||
|
# 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 .
|
||||||
|
|
||||||
|
# this is installed by default but we don't need it in virt
|
||||||
|
# Commenting out the following for #1234504
|
||||||
|
# rpm works just fine for removing this, no idea why dnf can't cope
|
||||||
|
echo "Removing linux-firmware package."
|
||||||
|
rpm -e linux-firmware
|
||||||
|
|
||||||
|
# Remove firewalld; was supposed to be optional in F18+, but is required to
|
||||||
|
# be present for install/image building.
|
||||||
|
echo "Removing firewalld."
|
||||||
|
dnf -C -y remove firewalld --setopt="clean_requirements_on_remove=1"
|
||||||
|
|
||||||
|
# Another one needed at install time but not after that, and it pulls
|
||||||
|
# in some unneeded deps (like, newt and slang)
|
||||||
|
echo "Removing authconfig."
|
||||||
|
dnf -C -y remove authconfig --setopt="clean_requirements_on_remove=1"
|
||||||
|
|
||||||
|
echo -n "Getty fixes"
|
||||||
|
# although we want console output going to the serial console, we don't
|
||||||
|
# actually have the opportunity to login there. FIX.
|
||||||
|
# we don't really need to auto-spawn _any_ gettys.
|
||||||
|
sed -i '/^#NAutoVTs=.*/ a\
|
||||||
|
NAutoVTs=0' /etc/systemd/logind.conf
|
||||||
|
|
||||||
|
echo -n "Network fixes"
|
||||||
|
# initscripts don't like this file to be missing.
|
||||||
|
cat > /etc/sysconfig/network << EOF
|
||||||
|
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
|
||||||
|
cat > /etc/sysconfig/network-scripts/ifcfg-eth0 << EOF
|
||||||
|
DEVICE="eth0"
|
||||||
|
BOOTPROTO="dhcp"
|
||||||
|
ONBOOT="yes"
|
||||||
|
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.
|
||||||
|
#cat <<EOF > /etc/cloud/cloud.cfg.d/50_suppress_ec2-user_use_root.cfg
|
||||||
|
#users: []
|
||||||
|
#disable_root: 0
|
||||||
|
#EOF
|
||||||
|
|
||||||
|
echo "Removing random-seed so it's not the same in every image."
|
||||||
|
rm -f /var/lib/systemd/random-seed
|
||||||
|
|
||||||
|
echo "Cleaning old dnf repodata."
|
||||||
|
dnf history new
|
||||||
|
dnf clean all
|
||||||
|
truncate -c -s 0 /var/log/dnf.log
|
||||||
|
|
||||||
|
echo "Import RPM GPG key"
|
||||||
|
releasever=$(rpm --eval '%{fedora}')
|
||||||
|
basearch=$(uname -i)
|
||||||
|
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
||||||
|
|
||||||
|
echo "Packages within this cloud 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*
|
||||||
|
|
||||||
|
# This is a temporary workaround for
|
||||||
|
# <https://bugzilla.redhat.com/show_bug.cgi?id=1147998>
|
||||||
|
# where sfdisk seems to be messing up the mbr.
|
||||||
|
# Long-term fix is to address this in anaconda directly and remove this.
|
||||||
|
# <https://bugzilla.redhat.com/show_bug.cgi?id=1015931>
|
||||||
|
dd if=/usr/share/syslinux/mbr.bin of=/dev/vda
|
||||||
|
|
||||||
|
|
||||||
|
echo "Fixing SELinux contexts."
|
||||||
|
touch /var/log/cron
|
||||||
|
touch /var/log/boot.log
|
||||||
|
mkdir -p /var/cache/dnf
|
||||||
|
/usr/sbin/fixfiles -R -a restore
|
||||||
|
|
||||||
|
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.)"
|
||||||
|
|
||||||
|
# Enable network service here, as doing it in the services line
|
||||||
|
# fails due to RHBZ #1369794
|
||||||
|
/sbin/chkconfig network on
|
||||||
|
|
||||||
|
%end
|
||||||
|
|
||||||
215
fedora-cloud-experimental.ks
Normal file
215
fedora-cloud-experimental.ks
Normal file
@@ -0,0 +1,215 @@
|
|||||||
|
# This is a spin of the Fedora cloud image designed for trying out new
|
||||||
|
# images in rawhide. It won't be built for non-rawhide trees, let alone
|
||||||
|
# actual releases.
|
||||||
|
|
||||||
|
cmdline
|
||||||
|
lang en_US.UTF-8
|
||||||
|
keyboard us
|
||||||
|
timezone --utc Etc/UTC
|
||||||
|
|
||||||
|
auth --useshadow --passalgo=sha512
|
||||||
|
selinux --enforcing
|
||||||
|
rootpw --lock --iscrypted locked
|
||||||
|
user --name=none
|
||||||
|
|
||||||
|
firewall --disabled
|
||||||
|
|
||||||
|
bootloader --timeout=1 --append="no_timer_check console=tty1 console=ttyS0,115200n8"
|
||||||
|
|
||||||
|
network --bootproto=dhcp --device=eth0 --activate --onboot=on
|
||||||
|
services --enabled=sshd,cloud-init,cloud-init-local,cloud-config,cloud-final
|
||||||
|
|
||||||
|
zerombr
|
||||||
|
clearpart --all
|
||||||
|
part / --size 3000 --fstype ext4
|
||||||
|
|
||||||
|
%include fedora-repo.ks
|
||||||
|
|
||||||
|
|
||||||
|
reboot
|
||||||
|
|
||||||
|
# Package list.
|
||||||
|
%packages --excludedocs --instLangs=en_US
|
||||||
|
|
||||||
|
fedora-release-cloud
|
||||||
|
|
||||||
|
kernel-core
|
||||||
|
@core
|
||||||
|
@cloud-server
|
||||||
|
|
||||||
|
# rescue mode generally isn't useful in the cloud context
|
||||||
|
-dracut-config-rescue
|
||||||
|
|
||||||
|
# Needed initially, but removed below.
|
||||||
|
firewalld
|
||||||
|
|
||||||
|
# Some things from @core we can do without in a minimal install
|
||||||
|
-biosdevname
|
||||||
|
-plymouth
|
||||||
|
-NetworkManager
|
||||||
|
-iprutils
|
||||||
|
-kbd
|
||||||
|
-uboot-tools
|
||||||
|
-kernel
|
||||||
|
-grub2
|
||||||
|
|
||||||
|
%end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%post --erroronfail
|
||||||
|
|
||||||
|
# Create grub.conf for EC2. This used to be done by appliance creator but
|
||||||
|
# anaconda doesn't do it. And, in case appliance-creator is used, we're
|
||||||
|
# overriding it here so that both cases get the exact same file.
|
||||||
|
# Note that the console line is different -- that's because EC2 provides
|
||||||
|
# different virtual hardware, and this is a convenient way to act differently
|
||||||
|
echo -n "Creating grub.conf for pvgrub"
|
||||||
|
rootuuid=$( awk '$2=="/" { print $1 };' /etc/fstab )
|
||||||
|
mkdir /boot/grub
|
||||||
|
echo -e 'default=0\ntimeout=0\n\n' > /boot/grub/grub.conf
|
||||||
|
for kv in $( ls -1v /boot/vmlinuz* |grep -v rescue |sed s/.*vmlinuz-// ); do
|
||||||
|
echo "title Fedora ($kv)" >> /boot/grub/grub.conf
|
||||||
|
echo -e "\troot (hd0,0)" >> /boot/grub/grub.conf
|
||||||
|
echo -e "\tkernel /boot/vmlinuz-$kv ro root=$rootuuid no_timer_check console=hvc0 LANG=en_US.UTF-8" >> /boot/grub/grub.conf
|
||||||
|
echo -e "\tinitrd /boot/initramfs-$kv.img" >> /boot/grub/grub.conf
|
||||||
|
echo
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
#link grub.conf to menu.lst for ec2 to work
|
||||||
|
echo -n "Linking menu.lst to old-style grub.conf for pv-grub"
|
||||||
|
ln -sf grub.conf /boot/grub/menu.lst
|
||||||
|
ln -sf /boot/grub/grub.conf /etc/grub.conf
|
||||||
|
|
||||||
|
# older versions of livecd-tools do not follow "rootpw --lock" line above
|
||||||
|
# https://bugzilla.redhat.com/show_bug.cgi?id=964299
|
||||||
|
passwd -l root
|
||||||
|
# remove the user anaconda forces us to make
|
||||||
|
userdel -r none
|
||||||
|
|
||||||
|
# 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 .
|
||||||
|
|
||||||
|
# this is installed by default but we don't need it in virt
|
||||||
|
# Commenting out the following for #1234504
|
||||||
|
# rpm works just fine for removing this, no idea why dnf can't cope
|
||||||
|
echo "Removing linux-firmware package."
|
||||||
|
rpm -e linux-firmware
|
||||||
|
|
||||||
|
# Remove firewalld; was supposed to be optional in F18+, but is required to
|
||||||
|
# be present for install/image building.
|
||||||
|
echo "Removing firewalld."
|
||||||
|
dnf -C -y remove "firewalld*" --setopt="clean_requirements_on_remove=1"
|
||||||
|
|
||||||
|
# Another one needed at install time but not after that, and it pulls
|
||||||
|
# in some unneeded deps (like, newt and slang)
|
||||||
|
echo "Removing authconfig."
|
||||||
|
dnf -C -y remove authconfig --setopt="clean_requirements_on_remove=1"
|
||||||
|
|
||||||
|
echo -n "Getty fixes"
|
||||||
|
# although we want console output going to the serial console, we don't
|
||||||
|
# actually have the opportunity to login there. FIX.
|
||||||
|
# we don't really need to auto-spawn _any_ gettys.
|
||||||
|
sed -i '/^#NAutoVTs=.*/ a\
|
||||||
|
NAutoVTs=0' /etc/systemd/logind.conf
|
||||||
|
|
||||||
|
echo -n "Network fixes"
|
||||||
|
# initscripts don't like this file to be missing.
|
||||||
|
cat > /etc/sysconfig/network << EOF
|
||||||
|
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
|
||||||
|
cat > /etc/sysconfig/network-scripts/ifcfg-eth0 << EOF
|
||||||
|
DEVICE="eth0"
|
||||||
|
BOOTPROTO="dhcp"
|
||||||
|
ONBOOT="yes"
|
||||||
|
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.
|
||||||
|
#cat <<EOF > /etc/cloud/cloud.cfg.d/50_suppress_ec2-user_use_root.cfg
|
||||||
|
#users: []
|
||||||
|
#disable_root: 0
|
||||||
|
#EOF
|
||||||
|
|
||||||
|
echo "Removing random-seed so it's not the same in every image."
|
||||||
|
rm -f /var/lib/systemd/random-seed
|
||||||
|
|
||||||
|
echo "Cleaning old dnf repodata."
|
||||||
|
dnf history new
|
||||||
|
dnf clean all
|
||||||
|
truncate -c -s 0 /var/log/dnf.log
|
||||||
|
|
||||||
|
echo "Import RPM GPG key"
|
||||||
|
releasever=$(rpm --eval '%{fedora}')
|
||||||
|
basearch=$(uname -i)
|
||||||
|
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
||||||
|
|
||||||
|
echo "Packages within this cloud 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*
|
||||||
|
|
||||||
|
|
||||||
|
# This is a temporary workaround for
|
||||||
|
# <https://bugzilla.redhat.com/show_bug.cgi?id=1147998>
|
||||||
|
# where sfdisk seems to be messing up the mbr.
|
||||||
|
# Long-term fix is to address this in anaconda directly and remove this.
|
||||||
|
# <https://bugzilla.redhat.com/show_bug.cgi?id=1015931>
|
||||||
|
dd if=/usr/share/syslinux/mbr.bin of=/dev/vda
|
||||||
|
|
||||||
|
|
||||||
|
echo "Fixing SELinux contexts."
|
||||||
|
touch /var/log/cron
|
||||||
|
touch /var/log/boot.log
|
||||||
|
mkdir -p /var/cache/dnf
|
||||||
|
chattr -i /boot/extlinux/ldlinux.sys
|
||||||
|
/usr/sbin/fixfiles -R -a restore
|
||||||
|
chattr +i /boot/extlinux/ldlinux.sys
|
||||||
|
|
||||||
|
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.)"
|
||||||
|
|
||||||
|
# Enable network service here, as doing it in the services line
|
||||||
|
# fails due to RHBZ #1369794
|
||||||
|
/sbin/chkconfig network on
|
||||||
|
|
||||||
|
%end
|
||||||
|
|
||||||
@@ -14,7 +14,6 @@ R
|
|||||||
julia
|
julia
|
||||||
|
|
||||||
#Computational neuroscience packages
|
#Computational neuroscience packages
|
||||||
arbor
|
|
||||||
auryn-mpich
|
auryn-mpich
|
||||||
auryn-openmpi
|
auryn-openmpi
|
||||||
bionetgen
|
bionetgen
|
||||||
@@ -27,8 +26,9 @@ gnuplot
|
|||||||
moose
|
moose
|
||||||
nest
|
nest
|
||||||
neuron
|
neuron
|
||||||
|
neurord
|
||||||
octave
|
octave
|
||||||
# paraview
|
paraview
|
||||||
python3
|
python3
|
||||||
python3-brian2
|
python3-brian2
|
||||||
python-brian2-doc
|
python-brian2-doc
|
||||||
@@ -42,7 +42,6 @@ python3-neo
|
|||||||
# python-nineml-doc
|
# python-nineml-doc
|
||||||
python3-PyLEMS
|
python3-PyLEMS
|
||||||
python-PyLEMS-doc
|
python-PyLEMS-doc
|
||||||
python3-steps
|
|
||||||
smoldyn
|
smoldyn
|
||||||
|
|
||||||
%end
|
%end
|
||||||
|
|||||||
@@ -26,6 +26,11 @@ rm -rf /tmp/*
|
|||||||
# https://pagure.io/atomic-wg/issue/308
|
# https://pagure.io/atomic-wg/issue/308
|
||||||
printf "tsflags=nodocs\n" >>/etc/dnf/dnf.conf
|
printf "tsflags=nodocs\n" >>/etc/dnf/dnf.conf
|
||||||
|
|
||||||
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1576993
|
||||||
|
systemctl disable dnf-makecache.timer
|
||||||
|
|
||||||
|
#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
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1343138
|
||||||
# Fix /run/lock breakage since it's not tmpfs in docker
|
# Fix /run/lock breakage since it's not tmpfs in docker
|
||||||
@@ -39,6 +44,7 @@ printf "tsflags=nodocs\n" >>/etc/dnf/dnf.conf
|
|||||||
# [/usr/lib/tmpfiles.d/systemd.conf:26] Failed to replace specifiers: /run/log/journal/%m
|
# [/usr/lib/tmpfiles.d/systemd.conf:26] Failed to replace specifiers: /run/log/journal/%m
|
||||||
#
|
#
|
||||||
umount /run
|
umount /run
|
||||||
|
systemd-tmpfiles --prefix=/run/ --prefix=/var/run/ --create --boot || true
|
||||||
rm /run/nologin # https://pagure.io/atomic-wg/issue/316
|
rm /run/nologin # https://pagure.io/atomic-wg/issue/316
|
||||||
|
|
||||||
# Final pruning
|
# Final pruning
|
||||||
|
|||||||
@@ -38,6 +38,8 @@ rpm
|
|||||||
shadow-utils
|
shadow-utils
|
||||||
sssd-client
|
sssd-client
|
||||||
util-linux
|
util-linux
|
||||||
|
# needed by Anaconda https://bugzilla.redhat.com/show_bug.cgi?id=1744115
|
||||||
|
systemd
|
||||||
-kernel
|
-kernel
|
||||||
-dosfstools
|
-dosfstools
|
||||||
-e2fsprogs
|
-e2fsprogs
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ keyboard us
|
|||||||
timezone US/Eastern
|
timezone US/Eastern
|
||||||
selinux --enforcing
|
selinux --enforcing
|
||||||
firewall --enabled --service=mdns
|
firewall --enabled --service=mdns
|
||||||
services --enabled=sshd,NetworkManager,chronyd
|
services --enabled=sshd,NetworkManager,chronyd,zram-swap
|
||||||
network --bootproto=dhcp --device=link --activate
|
network --bootproto=dhcp --device=link --activate
|
||||||
rootpw --lock --iscrypted locked
|
rootpw --lock --iscrypted locked
|
||||||
shutdown
|
shutdown
|
||||||
@@ -32,6 +32,7 @@ firstboot --reconfig
|
|||||||
@core
|
@core
|
||||||
@standard
|
@standard
|
||||||
@hardware-support
|
@hardware-support
|
||||||
|
zram
|
||||||
|
|
||||||
kernel
|
kernel
|
||||||
# remove this in %post
|
# remove this in %post
|
||||||
@@ -39,6 +40,7 @@ dracut-config-generic
|
|||||||
-dracut-config-rescue
|
-dracut-config-rescue
|
||||||
# install tools needed to manage and boot arm systems
|
# install tools needed to manage and boot arm systems
|
||||||
@arm-tools
|
@arm-tools
|
||||||
|
-uboot-images-armv7
|
||||||
rng-tools
|
rng-tools
|
||||||
chrony
|
chrony
|
||||||
bcm283x-firmware
|
bcm283x-firmware
|
||||||
@@ -49,32 +51,21 @@ initial-setup
|
|||||||
-usb_modeswitch
|
-usb_modeswitch
|
||||||
-generic-release*
|
-generic-release*
|
||||||
|
|
||||||
# make sure all the locales are available for inital-setup and anaconda to work
|
# make sure all the locales are available for inital0-setup and anaconda to work
|
||||||
glibc-all-langpacks
|
glibc-all-langpacks
|
||||||
|
|
||||||
%end
|
%end
|
||||||
|
|
||||||
%post
|
%post
|
||||||
|
|
||||||
# Find the architecture we are on
|
|
||||||
arch=$(uname -m)
|
|
||||||
|
|
||||||
# Setup Raspberry Pi firmware
|
# Setup Raspberry Pi firmware
|
||||||
if [[ $arch == "aarch64" ]] || [[ $arch == "armv7l" ]]; then
|
|
||||||
if [[ $arch == "aarch64" ]]; then
|
|
||||||
cp -P /usr/share/uboot/rpi_3/u-boot.bin /boot/efi/rpi3-u-boot.bin
|
cp -P /usr/share/uboot/rpi_3/u-boot.bin /boot/efi/rpi3-u-boot.bin
|
||||||
cp -P /usr/share/uboot/rpi_4/u-boot.bin /boot/efi/rpi4-u-boot.bin
|
cp -P /usr/share/uboot/rpi_4/u-boot.bin /boot/efi/rpi4-u-boot.bin
|
||||||
else
|
|
||||||
cp -P /usr/share/uboot/rpi_2/u-boot.bin /boot/efi/rpi2-u-boot.bin
|
|
||||||
cp -P /usr/share/uboot/rpi_3_32b/u-boot.bin /boot/efi/rpi3-u-boot.bin
|
|
||||||
cp -P /usr/share/uboot/rpi_4_32b/u-boot.bin /boot/efi/rpi4-u-boot.bin
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
releasever=$(rpm --eval '%{fedora}')
|
releasever=$(rpm --eval '%{fedora}')
|
||||||
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-primary
|
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-primary
|
||||||
echo "Packages within this disk image"
|
echo "Packages within this disk image"
|
||||||
rpm -qa --qf '%{size}\t%{name}-%{version}-%{release}.%{arch}\n' |sort -rn
|
rpm -qa
|
||||||
# Note that running rpm recreates the rpm db files which aren't needed or wanted
|
# Note that running rpm recreates the rpm db files which aren't needed or wanted
|
||||||
rm -f /var/lib/rpm/__db*
|
rm -f /var/lib/rpm/__db*
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
%include fedora-disk-base.ks
|
%include fedora-disk-base.ks
|
||||||
%include fedora-minimal-common.ks
|
%include fedora-minimal-common.ks
|
||||||
|
|
||||||
services --enabled=sshd,NetworkManager,chronyd,initial-setup
|
services --enabled=sshd,NetworkManager,chronyd,initial-setup,zram-swap
|
||||||
|
|
||||||
autopart --type=plain --noswap
|
autopart --type=plain --noswap
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
%include fedora-disk-base.ks
|
%include fedora-disk-base.ks
|
||||||
|
|
||||||
services --enabled=sshd,NetworkManager,chronyd,initial-setup
|
services --enabled=sshd,NetworkManager,chronyd,initial-setup,zram-swap
|
||||||
|
|
||||||
autopart --noswap
|
autopart --noswap
|
||||||
|
|
||||||
%packages
|
%packages
|
||||||
fedora-release-server
|
|
||||||
# install the default groups for the server environment since installing the environment is not working
|
# install the default groups for the server environment since installing the environment is not working
|
||||||
@server-product
|
@server-product
|
||||||
@standard
|
@standard
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
|
|
||||||
bootloader --append="cma=256MB"
|
bootloader --append="cma=256MB"
|
||||||
|
|
||||||
services --enabled=sshd,NetworkManager,chronyd
|
services --enabled=sshd,NetworkManager,chronyd,zram-swap
|
||||||
|
|
||||||
autopart --type=btrfs --noswap
|
autopart --type=plain --noswap
|
||||||
|
|
||||||
%packages
|
%packages
|
||||||
-initial-setup
|
-initial-setup
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
|
|
||||||
bootloader --append="cma=192MB"
|
bootloader --append="cma=192MB"
|
||||||
|
|
||||||
services --enabled=sshd,NetworkManager,chronyd
|
services --enabled=sshd,NetworkManager,chronyd,zram-swap
|
||||||
|
|
||||||
autopart --type=btrfs --noswap
|
autopart --type=plain --noswap
|
||||||
|
|
||||||
%packages
|
%packages
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ rootpw --lock --iscrypted locked
|
|||||||
bootloader --timeout=1 --append="net.ifnames=0 modprobe.blacklist=vc4"
|
bootloader --timeout=1 --append="net.ifnames=0 modprobe.blacklist=vc4"
|
||||||
|
|
||||||
network --bootproto=dhcp --device=link --activate --onboot=on
|
network --bootproto=dhcp --device=link --activate --onboot=on
|
||||||
services --enabled=NetworkManager,sshd,rngd
|
services --enabled=NetworkManager,sshd,rngd,zram-swap
|
||||||
|
|
||||||
zerombr
|
zerombr
|
||||||
clearpart --all --initlabel --disklabel=msdos
|
clearpart --all --initlabel --disklabel=msdos
|
||||||
@@ -26,12 +26,9 @@ reboot
|
|||||||
%post --erroronfail
|
%post --erroronfail
|
||||||
# Find the architecture we are on
|
# Find the architecture we are on
|
||||||
arch=$(uname -m)
|
arch=$(uname -m)
|
||||||
if [[ $arch == "armv7l" ]]; then
|
|
||||||
arch="armhfp"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Setup Raspberry Pi firmware
|
# Setup Raspberry Pi firmware
|
||||||
if [[ $arch == "aarch64" ]] || [[ $arch == "armhfp" ]]; then
|
if [[ $arch == "aarch64" ]] || [[ $arch == "armv7l" ]]; then
|
||||||
if [[ $arch == "aarch64" ]]; then
|
if [[ $arch == "aarch64" ]]; then
|
||||||
cp -P /usr/share/uboot/rpi_3/u-boot.bin /boot/efi/rpi3-u-boot.bin
|
cp -P /usr/share/uboot/rpi_3/u-boot.bin /boot/efi/rpi3-u-boot.bin
|
||||||
cp -P /usr/share/uboot/rpi_4/u-boot.bin /boot/efi/rpi4-u-boot.bin
|
cp -P /usr/share/uboot/rpi_4/u-boot.bin /boot/efi/rpi4-u-boot.bin
|
||||||
@@ -84,7 +81,7 @@ rm -f /var/lib/systemd/random-seed
|
|||||||
|
|
||||||
echo "Packages within this iot image:"
|
echo "Packages within this iot image:"
|
||||||
echo "-----------------------------------------------------------------------"
|
echo "-----------------------------------------------------------------------"
|
||||||
rpm -qa --qf '%{size}\t%{name}-%{version}-%{release}.%{arch}\n' |sort -rn
|
rpm -qa
|
||||||
echo "-----------------------------------------------------------------------"
|
echo "-----------------------------------------------------------------------"
|
||||||
# Note that running rpm recreates the rpm db files which aren't needed/wanted
|
# Note that running rpm recreates the rpm db files which aren't needed/wanted
|
||||||
rm -f /var/lib/rpm/__db*
|
rm -f /var/lib/rpm/__db*
|
||||||
|
|||||||
@@ -34,7 +34,9 @@ astrometry
|
|||||||
astrometry-tycho2
|
astrometry-tycho2
|
||||||
cdsclient
|
cdsclient
|
||||||
fpack
|
fpack
|
||||||
|
gcx
|
||||||
psfex
|
psfex
|
||||||
|
saoimage
|
||||||
scamp
|
scamp
|
||||||
sextractor
|
sextractor
|
||||||
siril
|
siril
|
||||||
@@ -52,7 +54,7 @@ indistarter
|
|||||||
kstars
|
kstars
|
||||||
|
|
||||||
# misc. astronomy
|
# misc. astronomy
|
||||||
#celestia
|
celestia
|
||||||
stellarium
|
stellarium
|
||||||
virtualplanet
|
virtualplanet
|
||||||
|
|
||||||
@@ -105,10 +107,6 @@ python3-matplotlib-tk
|
|||||||
# Python IDE very useful for scientific use
|
# Python IDE very useful for scientific use
|
||||||
python3-spyder
|
python3-spyder
|
||||||
|
|
||||||
# BOINC for distributed computing
|
|
||||||
boinc-client
|
|
||||||
boinc-manager
|
|
||||||
|
|
||||||
#Version control- a GUI for each as well
|
#Version control- a GUI for each as well
|
||||||
|
|
||||||
# Installing rapidsvn will also install subversion package
|
# Installing rapidsvn will also install subversion package
|
||||||
|
|||||||
@@ -52,10 +52,6 @@ anaconda
|
|||||||
anaconda-install-env-deps
|
anaconda-install-env-deps
|
||||||
anaconda-live
|
anaconda-live
|
||||||
@anaconda-tools
|
@anaconda-tools
|
||||||
# Anaconda has a weak dep on this and we don't want it on livecds, see
|
|
||||||
# https://fedoraproject.org/wiki/Changes/RemoveDeviceMapperMultipathFromWorkstationLiveCD
|
|
||||||
-fcoe-utils
|
|
||||||
-device-mapper-multipath
|
|
||||||
|
|
||||||
# Need aajohan-comfortaa-fonts for the SVG rnotes images
|
# Need aajohan-comfortaa-fonts for the SVG rnotes images
|
||||||
aajohan-comfortaa-fonts
|
aajohan-comfortaa-fonts
|
||||||
@@ -306,7 +302,7 @@ releasever=$(rpm --eval '%{fedora}')
|
|||||||
basearch=$(uname -i)
|
basearch=$(uname -i)
|
||||||
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
||||||
echo "Packages within this LiveCD"
|
echo "Packages within this LiveCD"
|
||||||
rpm -qa --qf '%{size}\t%{name}-%{version}-%{release}.%{arch}\n' |sort -rn
|
rpm -qa
|
||||||
# Note that running rpm recreates the rpm db files which aren't needed or wanted
|
# Note that running rpm recreates the rpm db files which aren't needed or wanted
|
||||||
rm -f /var/lib/rpm/__db*
|
rm -f /var/lib/rpm/__db*
|
||||||
|
|
||||||
|
|||||||
@@ -9,4 +9,4 @@
|
|||||||
%include fedora-comp-neuro-common.ks
|
%include fedora-comp-neuro-common.ks
|
||||||
%include fedora-neuro-gnome-common.ks
|
%include fedora-neuro-gnome-common.ks
|
||||||
|
|
||||||
part / --size 10240
|
part / --size 9656
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ part / --size 14336
|
|||||||
@design-suite
|
@design-suite
|
||||||
|
|
||||||
# Provides backup application
|
# Provides backup application
|
||||||
#deja-dup
|
deja-dup
|
||||||
#deja-dup-nautilus
|
deja-dup-nautilus
|
||||||
|
|
||||||
# Add extra gnome applications
|
# Add extra gnome applications
|
||||||
gnome-books
|
gnome-books
|
||||||
@@ -32,18 +32,17 @@ powerline
|
|||||||
powerline-fonts
|
powerline-fonts
|
||||||
|
|
||||||
# Extra wallpapers
|
# Extra wallpapers
|
||||||
f33-backgrounds-extras-gnome
|
f32-backgrounds-extras-gnome
|
||||||
|
|
||||||
# removal of unneeded applications
|
# removal of unneeded applications
|
||||||
-gnome-boxes
|
-gnome-boxes
|
||||||
-eog
|
-eog
|
||||||
-rdesktop
|
-rdesktop
|
||||||
|
|
||||||
# temporarily removing conflicting applications
|
# temporarily removing conflicting application
|
||||||
-blender-luxcorerender
|
|
||||||
-mypaint
|
-mypaint
|
||||||
-shutter
|
|
||||||
-sparkleshare
|
-sparkleshare
|
||||||
|
-blender-luxcorerender
|
||||||
|
|
||||||
%end
|
%end
|
||||||
|
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ glaxium
|
|||||||
gnubg
|
gnubg
|
||||||
gnugo
|
gnugo
|
||||||
haxima
|
haxima
|
||||||
#hedgewars -- broken
|
hedgewars
|
||||||
kcheckers
|
kcheckers
|
||||||
knights
|
knights
|
||||||
lbrickbuster2
|
lbrickbuster2
|
||||||
@@ -165,11 +165,13 @@ vodovod
|
|||||||
|
|
||||||
# card games
|
# card games
|
||||||
|
|
||||||
|
#poker2d - dropped from F14 for being orphaned
|
||||||
PySolFC
|
PySolFC
|
||||||
|
|
||||||
# educational/simulation
|
# educational/simulation
|
||||||
|
|
||||||
#celestia - not currently building
|
bygfoot
|
||||||
|
celestia
|
||||||
planets
|
planets
|
||||||
tuxpaint
|
tuxpaint
|
||||||
tuxpaint-stamps
|
tuxpaint-stamps
|
||||||
|
|||||||
@@ -37,7 +37,6 @@ nano
|
|||||||
|
|
||||||
# fedora jam theming (to be customized)
|
# fedora jam theming (to be customized)
|
||||||
fedora-jam-backgrounds
|
fedora-jam-backgrounds
|
||||||
fedora-jam-kde-theme
|
|
||||||
|
|
||||||
#Misc. Utils
|
#Misc. Utils
|
||||||
screen
|
screen
|
||||||
@@ -66,7 +65,7 @@ thunderbird
|
|||||||
#setup kickoff favorites
|
#setup kickoff favorites
|
||||||
/bin/mkdir -p /etc/skel/.config
|
/bin/mkdir -p /etc/skel/.config
|
||||||
|
|
||||||
JAMFAVORITES=/usr/share/applications/firefox.desktop,/usr/share/applications/mozilla-thunderbird.desktop,/usr/share/applications/studio-controls.desktop,/usr/share/applications/ardour6.desktop,/usr/share/applications/carla.desktop,/usr/share/applications/org.kde.konsole.desktop,/usr/share/applications/org.kde.dolphin.desktop,/usr/share/applications/systemsettings.desktop
|
JAMFAVORITES=/usr/share/applications/firefox.desktop,/usr/share/applications/qjackctl.desktop,/usr/share/applications/ardour5.desktop,/usr/share/applications/carla.desktop,/usr/share/applications/org.kde.konsole.desktop,/usr/share/applications/org.kde.dolphin.desktop,/usr/share/applications/systemsettings.desktop,/usr/share/applications/org.kde.kontact.desktop
|
||||||
JAMFAVORITESLIVE=/usr/share/applications/liveinst.desktop,$JAMFAVORITES
|
JAMFAVORITESLIVE=/usr/share/applications/liveinst.desktop,$JAMFAVORITES
|
||||||
|
|
||||||
cat <<EOF >> /etc/skel/.config/kickoffrc
|
cat <<EOF >> /etc/skel/.config/kickoffrc
|
||||||
@@ -83,5 +82,3 @@ cat >> /etc/rc.d/init.d/livesys << EOF
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
%end
|
%end
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
%include fedora-mate-common.ks
|
%include fedora-mate-common.ks
|
||||||
%include fedora-live-minimization.ks
|
%include fedora-live-minimization.ks
|
||||||
|
|
||||||
part / --size 8192
|
part / --size 7168
|
||||||
|
|
||||||
%post
|
%post
|
||||||
cat >> /etc/rc.d/init.d/livesys << EOF
|
cat >> /etc/rc.d/init.d/livesys << EOF
|
||||||
|
|||||||
@@ -8,4 +8,4 @@
|
|||||||
%include fedora-python-classroom-gnome-common.ks
|
%include fedora-python-classroom-gnome-common.ks
|
||||||
|
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1695796
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1695796
|
||||||
part / --size 8192
|
part / --size 7168
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ if [ -f /usr/share/applications/liveinst.desktop ]; then
|
|||||||
|
|
||||||
cat >> /usr/share/glib-2.0/schemas/org.gnome.shell.gschema.override << FOE
|
cat >> /usr/share/glib-2.0/schemas/org.gnome.shell.gschema.override << FOE
|
||||||
[org.gnome.shell]
|
[org.gnome.shell]
|
||||||
favorite-apps=['firefox.desktop', 'org.gnome.Calendar.desktop', 'rhythmbox.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop', 'anaconda.desktop']
|
favorite-apps=['firefox.desktop', 'evolution.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'org.gnome.Nautilus.desktop', 'anaconda.desktop']
|
||||||
FOE
|
FOE
|
||||||
|
|
||||||
# Make the welcome screen show up
|
# Make the welcome screen show up
|
||||||
|
|||||||
@@ -13,9 +13,6 @@
|
|||||||
%include fedora-live-minimization.ks
|
%include fedora-live-minimization.ks
|
||||||
%include fedora-xfce-common.ks
|
%include fedora-xfce-common.ks
|
||||||
|
|
||||||
# need a bigger /
|
|
||||||
part / --size 6144
|
|
||||||
|
|
||||||
%post
|
%post
|
||||||
# xfce configuration
|
# xfce configuration
|
||||||
|
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ wqy-microhei-fonts # a compact CJK font, to replace:
|
|||||||
-adobe-source-han-sans-cn-fonts # simplified Chinese
|
-adobe-source-han-sans-cn-fonts # simplified Chinese
|
||||||
-adobe-source-han-sans-tw-fonts # traditional Chinese
|
-adobe-source-han-sans-tw-fonts # traditional Chinese
|
||||||
|
|
||||||
-pt-sans-fonts # Cyrillic (already supported by DejaVu), huge
|
-paratype-pt-sans-fonts # Cyrillic (already supported by DejaVu), huge
|
||||||
#-stix-fonts # mathematical symbols
|
#-stix-fonts # mathematical symbols
|
||||||
|
|
||||||
# remove input methods to free space
|
# remove input methods to free space
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
%packages
|
%packages
|
||||||
fedora-release-matecompiz
|
|
||||||
@mate
|
@mate
|
||||||
compiz
|
compiz
|
||||||
compiz-plugins-main
|
compiz-plugins-main
|
||||||
@@ -16,6 +15,10 @@ emerald
|
|||||||
fusion-icon
|
fusion-icon
|
||||||
@networkmanager-submodules
|
@networkmanager-submodules
|
||||||
|
|
||||||
|
# some apps from mate-applications
|
||||||
|
caja-actions
|
||||||
|
mate-disk-usage-analyzer
|
||||||
|
|
||||||
# blacklist applications which breaks mate-desktop
|
# blacklist applications which breaks mate-desktop
|
||||||
-audacious
|
-audacious
|
||||||
|
|
||||||
@@ -35,11 +38,11 @@ nss-mdns
|
|||||||
-fedora-icon-theme
|
-fedora-icon-theme
|
||||||
-gnome-icon-theme
|
-gnome-icon-theme
|
||||||
-gnome-icon-theme-symbolic
|
-gnome-icon-theme-symbolic
|
||||||
-gnome-logs
|
|
||||||
-gnome-software
|
-gnome-software
|
||||||
-gnome-user-docs
|
-gnome-user-docs
|
||||||
|
|
||||||
-@mate-applications
|
-@mate-applications
|
||||||
|
-mate-icon-theme-faenza
|
||||||
|
|
||||||
# Help and art can be big, too
|
# Help and art can be big, too
|
||||||
-gnome-user-docs
|
-gnome-user-docs
|
||||||
|
|||||||
@@ -6,8 +6,7 @@ selinux --enforcing
|
|||||||
# Disabled for modular compose (for now)
|
# Disabled for modular compose (for now)
|
||||||
#firewall --enabled --service=mdns
|
#firewall --enabled --service=mdns
|
||||||
# Disabled for modular compose (for now)
|
# Disabled for modular compose (for now)
|
||||||
#services --enabled=sshd,chronyd,initial-setup
|
#services --enabled=sshd,NetworkManager,chronyd,initial-setup
|
||||||
services --enabled=NetworkManager
|
|
||||||
network --bootproto=dhcp --device=link --activate
|
network --bootproto=dhcp --device=link --activate
|
||||||
rootpw --lock --iscrypted locked
|
rootpw --lock --iscrypted locked
|
||||||
shutdown
|
shutdown
|
||||||
@@ -36,7 +35,7 @@ glibc-minimal-langpack
|
|||||||
grubby
|
grubby
|
||||||
kernel
|
kernel
|
||||||
sssd-client
|
sssd-client
|
||||||
@networkmanager-submodules
|
dhcp-client
|
||||||
-fedora-logos
|
-fedora-logos
|
||||||
-coreutils
|
-coreutils
|
||||||
-dosfstools
|
-dosfstools
|
||||||
@@ -54,25 +53,14 @@ sssd-client
|
|||||||
|
|
||||||
%post
|
%post
|
||||||
|
|
||||||
# Find the architecture we are on
|
|
||||||
arch=$(uname -m)
|
|
||||||
|
|
||||||
# Setup Raspberry Pi firmware
|
# Setup Raspberry Pi firmware
|
||||||
if [[ $arch == "aarch64" ]] || [[ $arch == "armv7l" ]]; then
|
|
||||||
if [[ $arch == "aarch64" ]]; then
|
|
||||||
cp -P /usr/share/uboot/rpi_3/u-boot.bin /boot/efi/rpi3-u-boot.bin
|
cp -P /usr/share/uboot/rpi_3/u-boot.bin /boot/efi/rpi3-u-boot.bin
|
||||||
cp -P /usr/share/uboot/rpi_4/u-boot.bin /boot/efi/rpi4-u-boot.bin
|
cp -P /usr/share/uboot/rpi_4/u-boot.bin /boot/efi/rpi4-u-boot.bin
|
||||||
else
|
|
||||||
cp -P /usr/share/uboot/rpi_2/u-boot.bin /boot/efi/rpi2-u-boot.bin
|
|
||||||
cp -P /usr/share/uboot/rpi_3_32b/u-boot.bin /boot/efi/rpi3-u-boot.bin
|
|
||||||
cp -P /usr/share/uboot/rpi_4_32b/u-boot.bin /boot/efi/rpi4-u-boot.bin
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
releasever=$(rpm --eval '%{fedora}')
|
releasever=$(rpm --eval '%{fedora}')
|
||||||
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-primary
|
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-primary
|
||||||
echo "Packages within this disk image"
|
echo "Packages within this disk image"
|
||||||
rpm -qa --qf '%{size}\t%{name}-%{version}-%{release}.%{arch}\n' |sort -rn
|
rpm -qa
|
||||||
# Note that running rpm recreates the rpm db files which aren't needed or wanted
|
# Note that running rpm recreates the rpm db files which aren't needed or wanted
|
||||||
rm -f /var/lib/rpm/__db*
|
rm -f /var/lib/rpm/__db*
|
||||||
|
|
||||||
|
|||||||
@@ -21,15 +21,6 @@ wget
|
|||||||
-python35
|
-python35
|
||||||
-python36
|
-python36
|
||||||
-python37
|
-python37
|
||||||
-python38
|
|
||||||
-python2.7
|
|
||||||
-python3.5
|
|
||||||
-python3.6
|
|
||||||
-python3.7
|
|
||||||
-python3.8
|
|
||||||
-pypy
|
-pypy
|
||||||
|
|
||||||
# Remove LaTeX, see https://bugzilla.redhat.com/show_bug.cgi?id=1862450
|
|
||||||
-texlive-latex
|
|
||||||
|
|
||||||
%end
|
%end
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
@engineering-and-scientific
|
@engineering-and-scientific
|
||||||
|
|
||||||
# scilab
|
# scilab
|
||||||
## scilab
|
scilab
|
||||||
## scilab-devel
|
scilab-devel
|
||||||
## scilab-doc
|
scilab-doc
|
||||||
|
|
||||||
# Remove sagemath explicitly?
|
# Remove sagemath explicitly?
|
||||||
-sagemath
|
-sagemath
|
||||||
@@ -128,8 +128,8 @@ dia
|
|||||||
inkscape
|
inkscape
|
||||||
xzgv
|
xzgv
|
||||||
gimp
|
gimp
|
||||||
## ggobi
|
ggobi
|
||||||
## ggobi-devel
|
ggobi-devel
|
||||||
#g3data
|
#g3data
|
||||||
#Mayavi
|
#Mayavi
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ firewall --enabled --service=mdns,presence
|
|||||||
%packages
|
%packages
|
||||||
|
|
||||||
# == Core Sugar Platform ==
|
# == Core Sugar Platform ==
|
||||||
fedora-release-soas
|
|
||||||
@sugar-desktop
|
@sugar-desktop
|
||||||
|
|
||||||
# explicitly remove a bunch of extra stuff
|
# explicitly remove a bunch of extra stuff
|
||||||
@@ -39,10 +38,6 @@ fedora-release-soas
|
|||||||
-hyperv-daemons
|
-hyperv-daemons
|
||||||
-sane-backends
|
-sane-backends
|
||||||
-sane-backends-drivers-scanners
|
-sane-backends-drivers-scanners
|
||||||
-chkconfig
|
|
||||||
-dhcp-client
|
|
||||||
-gcc-gdb-plugin
|
|
||||||
-gcc
|
|
||||||
|
|
||||||
# Add some extra fonts
|
# Add some extra fonts
|
||||||
dejavu-sans-fonts
|
dejavu-sans-fonts
|
||||||
|
|||||||
@@ -12,7 +12,6 @@
|
|||||||
|
|
||||||
%packages
|
%packages
|
||||||
|
|
||||||
fedora-release-xfce
|
|
||||||
@networkmanager-submodules
|
@networkmanager-submodules
|
||||||
@xfce-desktop
|
@xfce-desktop
|
||||||
@xfce-apps
|
@xfce-apps
|
||||||
@@ -20,12 +19,16 @@ fedora-release-xfce
|
|||||||
@xfce-media
|
@xfce-media
|
||||||
@xfce-office
|
@xfce-office
|
||||||
|
|
||||||
|
# unlock default keyring. FIXME: Should probably be done in comps
|
||||||
|
gnome-keyring-pam
|
||||||
# Admin tools are handy to have
|
# Admin tools are handy to have
|
||||||
@admin-tools
|
@admin-tools
|
||||||
# Add some screensavers, people seem to like them
|
# Add some screensavers, people seem to like them
|
||||||
# Note that blank is still default.
|
# Note that blank is still default.
|
||||||
xscreensaver-extras
|
xscreensaver-extras
|
||||||
wget
|
wget
|
||||||
|
# Better more popular browser
|
||||||
|
#firefox
|
||||||
system-config-printer
|
system-config-printer
|
||||||
|
|
||||||
# save some space
|
# save some space
|
||||||
|
|||||||
@@ -59,10 +59,6 @@ maintainers = [ "Darryl T. Agostinelli" ]
|
|||||||
fas = [ "eeickmeyer" ]
|
fas = [ "eeickmeyer" ]
|
||||||
maintainers = [ "Erich Eickmeyer" ]
|
maintainers = [ "Erich Eickmeyer" ]
|
||||||
|
|
||||||
[labs.python_classroom.x86_64]
|
|
||||||
fas = [ "churchyard", "python-sig" ]
|
|
||||||
maintainers = [ "Miro Hrončok", "Python SIG" ]
|
|
||||||
|
|
||||||
[labs.scientific_kde.x86_64]
|
[labs.scientific_kde.x86_64]
|
||||||
fas = [ "scitech" ]
|
fas = [ "scitech" ]
|
||||||
maintainers = [ "SciTech SIG" ]
|
maintainers = [ "SciTech SIG" ]
|
||||||
|
|||||||
159
tools/nightly-composes
Executable file
159
tools/nightly-composes
Executable file
@@ -0,0 +1,159 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
TOPDIR=/var/tmp
|
||||||
|
|
||||||
|
STATEFILE=$TOPDIR/nightlylivecdstatefile
|
||||||
|
# WARNING: MirrorManager must always give this mirror to the host running this script
|
||||||
|
STATEPATH=http://infrastructure.fedoraproject.org/pub/fedora/linux/development/13/x86_64/os/repodata/repomd.xml
|
||||||
|
|
||||||
|
getdatehash() {
|
||||||
|
DUMP=$(wget --no-cache -S $1 -O /dev/null 2>&1)
|
||||||
|
echo "$DUMP" | grep -q "HTTP/1.1 200 OK"
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
DATE=$(echo "$DUMP"|grep '^ Last-Modified'|sha1sum |awk {'print $1'})
|
||||||
|
else
|
||||||
|
echo "ERROR: $STATEPATH failed."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
getdatehash $STATEPATH
|
||||||
|
|
||||||
|
if [ -f $STATEFILE ]; then
|
||||||
|
OLDDATE=$(cat $STATEFILE)
|
||||||
|
if [ "$OLDDATE" == "$DATE" ]; then
|
||||||
|
# No change, exit
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Save date hash
|
||||||
|
echo "$DATE" > $STATEFILE
|
||||||
|
echo "Saving date hash: $DATE"
|
||||||
|
|
||||||
|
# Check for running livecd-creator and abort if it is running
|
||||||
|
if ps -ef |grep -v grep |grep -q livecd-creator; then
|
||||||
|
echo "ERROR: Another livecd-creator is still running. Aborting."
|
||||||
|
exit 255
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d $TOPDIR/spin-kickstarts/ ]; then
|
||||||
|
cd $TOPDIR
|
||||||
|
git clone http://git.fedorahosted.org/git/spin-kickstarts.git
|
||||||
|
fi
|
||||||
|
|
||||||
|
# pull any git updates to kickstarts
|
||||||
|
|
||||||
|
cd $TOPDIR/spin-kickstarts/
|
||||||
|
git reset --hard
|
||||||
|
git pull
|
||||||
|
|
||||||
|
if [ ! -d $TOPDIR/nightly-composes ]; then
|
||||||
|
mkdir -p $TOPDIR/nightly-composes
|
||||||
|
fi
|
||||||
|
|
||||||
|
DATE=`date +%Y%m%d.%H`
|
||||||
|
|
||||||
|
# remove the previous days compose
|
||||||
|
find $TOPDIR/nightly-composes/ -name '*.iso' -exec rm -f '{}' \;
|
||||||
|
|
||||||
|
# loop though the valid spins
|
||||||
|
for i in `echo desktop design-suite xfce broffice.org kde electronic-lab games lxde soas security`
|
||||||
|
do
|
||||||
|
|
||||||
|
cd $TOPDIR/nightly-composes/
|
||||||
|
|
||||||
|
echo $i
|
||||||
|
|
||||||
|
if [ ! -d $TOPDIR/nightly-composes/$i ]; then
|
||||||
|
mkdir -p $TOPDIR/nightly-composes/$i
|
||||||
|
fi
|
||||||
|
if [ ! -d $TOPDIR/nightly-composes/$i/logs ]; then
|
||||||
|
mkdir -p $TOPDIR/nightly-composes/$i/logs
|
||||||
|
touch $TOPDIR/nightly-composes/$i/logs/SIZEHISTORY-i386
|
||||||
|
touch $TOPDIR/nightly-composes/$i/logs/SIZEHISTORY-x86_64
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd $i
|
||||||
|
|
||||||
|
# compose f13 not rawhide for now.
|
||||||
|
sed -i 's/rawhide/fedora-13/g' $TOPDIR/spin-kickstarts/*.ks
|
||||||
|
|
||||||
|
# debrand
|
||||||
|
# Note this is not needed for 'official' test spins
|
||||||
|
#sed -i 's/^-fedora-logos/fedora-logos/' $TOPDIR/spin-kickstarts/fedora-livecd-$i.ks
|
||||||
|
#sed -i 's/^generic-logos//' $TOPDIR/spin-kickstarts/fedora-livecd-$i.ks
|
||||||
|
|
||||||
|
echo "INFO: $i i386 live image compose starting"
|
||||||
|
setarch i386 livecd-creator -c $TOPDIR/spin-kickstarts/fedora-live*-$i.ks -f $i-i386-$DATE > logs/$DATE-i386.log 2>&1
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "ERROR: $i i386 live image failed to compose on $DATE"
|
||||||
|
mv logs/$DATE-i386.log logs/$DATE-FAILED-i386.log
|
||||||
|
else
|
||||||
|
du $TOPDIR/nightly-composes/$i/$i-i386-$DATE.iso >> logs/SIZEHISTORY-i386
|
||||||
|
tail -2 logs/SIZEHISTORY-i386
|
||||||
|
rm -f CHECKSUM-i386
|
||||||
|
sha256sum $i-i386-$DATE.iso > CHECKSUM-i386
|
||||||
|
cat CHECKSUM-i386
|
||||||
|
echo "INFO: $i i386 live image compose finished OK"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "INFO: $i x86_64 live image compose starting"
|
||||||
|
# Need to shorten the electronic-lab label to the 32 char limit
|
||||||
|
if [ "$i" = "electronic-lab" ]; then
|
||||||
|
livecd-creator -c $TOPDIR/spin-kickstarts/fedora-live*-$i.ks -f e-lab-x86_64-$DATE > logs/$DATE-x86_64.log 2>&1
|
||||||
|
else
|
||||||
|
livecd-creator -c $TOPDIR/spin-kickstarts/fedora-live*-$i.ks -f $i-x86_64-$DATE > logs/$DATE-x86_64.log 2>&1
|
||||||
|
fi
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "ERROR: $i x86_64 live image failed to compose on $DATE"
|
||||||
|
mv logs/$DATE-x86_64.log logs/$DATE-FAILED-x86_64.log
|
||||||
|
else
|
||||||
|
if [ "$i" = "electronic-lab" ]; then
|
||||||
|
du $TOPDIR/nightly-composes/$i/e-lab-x86_64-$DATE.iso >> logs/SIZEHISTORY-x86_64
|
||||||
|
tail -2 logs/SIZEHISTORY-x86_64
|
||||||
|
rm -f CHECKSUM-x86_64
|
||||||
|
sha256sum e-lab-x86_64-$DATE.iso > CHECKSUM-x86_64
|
||||||
|
cat CHECKSUM-x86_64
|
||||||
|
else
|
||||||
|
du $TOPDIR/nightly-composes/$i/$i-x86_64-$DATE.iso >> logs/SIZEHISTORY-x86_64
|
||||||
|
tail -2 logs/SIZEHISTORY-x86_64
|
||||||
|
rm -f CHECKSUM-x86_64
|
||||||
|
sha256sum $i-x86_64-$DATE.iso > CHECKSUM-x86_64
|
||||||
|
cat CHECKSUM-x86_64
|
||||||
|
fi
|
||||||
|
echo "INFO: $i x86_64 live image compose finished OK"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# remove old resize image
|
||||||
|
#rm -f /tmp/resize-image-*
|
||||||
|
done
|
||||||
|
|
||||||
|
# do aos spin
|
||||||
|
echo "INFO: aos i386 live image compose starting"
|
||||||
|
cd $TOPDIR/nightly-composes/aos/
|
||||||
|
setarch i386 livecd-creator -c $TOPDIR/spin-kickstarts/fedora-aos.ks -f aos-i386-$DATE > logs/$DATE-i386.log 2>&1
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "ERROR: aos i386 live image failed to compose on $DATE"
|
||||||
|
mv logs/$DATE-i386.log logs/$DATE-FAILED-i386.log
|
||||||
|
else
|
||||||
|
du $TOPDIR/nightly-composes/aos/aos-i386-$DATE.iso >> logs/SIZEHISTORY-i386
|
||||||
|
tail -2 logs/SIZEHISTORY-i386
|
||||||
|
rm -f CHECKSUM-i386
|
||||||
|
sha256sum aos-i386-$DATE.iso > CHECKSUM-i386
|
||||||
|
cat CHECKSUM-i386
|
||||||
|
echo "INFO: aos i386 live image compose finished OK"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "INFO: aos x86_64 live image compose starting"
|
||||||
|
livecd-creator -c $TOPDIR/spin-kickstarts/fedora-aos.ks -f aos-x86_64-$DATE > logs/$DATE-x86_64.log 2>&1
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "ERROR: aos x86_64 live image failed to compose on $DATE"
|
||||||
|
mv logs/$DATE-x86_64.log logs/$DATE-FAILED-x86_64.log
|
||||||
|
else
|
||||||
|
du $TOPDIR/nightly-composes/aos/aos-x86_64-$DATE.iso >> logs/SIZEHISTORY-x86_64
|
||||||
|
tail -2 logs/SIZEHISTORY-x86_64
|
||||||
|
rm -f CHECKSUM-x86_64
|
||||||
|
sha256sum aos-x86_64-$DATE.iso > CHECKSUM-x86_64
|
||||||
|
cat CHECKSUM-x86_64
|
||||||
|
echo "INFO: aos x86_64 live image compose finished OK"
|
||||||
|
fi
|
||||||
Reference in New Issue
Block a user