Compare commits

...

No commits in common. "c8" and "c9s" have entirely different histories.
c8 ... c9s

85 changed files with 3906 additions and 221 deletions

9
.gitignore vendored
View File

@ -1 +1,8 @@
SOURCES/lorax-templates-rhel-8.7-1.tar.gz
clog-spec
clog
/lorax-templates-rhel-9.0-34.tar.gz
/lorax-templates-rhel-9.0-35.tar.gz
/lorax-templates-rhel-9.0-36.tar.gz
/lorax-templates-rhel-9.0-37.tar.gz
/lorax-templates-rhel-9.0-38.tar.gz
/lorax-templates-rhel-9.0-39.tar.gz

View File

@ -1 +0,0 @@
c37a6aaaf46fe3effa3bd22fc4520831b6a52758 SOURCES/lorax-templates-rhel-8.7-1.tar.gz

86
80-rhel/aarch64.tmpl Normal file
View File

@ -0,0 +1,86 @@
<%page args="kernels, runtime_img, basearch, inroot, outroot, product, isolabel"/>
<%
configdir="tmp/config_files/aarch64"
PXEBOOTDIR="images/pxeboot"
KERNELDIR=PXEBOOTDIR
STAGE2IMG="images/install.img"
LORAXDIR="usr/share/lorax/"
import os
from os.path import basename
from pylorax.sysutils import joinpaths
# Test the runtime_img, if it is > 4GiB we need to set -iso-level to 3
if os.stat(joinpaths(inroot, runtime_img)).st_size >= 4*1024**3:
isoargs = "-iso-level 3"
else:
isoargs = ""
%>
mkdir images
install ${runtime_img} ${STAGE2IMG}
treeinfo stage2 mainimage ${STAGE2IMG}
## install kernels
mkdir ${KERNELDIR}
%for kernel in kernels:
## normal aarch64
installkernel images-${basearch} ${kernel.path} ${KERNELDIR}/vmlinuz
installinitrd images-${basearch} ${kernel.initrd.path} ${KERNELDIR}/initrd.img
%endfor
#FIXME: this will need adjusted when we have a real bootloader.
## WHeeeeeeee, EFI.
## We could remove the basearch restriction someday..
<% efiargs=""; efigraft="" %>
%if exists("boot/efi/EFI/*/gcdaa64.efi"):
<%
efiarch32 = None
efiarch64 = 'AA64'
efigraft="EFI/BOOT={0}/EFI/BOOT".format(outroot)
images = ["images/efiboot.img"]
%>
%for img in images:
<%
efiargs += " -eltorito-alt-boot -e {0} -no-emul-boot".format(img)
efigraft += " {0}={1}/{0}".format(img,outroot)
%>
treeinfo images-${basearch} ${img|basename} ${img}
%endfor
<%include file="efi.tmpl" args="configdir=configdir, KERNELDIR=KERNELDIR, efiarch32=efiarch32, efiarch64=efiarch64, isolabel=isolabel"/>
%endif
# Create optional product.img and updates.img
<% filegraft=""; images=["product", "updates"] %>
%for img in images:
%if exists("%s/%s/" % (LORAXDIR, img)):
installimg ${LORAXDIR}/${img}/ images/${img}.img
treeinfo images-${basearch} ${img}.img images/${img}.img
<% filegraft += " images/{0}.img={1}/images/{0}.img".format(img, outroot) %>
%endif
%endfor
# Inherit iso-graft/ if it exists from external templates
<%
import os
if os.path.exists(workdir + "/iso-graft"):
filegraft += " " + workdir + "/iso-graft"
%>
# Add the license files
%for f in glob("/usr/share/licenses/*-release/*"):
install ${f} ${f|basename}
<% filegraft += " {0}={1}/{0}".format(basename(f), outroot) %>
%endfor
%if exists("boot/efi/EFI/*/gcdaa64.efi"):
## make boot.iso
runcmd xorrisofs ${isoargs} -o ${outroot}/images/boot.iso \
${efiargs} -R -J -V '${isolabel}' \
-graft-points \
.discinfo=${outroot}/.discinfo \
${KERNELDIR}=${outroot}/${KERNELDIR} \
${STAGE2IMG}=${outroot}/${STAGE2IMG} \
${efigraft} ${filegraft}
treeinfo images-${basearch} boot.iso images/boot.iso
%endif

View File

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<image>
<name>${name}</name>
<domain>
<boot type='hvm'>
<guest>
<arch>${arch}</arch>
</guest>
<os>
<loader dev='hd'/>
</os>
%for disk, letter in zip(disks, xrange(97, 123)):
<drive disk='${disk.name}' target='hd${chr(letter)}'/>
%endfor
</boot>
<devices>
<vcpu>${vcpus}</vcpu>
<memory>${memory}</memory>
%for net in networks:
<interface/>
%endfor
<graphics/>
</devices>
</domain>
<storage>
%for disk in disks:
<disk file='${disk.name}' use='system' format='${disk.format}'>
%if disk.checksum:
<checksum type='${disk.checksum_type}'>${disk.checksum}</checksum>
%endif
</disk>
%endfor
</storage>
</image>

58
80-rhel/arm.tmpl Normal file
View File

@ -0,0 +1,58 @@
<%page args="kernels, runtime_img, runtime_base, basearch, outroot, arch"/>
<%
configdir="tmp/config_files/uboot"
PXEBOOTDIR="images/pxeboot"
DTBDIR="images/pxeboot/dtb"
BOOTDIR="boot"
KERNELDIR=PXEBOOTDIR
STAGE2IMG="images/install.img"
LORAXDIR="usr/share/lorax/"
# keep a comma-delimited list of platforms installed to add to .treeinfo
platforms = ""
delimiter = ''
from os.path import basename
%>
mkdir images
install ${runtime_img} ${STAGE2IMG}
treeinfo stage2 mainimage ${STAGE2IMG}
mkdir ${DTBDIR}
install boot/dtb-*/*dtb ${DTBDIR}/
## install kernels
mkdir ${KERNELDIR}
%for kernel in kernels:
%if kernel.flavor:
installkernel images-${kernel.flavor}-${basearch} ${kernel.path} ${KERNELDIR}/vmlinuz-${kernel.flavor}
installinitrd images-${kernel.flavor}-${basearch} ${kernel.initrd.path} ${KERNELDIR}/initrd-${kernel.flavor}.img
<%
platforms = platforms + delimiter + kernel.flavor
delimiter = ','
%>
%else:
installkernel images-${basearch} ${kernel.path} ${KERNELDIR}/vmlinuz
installinitrd images-${basearch} ${kernel.initrd.path} ${KERNELDIR}/initrd.img
%endif
%endfor
# add platform to treeinfo for Beaker support
treeinfo ${basearch} platforms ${platforms}
# Create optional product.img and updates.img
<% images=["product", "updates"] %>
%for img in images:
%if exists("%s/%s/" % (LORAXDIR, img)):
installimg --xz -9 --memlimit-compress=3700MiB ${LORAXDIR}/${img}/ images/${img}.img
treeinfo images-${basearch} ${img}.img images/${img}.img
%endif
%endfor
# Add the license files
%for f in glob("/usr/share/licenses/*-release/*"):
install ${f} ${f|basename}
%endfor
## FIXME: ARM may need some extra boot config

View File

@ -0,0 +1,5 @@
splash.lss
- Press the 01<ENTER>07 key to begin the installation process.

View File

@ -0,0 +1,13 @@
#debug --graphics
default=0
splashimage=@SPLASHPATH@
timeout 5
hiddenmenu
title Install @PRODUCT@ @VERSION@
findiso
kernel @KERNELPATH@ @ROOT@ quiet
initrd @INITRDPATH@
title Test this media & install @PRODUCT@ @VERSION@
findiso
kernel @KERNELPATH@ @ROOT@ rd.live.check quiet
initrd @INITRDPATH@

View File

@ -0,0 +1,46 @@
set default="1"
function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
set timeout=60
### END /etc/grub.d/00_header ###
search --no-floppy --set=root -l '@ISOLABEL@'
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Install @PRODUCT@ @VERSION@' --class red --class gnu-linux --class gnu --class os {
linux @KERNELPATH@ @ROOT@ ro
initrd @INITRDPATH@
}
menuentry 'Test this media & install @PRODUCT@ @VERSION@' --class red --class gnu-linux --class gnu --class os {
linux @KERNELPATH@ @ROOT@ rd.live.check
initrd @INITRDPATH@
}
submenu 'Troubleshooting -->' {
menuentry 'Install @PRODUCT@ @VERSION@ in text mode' --class red --class gnu-linux --class gnu --class os {
linux @KERNELPATH@ @ROOT@ inst.text
initrd @INITRDPATH@
}
menuentry 'Rescue a @PRODUCT@ system' --class red --class gnu-linux --class gnu --class os {
linux @KERNELPATH@ @ROOT@ inst.rescue
initrd @INITRDPATH@
}
}

View File

@ -0,0 +1,2 @@
[connection]
connection.autoconnect-slaves=1

View File

@ -0,0 +1,2 @@
[logging]
level=DEBUG

View File

@ -0,0 +1,11 @@
kill -USR1 `cat /var/run/anaconda.pid`
kill -USR2 `cat /var/run/anaconda.pid`
kill -HUP `cat /var/run/anaconda.pid`
udevadm info --export-db | less
tail -f /tmp/storage.log
echo b > /proc/sysrq-trigger
dmsetup table
multipath -d
HOME=/root chroot /mnt/sysimage bash -l -i
less /tmp/anaconda.log
grep -v _yum_lock /tmp/packaging.log

View File

@ -0,0 +1 @@
SYSFONT="eurlatgr"

View File

@ -0,0 +1,10 @@
[defaults]
skeleton = /mnt/sysimage/etc/skel
mailspooldir = /mnt/sysimage/var/mail
crypt_style = md5
modules = files shadow
create_modules = files shadow
[files]
directory = /mnt/sysimage/etc
[shadow]
directory = /mnt/sysimage/etc

View File

@ -0,0 +1,2 @@
[org.gtk.Settings.Debug]
enable-inspector-keybinding=true

View File

@ -0,0 +1,9 @@
#%PAM-1.0
auth required pam_env.so
auth sufficient pam_unix.so likeauth nullok
auth required pam_deny.so
account required pam_unix.so
password sufficient pam_unix.so nullok use_authtok md5 shadow
password required pam_deny.so
session required pam_limits.so
session required pam_unix.so

View File

@ -0,0 +1,3 @@
PS1="[anaconda \u@\h \W]\\$ "
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/mnt/sysimage/sbin:/mnt/sysimage/usr/sbin:/mnt/sysimage/bin:/mnt/sysimage/usr/bin
export PATH PS1

View File

View File

@ -0,0 +1,96 @@
# rsyslog configuration file
# For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html
# If you experience problems, see http://www.rsyslog.com/doc/troubleshoot.html
#### MODULES ####
# The imjournal module below is now used as a message source instead of imuxsock.
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$SystemLogRateLimitInterval 0 # disables message dropping, we need all of them
$ModLoad imjournal # provides access to the systemd journal
#$ModLoad imklog # reads kernel messages (the same are read from journald)
#$ModLoad immark # provides --MARK-- message capability
# Disable rate limiting to the journal, we need all the messages for debugging
$imjournalRatelimitInterval 0
$imjournalRatelimitBurst 0
# Provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514
# Provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514
$ModLoad imfile
$InputFileName /tmp/X.log
$InputFileTag xserver:
$InputFileStateFile xserver-statefile
$InputFileFacility local1
$InputRunFileMonitor
$InputFileName /tmp/anaconda-tb-all.log
$InputFileTag anaconda-tb:
$InputFileStateFile anaconda-tb-statefile
$InputFileFacility local1
$InputRunFileMonitor
#### GLOBAL DIRECTIVES ####
# Where to place auxiliary files
$WorkDirectory /var/lib/rsyslog
# Use default timestamp format
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
# File syncing capability is disabled by default. This feature is usually not required,
# not useful and an extreme performance hit
#$ActionFileEnableSync on
# Include all config files in /etc/rsyslog.d/
$IncludeConfig /etc/rsyslog.d/*.conf
# Turn off message reception via local log socket;
# local messages are retrieved through imjournal now.
$OmitLocalLogging on
# File to store the position in the journal
$IMJournalStateFile imjournal.state
#### TEMPLATES ####
$template anaconda_tty4, "%syslogseverity-text:::uppercase% %programname%:%msg%\n"
$template anaconda_syslog, "%timestamp:8:$:date-rfc3164%,%timestamp:1:3:date-subseconds% %syslogseverity-text:::uppercase% %programname%:%msg%\n"
$template virtio_ForwardFormat, "<%PRI%>%TIMESTAMP:::date-rfc3339% localhost %syslogtag:1:32%%msg:::sp-if-no-1st-sp%%msg%\n"
#### RULES ####
# log everything except anaconda-specific records from local1 (those are stored
# directly into files via python logging)
# discard messages from dracut regenerating initrd
:programname,isequal,"dracut" stop
*.*;\
authpriv.none;\
local1.none /tmp/syslog;anaconda_syslog
& /dev/tty4;anaconda_tty4
# ### begin forwarding rule ###
# The statement between the begin ... end define a SINGLE forwarding
# rule. They belong together, do NOT split them. If you create multiple
# forwarding rules, duplicate the whole block!
# Remote Logging (we use TCP for reliable delivery)
#
# An on-disk queue is created for this action. If the remote host is
# down, messages are spooled to disk and sent when it is up again.
#$ActionQueueFileName fwdRule1 # unique name prefix for spool files
$ActionQueueMaxDiskSpace 1m # space limit (use as much as possible)
$ActionQueueSaveOnShutdown off # do not save messages to disk on shutdown
#$ActionQueueType LinkedList # run asynchronously
#$ActionResumeRetryCount -1 # infinite retries if host is down
# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional
#*.* @@remote-host:514
# ### end of the forwarding rule ###

View File

@ -0,0 +1,2 @@
SELINUX=permissive
SELINUXTYPE=targeted

View File

@ -0,0 +1 @@
SPICE_VDAGENTD_EXTRA_ARGS=-X

View File

@ -0,0 +1,9 @@
PermitRootLogin yes
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
SyslogFacility AUTHPRIV
PasswordAuthentication yes
PermitEmptyPasswords yes
PermitUserEnvironment yes
Subsystem sftp internal-sftp

View File

@ -0,0 +1 @@
kernel.printk=1

View File

@ -0,0 +1,2 @@
KEYMAP=us
FONT=eurlatgr

View File

@ -0,0 +1,170 @@
<chrp-boot>
<description>grub 2.00</description>
<os-name>grub 2.00</os-name>
<boot-script>boot &device;:\boot\grub\powerpc-ieee1275\core.elf</boot-script>
<icon size=64,64 color-space=3,3,2>
<bitmap> FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 </bitmap> </icon> </chrp-boot>

View File

@ -0,0 +1,30 @@
set default=0
set timeout=5
echo -e "\nWelcome to the @PRODUCT@ @VERSION@ installer!\n\n"
menuentry "Install @PRODUCT@ @VERSION@ (64-bit kernel)" --class fedora --class gnu-linux --class gnu --class os {
linux /ppc/ppc64/vmlinuz @ROOT@ ro
initrd /ppc/ppc64/initrd.img
}
menuentry "Test this media & install @PRODUCT@ @VERSION@ (64-bit kernel)" --class fedora --class gnu-linux --class gnu --class os {
linux /ppc/ppc64/vmlinuz @ROOT@ rd.live.check ro
initrd /ppc/ppc64/initrd.img
}
menuentry "Rescue a @PRODUCT@ system (64-bit kernel)" --class fedora --class gnu-linux --class gnu --class os {
linux /ppc/ppc64/vmlinuz @ROOT@ inst.rescue ro
initrd /ppc/ppc64/initrd.img
}
submenu 'Other options...' {
menuentry 'Reboot' {
reboot
}
menuentry 'Exit to Open Firmware' {
exit
}
}

View File

@ -0,0 +1,28 @@
# Example filename mapping file
#
# yaboot Raw 'UNIX' 'boot' "Bootstrap"
# vmlinux Raw 'UNIX' 'boot' "Bootstrap"
#
# EXTN XLate CREATOR TYPE Comment
COPYING Ascii 'ttxt' 'ttro' "Text File"
CREDITS Ascii 'ttxt' 'ttro' "Text File"
README Ascii 'ttxt' 'ttro' "Text File"
RPM-GPG-KEY Ascii 'ttxt' 'ttro' "Text File"
RELEASE_NOTES Ascii 'ttxt' 'ttro' "Text File"
.b Raw 'chrp' 'tbxi' "Macintosh Toolbox ROM file"
.gif Raw '8BIM' 'GIFf' "Gif File"
.jpg Raw '8BIM' 'JPEG' "Jpeg File"
.tif Raw '8BIM' 'TIFF' "Photoshop TIFF image"
.hqx Ascii 'BnHq' 'TEXT' "BinHex file"
.doc Raw 'MSWD' 'WDBN' "Word file"
.mov Raw 'TVOD' 'MooV' "QuickTime Movie"
.html Ascii 'MOSS' 'TEXT' "HTML File"
.htm Ascii 'MOSS' 'TEXT' "HTML File"
.conf Ascii 'ttxt' 'TEXT' "config file"
.txt Ascii 'ttxt' 'TEXT' "Text File"
.tbxi Raw 'chrp' 'tbxi' "Macintosh Toolbox ROM file"
.sea Raw 'aust' 'APPL' "Self Expanding Archive"
.sit Raw 'SIT!' 'SITD' "Stuffit Expander file"
core.elf Raw 'chrp' 'tbxi' "Bootable GRUB2 executable."
* Raw '????' '????' "Unknown"

View File

@ -0,0 +1,74 @@
<CHRP-BOOT>
<COMPATIBLE>
MacRISC MacRISC3 MacRISC4
</COMPATIBLE>
<DESCRIPTION>
Boot Chooser
</DESCRIPTION>
<BOOT-SCRIPT>
" screen" output
load-base release-load-area
" /cpus/@0" find-package if
" 64-bit" rot get-package-property 0= if
2drop
" boot cd:,\ppc\mac\yaboot conf=cd:,\ppc\ppc64\yaboot.conf" eval
else
" boot cd:,\ppc\mac\yaboot conf=cd:,\ppc\ppc32\yaboot.conf" eval
then
then
</BOOT-SCRIPT>
<OS-BADGE-ICONS>
1010
000000000000F8FEACF6000000000000
0000000000F5FFFFFEFEF50000000000
00000000002BFAFEFAFCF70000000000
0000000000F65D5857812B0000000000
0000000000F5350B2F88560000000000
0000000000F6335708F8FE0000000000
00000000005600F600F5FD8100000000
00000000F9F8000000F5FAFFF8000000
000000008100F5F50000F6FEFE000000
000000F8F700F500F50000FCFFF70000
00000088F70000F50000F5FCFF2B0000
0000002F582A00F5000008ADE02C0000
00090B0A35A62B0000002D3B350A0000
000A0A0B0B3BF60000505E0B0A0B0A00
002E350B0B2F87FAFCF45F0B2E090000
00000007335FF82BF72B575907000000
000000000000ACFFFF81000000000000
000000000081FFFFFFFF810000000000
0000000000FBFFFFFFFFAC0000000000
000000000081DFDFDFFFFB0000000000
000000000081DD5F83FFFD0000000000
000000000081DDDF5EACFF0000000000
0000000000FDF981F981FFFF00000000
00000000FFACF9F9F981FFFFAC000000
00000000FFF98181F9F981FFFF000000
000000ACACF981F981F9F9FFFFAC0000
000000FFACF9F981F9F981FFFFFB0000
00000083DFFBF981F9F95EFFFFFC0000
005F5F5FDDFFFBF9F9F983DDDD5F0000
005F5F5F5FDD81F9F9E7DF5F5F5F5F00
0083DD5F5F83FFFFFFFFDF5F835F0000
000000FBDDDFACFBACFBDFDFFB000000
000000000000FFFFFFFF000000000000
0000000000FFFFFFFFFFFF0000000000
0000000000FFFFFFFFFFFF0000000000
0000000000FFFFFFFFFFFF0000000000
0000000000FFFFFFFFFFFF0000000000
0000000000FFFFFFFFFFFF0000000000
0000000000FFFFFFFFFFFFFF00000000
00000000FFFFFFFFFFFFFFFFFF000000
00000000FFFFFFFFFFFFFFFFFF000000
000000FFFFFFFFFFFFFFFFFFFFFF0000
000000FFFFFFFFFFFFFFFFFFFFFF0000
000000FFFFFFFFFFFFFFFFFFFFFF0000
00FFFFFFFFFFFFFFFFFFFFFFFFFF0000
00FFFFFFFFFFFFFFFFFFFFFFFFFFFF00
00FFFFFFFFFFFFFFFFFFFFFFFFFF0000
000000FFFFFFFFFFFFFFFFFFFF000000
</OS-BADGE-ICONS>
</CHRP-BOOT>

View File

@ -0,0 +1,16 @@
init-message = "\nWelcome to the @PRODUCT@ @VERSION@ installer!\nUse 'linux32' for 32-bit kernel.\n\n"
timeout=6000
default=linux
image=/ppc/ppc64/vmlinuz
label=linux64
alias=linux
initrd=/ppc/ppc64/ramdisk.image.gz
read-only
append="@ROOT@"
image=/ppc/ppc32/vmlinuz
label=linux32
initrd=/ppc/ppc32/ramdisk.image.gz
read-only
append="@ROOT@"

View File

@ -0,0 +1,9 @@
init-message = "\nWelcome to the @BITS@-bit @PRODUCT@ @VERSION@ installer!\nHit <TAB> for boot options.\n\n"
timeout=6000
default=linux
image=/ppc/ppc@BITS@/vmlinuz
label=linux
initrd=/ppc/ppc@BITS@/initrd.img
read-only
append="@ROOT@"

View File

@ -0,0 +1 @@
ro @ROOT@

View File

@ -0,0 +1,5 @@
* minimal lpar ins file
images/kernel.img 0x00000000
images/initrd.img @INITRD_LOAD_ADDRESS@
images/genericdvd.prm 0x00010480
images/initrd.addrsize 0x00010408

View File

@ -0,0 +1 @@
ro ramdisk_size=40000 cio_ignore=all,!condev

View File

@ -0,0 +1 @@
ro ramdisk_size=40000 cio_ignore=all,!condev rd.cmdline=ask

View File

@ -0,0 +1,9 @@
/* */
'CL RDR'
'PURGE RDR ALL'
'SPOOL PUNCH * RDR'
'PUNCH KERNEL IMG A (NOH'
'PUNCH GENERIC PRM A (NOH'
'PUNCH INITRD IMG A (NOH'
'CH RDR ALL KEEP NOHOLD'
'I 00C'

View File

@ -0,0 +1,9 @@

Welcome to @PRODUCT@ @VERSION@!
- To install in graphical mode, press the <ENTER> key.
- To install in text mode, type: linux text <ENTER>.
- To enter rescue mode type: linux inst.rescue <ENTER>.

View File

@ -0,0 +1,18 @@
partition=1
default=linux
read-write
timeout=100
message=/boot/boot.msg
image[sun4u]=/boot/vmlinuz
label=linux
alias=install
append="@ROOT@"
initrd=/boot/initrd.img
image[sun4u]=/boot/vmlinuz
label=text
append="@ROOT@ text"
initrd=/boot/initrd.img
image[sun4u]=/boot/vmlinuz
label=ks
append="@ROOT@ ks"
initrd=/boot/initrd.img

View File

@ -0,0 +1,5 @@
splash.lss
- Press the 01<ENTER>07 key to begin the installation process.

View File

@ -0,0 +1,13 @@
#debug --graphics
default=1
splashimage=@SPLASHPATH@
timeout 60
hiddenmenu
title Install @PRODUCT@ @VERSION@
findiso
kernel @KERNELPATH@ @ROOT@ quiet
initrd @INITRDPATH@
title Test this media & install @PRODUCT@ @VERSION@
findiso
kernel @KERNELPATH@ @ROOT@ rd.live.check quiet
initrd @INITRDPATH@

View File

@ -0,0 +1,40 @@
set default="1"
function load_video {
insmod efi_gop
insmod efi_uga
insmod video_bochs
insmod video_cirrus
insmod all_video
}
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
set timeout=60
### END /etc/grub.d/00_header ###
search --no-floppy --set=root -l '@ISOLABEL@'
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Install @PRODUCT@ @VERSION@' --class fedora --class gnu-linux --class gnu --class os {
linuxefi @KERNELPATH@ @ROOT@ quiet
initrdefi @INITRDPATH@
}
menuentry 'Test this media & install @PRODUCT@ @VERSION@' --class fedora --class gnu-linux --class gnu --class os {
linuxefi @KERNELPATH@ @ROOT@ rd.live.check quiet
initrdefi @INITRDPATH@
}
submenu 'Troubleshooting -->' {
menuentry 'Install @PRODUCT@ @VERSION@ in text mode' --class fedora --class gnu-linux --class gnu --class os {
linuxefi @KERNELPATH@ @ROOT@ inst.text quiet
initrdefi @INITRDPATH@
}
menuentry 'Rescue a @PRODUCT@ system' --class fedora --class gnu-linux --class gnu --class os {
linuxefi @KERNELPATH@ @ROOT@ inst.rescue quiet
initrdefi @INITRDPATH@
}
}

View File

@ -0,0 +1,120 @@
default vesamenu.c32
timeout 600
display boot.msg
# Clear the screen when exiting the menu, instead of leaving the menu displayed.
# For vesamenu, this means the graphical background is still displayed without
# the menu itself for as long as the screen remains in graphics mode.
menu clear
menu background splash.png
menu title @PRODUCT@ @VERSION@
menu vshift 8
menu rows 18
menu margin 8
#menu hidden
menu helpmsgrow 15
menu tabmsgrow 13
# Border Area
menu color border * #00000000 #00000000 none
# Selected item
menu color sel 0 #ffffffff #00000000 none
# Title bar
menu color title 0 #ff7ba3d0 #00000000 none
# Press [Tab] message
menu color tabmsg 0 #ff3a6496 #00000000 none
# Unselected menu item
menu color unsel 0 #84b8ffff #00000000 none
# Selected hotkey
menu color hotsel 0 #84b8ffff #00000000 none
# Unselected hotkey
menu color hotkey 0 #ffffffff #00000000 none
# Help text
menu color help 0 #ffffffff #00000000 none
# A scrollbar of some type? Not sure.
menu color scrollbar 0 #ffffffff #ff355594 none
# Timeout msg
menu color timeout 0 #ffffffff #00000000 none
menu color timeout_msg 0 #ffffffff #00000000 none
# Command prompt text
menu color cmdmark 0 #84b8ffff #00000000 none
menu color cmdline 0 #ffffffff #00000000 none
# Do not display the actual menu unless the user presses a key. All that is displayed is a timeout message.
menu tabmsg Press Tab for full configuration options on menu items.
menu separator # insert an empty line
menu separator # insert an empty line
label linux
menu label ^Install @PRODUCT@ @VERSION@
kernel vmlinuz
append initrd=initrd.img @ROOT@ quiet
label check
menu label Test this ^media & install @PRODUCT@ @VERSION@
menu default
kernel vmlinuz
append initrd=initrd.img @ROOT@ rd.live.check quiet
menu separator # insert an empty line
# utilities submenu
menu begin ^Troubleshooting
menu title Troubleshooting
label text
menu indent count 5
menu label Install @PRODUCT@ @VERSION@ using ^text mode
text help
Try this option out if you're having trouble installing
@PRODUCT@ @VERSION@.
endtext
kernel vmlinuz
append initrd=initrd.img @ROOT@ inst.text quiet
label rescue
menu indent count 5
menu label ^Rescue a @PRODUCT@ system
text help
If the system will not boot, this lets you access files
and edit config files to try to get it booting again.
endtext
kernel vmlinuz
append initrd=initrd.img @ROOT@ inst.rescue quiet
label memtest
menu label Run a ^memory test
text help
If your system is having issues, a problem with your
system's memory may be the cause. Use this utility to
see if the memory is working correctly.
endtext
kernel memtest
menu separator # insert an empty line
label local
menu label Boot from ^local drive
localboot 0xffff
menu separator # insert an empty line
menu separator # insert an empty line
label returntomain
menu label Return to ^main menu
menu exit
menu end

61
80-rhel/efi.tmpl Normal file
View File

@ -0,0 +1,61 @@
<%page args="configdir, KERNELDIR, efiarch32, efiarch64, isolabel"/>
<%
EFIBOOTDIR="EFI/BOOT"
APPLE_EFI_ICON=inroot+"/usr/share/pixmaps/bootloader/fedora.icns"
APPLE_EFI_DISKNAME=inroot+"/usr/share/pixmaps/bootloader/fedora-media.vol"
%>
mkdir ${EFIBOOTDIR}
mkdir ${EFIBOOTDIR}/fonts/
%if efiarch64:
install boot/efi/EFI/*/shim${efiarch64|lower}.efi ${EFIBOOTDIR}/BOOT${efiarch64}.EFI
install boot/efi/EFI/*/mm${efiarch64|lower}.efi ${EFIBOOTDIR}/
install boot/efi/EFI/*/gcd${efiarch64|lower}.efi ${EFIBOOTDIR}/grub${efiarch64|lower}.efi
%endif
%if efiarch32:
install boot/efi/EFI/*/shim${efiarch32|lower}.efi ${EFIBOOTDIR}/BOOT${efiarch32}.EFI
install boot/efi/EFI/*/mm${efiarch32|lower}.efi ${EFIBOOTDIR}/
install boot/efi/EFI/*/gcd${efiarch32|lower}.efi ${EFIBOOTDIR}/grub${efiarch32|lower}.efi
%endif
install boot/grub2/fonts/unicode.pf2 ${EFIBOOTDIR}/fonts/
## actually make the EFI images
${make_efiboot("images/efiboot.img")}
%if domacboot:
${make_efiboot("images/macboot.img", imgtype="apple")}
%endif
## This is kinda gross, but then... so's EFI.
<%def name="make_efiboot(img, include_kernel=False, disk=False, imgtype='default')">
<%
kdir = EFIBOOTDIR if include_kernel else KERNELDIR
eficonf = "%s/grub.cfg" % (EFIBOOTDIR, )
args = "--label=ANACONDA --debug"
if disk: args += " --disk"
if imgtype == "apple": args += ' --apple --icon=%s --diskname=%s --product="%s %s"' % (APPLE_EFI_ICON, APPLE_EFI_DISKNAME, product.name, product.version)
%>
%if include_kernel:
copy ${KERNELDIR}/vmlinuz ${EFIBOOTDIR}
copy ${KERNELDIR}/initrd.img ${EFIBOOTDIR}
%endif
install ${configdir}/grub2-efi.cfg ${eficonf}
replace @PRODUCT@ '${product.name}' ${eficonf}
replace @VERSION@ ${product.version} ${eficonf}
replace @KERNELNAME@ vmlinuz ${eficonf}
replace @KERNELPATH@ /${kdir}/vmlinuz ${eficonf}
replace @INITRDPATH@ /${kdir}/initrd.img ${eficonf}
replace @ISOLABEL@ '${isolabel}' ${eficonf}
%if disk:
replace @ROOT@ inst.stage2=hd:LABEL=ANACONDA ${eficonf}
%else:
replace @ROOT@ 'inst.stage2=hd:LABEL=${isolabel|udev}' ${eficonf}
%endif
%if efiarch32 == 'IA32':
copy ${eficonf} ${EFIBOOTDIR}/BOOT.conf
%endif
runcmd mkefiboot ${args} ${outroot}/${EFIBOOTDIR} ${outroot}/${img}
%if include_kernel:
remove ${EFIBOOTDIR}/vmlinuz
remove ${EFIBOOTDIR}/initrd.img
%endif
</%def>

84
80-rhel/live/aarch64.tmpl Normal file
View File

@ -0,0 +1,84 @@
<%page args="kernels, runtime_img, basearch, inroot, outroot, product, isolabel, extra_boot_args"/>
<%
configdir="tmp/config_files/aarch64"
PXEBOOTDIR="images/pxeboot"
KERNELDIR=PXEBOOTDIR
LIVEDIR="LiveOS"
LORAXDIR="usr/share/lorax/"
## Don't allow spaces or escape characters in the iso label
def valid_label(ch):
return ch.isalnum() or ch == '_'
isolabel = ''.join(ch if valid_label(ch) else '-' for ch in isolabel)
import os
from os.path import basename
from pylorax.sysutils import joinpaths
# Test the runtime_img, if it is > 4GiB we need to set -iso-level to 3
if os.stat(joinpaths(inroot, runtime_img)).st_size >= 4*1024**3:
isoargs = "-iso-level 3"
else:
isoargs = ""
%>
mkdir ${LIVEDIR}
install ${runtime_img} ${LIVEDIR}/squashfs.img
treeinfo stage2 mainimage ${LIVEDIR}/squashfs.img
## install kernels
mkdir ${KERNELDIR}
%for kernel in kernels:
## normal aarch64
installkernel images-${basearch} ${kernel.path} ${KERNELDIR}/vmlinuz
installinitrd images-${basearch} ${kernel.initrd.path} ${KERNELDIR}/initrd.img
%endfor
#FIXME: this will need adjusted when we have a real bootloader.
## WHeeeeeeee, EFI.
## We could remove the basearch restriction someday..
<% efiargs=""; efigraft="" %>
%if exists("boot/efi/EFI/*/gcdaa64.efi"):
<%
efiarch32 = None
efiarch64 = 'AA64'
efigraft="EFI/BOOT={0}/EFI/BOOT".format(outroot)
images = ["images/efiboot.img"]
%>
%for img in images:
<%
efiargs += " -eltorito-alt-boot -e {0} -no-emul-boot".format(img)
efigraft += " {0}={1}/{0}".format(img,outroot)
%>
treeinfo images-${basearch} ${img|basename} ${img}
%endfor
<%include file="efi.tmpl" args="configdir=configdir, KERNELDIR=KERNELDIR, efiarch32=efiarch32, efiarch64=efiarch64, isolabel=isolabel, extra_boot_args=extra_boot_args"/>
%endif
# Create optional product.img and updates.img
<% filegraft=""; images=["product", "updates"] %>
%for img in images:
%if exists("%s/%s/" % (LORAXDIR, img)):
installimg ${LORAXDIR}/${img}/ images/${img}.img
treeinfo images-${basearch} ${img}.img images/${img}.img
<% filegraft += " images/{0}.img={1}/images/{0}.img".format(img, outroot) %>
%endif
%endfor
# Add the license files
%for f in glob("/usr/share/licenses/*-release/*"):
install ${f} ${f|basename}
<% filegraft += " {0}={1}/{0}".format(basename(f), outroot) %>
%endfor
%if exists("boot/efi/EFI/*/gcdaa64.efi"):
## make boot.iso
runcmd xorrisofs ${isoargs} -o ${outroot}/images/boot.iso \
${efiargs} -R -J -V '${isolabel}' \
-graft-points \
${KERNELDIR}=${outroot}/${KERNELDIR} \
${LIVEDIR}=${outroot}/${LIVEDIR} \
${efigraft} ${filegraft}
treeinfo images-${basearch} boot.iso images/boot.iso
%endif

52
80-rhel/live/arm.tmpl Normal file
View File

@ -0,0 +1,52 @@
<%page args="kernels, runtime_img, runtime_base, basearch, outroot, arch"/>
<%
configdir="tmp/config_files/uboot"
PXEBOOTDIR="images/pxeboot"
BOOTDIR="boot"
KERNELDIR=PXEBOOTDIR
LIVEDIR="LiveOS"
LORAXDIR="usr/share/lorax/"
from os.path import basename
%>
mkdir ${LIVEDIR}
install ${runtime_img} ${LIVEDIR}/squashfs.img
treeinfo stage2 mainimage ${LIVEDIR}/squashfs.img
## install kernels
mkdir ${KERNELDIR}
%for kernel in kernels:
%if kernel.flavor:
installkernel images-${kernel.flavor}-${basearch} ${kernel.path} ${KERNELDIR}/vmlinuz-${kernel.flavor}
installinitrd images-${kernel.flavor}-${basearch} ${kernel.initrd.path} ${KERNELDIR}/initrd-${kernel.flavor}.img
treeinfo images-${kernel.flavor}-${basearch} uimage ${KERNELDIR}/uImage-${kernel.flavor}
treeinfo images-${kernel.flavor}-${basearch} uinitrd ${KERNELDIR}/uInitrd-${kernel.flavor}
%else:
installkernel images-${basearch} ${kernel.path} ${KERNELDIR}/vmlinuz
installinitrd images-${basearch} ${kernel.initrd.path} ${KERNELDIR}/initrd.img
treeinfo images-${basearch} uimage ${KERNELDIR}/uImage
treeinfo images-${basearch} uinitrd ${KERNELDIR}/uInitrd
%endif
%endfor
# Create optional product.img and updates.img
<% images=["product", "updates"] %>
%for img in images:
%if exists("%s/%s/" % (LORAXDIR, img)):
installimg --xz -9 --memlimit-compress=3700MiB ${LORAXDIR}/${img}/ images/${img}.img
treeinfo images-${basearch} ${img}.img images/${img}.img
%endif
%endfor
# Add the license files
%for f in glob("/usr/share/licenses/*-release/*"):
install ${f} ${f|basename}
%endfor
## FIXME: ARM may need some extra boot config

View File

@ -0,0 +1,36 @@
set default="1"
function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
set timeout=60
### END /etc/grub.d/00_header ###
search --no-floppy --set=root -l '@ISOLABEL@'
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Start @PRODUCT@ @VERSION@' --class red --class gnu-linux --class gnu --class os {
linux @KERNELPATH@ @ROOT@ @EXTRA@ rd.live.image quiet
initrd @INITRDPATH@
}
menuentry 'Test this media & start @PRODUCT@ @VERSION@' --class red --class gnu-linux --class gnu --class os {
linux @KERNELPATH@ @ROOT@ @EXTRA@ rd.live.image rd.live.check quiet
initrd @INITRDPATH@
}

View File

@ -0,0 +1,170 @@
<chrp-boot>
<description>grub 2.00</description>
<os-name>grub 2.00</os-name>
<boot-script>boot &device;:\boot\grub\powerpc-ieee1275\core.elf</boot-script>
<icon size=64,64 color-space=3,3,2>
<bitmap> FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 </bitmap> </icon> </chrp-boot>

View File

@ -0,0 +1,24 @@
set default=0
set timeout=5
echo -e "\nWelcome to the @PRODUCT@ @VERSION@ installer!\n\n"
menuentry "Start @PRODUCT@ @VERSION@ (64-bit kernel)" --class fedora --class gnu-linux --class gnu --class os {
linux /ppc/ppc64/vmlinuz @ROOT@ @EXTRA@ ro rd.live.image quiet
initrd /ppc/ppc64/initrd.img
}
menuentry "Test this media & start @PRODUCT@ @VERSION@ (64-bit kernel)" --class fedora --class gnu-linux --class gnu --class os {
linux /ppc/ppc64/vmlinuz @ROOT@ @EXTRA@ rd.live.image rd.live.check ro quiet
initrd /ppc/ppc64/initrd.img
}
submenu 'Other options...' {
menuentry 'Reboot' {
reboot
}
menuentry 'Exit to Open Firmware' {
exit
}
}

View File

@ -0,0 +1,27 @@
# Example filename mapping file
#
# yaboot Raw 'UNIX' 'boot' "Bootstrap"
# vmlinux Raw 'UNIX' 'boot' "Bootstrap"
#
# EXTN XLate CREATOR TYPE Comment
COPYING Ascii 'ttxt' 'ttro' "Text File"
CREDITS Ascii 'ttxt' 'ttro' "Text File"
README Ascii 'ttxt' 'ttro' "Text File"
RPM-GPG-KEY Ascii 'ttxt' 'ttro' "Text File"
RELEASE_NOTES Ascii 'ttxt' 'ttro' "Text File"
.b Raw 'chrp' 'tbxi' "Macintosh Toolbox ROM file"
.gif Raw '8BIM' 'GIFf' "Gif File"
.jpg Raw '8BIM' 'JPEG' "Jpeg File"
.tif Raw '8BIM' 'TIFF' "Photoshop TIFF image"
.hqx Ascii 'BnHq' 'TEXT' "BinHex file"
.doc Raw 'MSWD' 'WDBN' "Word file"
.mov Raw 'TVOD' 'MooV' "QuickTime Movie"
.html Ascii 'MOSS' 'TEXT' "HTML File"
.htm Ascii 'MOSS' 'TEXT' "HTML File"
.conf Ascii 'ttxt' 'TEXT' "config file"
.txt Ascii 'ttxt' 'TEXT' "Text File"
.tbxi Raw 'chrp' 'tbxi' "Macintosh Toolbox ROM file"
.sea Raw 'aust' 'APPL' "Self Expanding Archive"
.sit Raw 'SIT!' 'SITD' "Stuffit Expander file"
* Raw '????' '????' "Unknown"

View File

@ -0,0 +1,74 @@
<CHRP-BOOT>
<COMPATIBLE>
MacRISC MacRISC3 MacRISC4
</COMPATIBLE>
<DESCRIPTION>
Boot Chooser
</DESCRIPTION>
<BOOT-SCRIPT>
" screen" output
load-base release-load-area
" /cpus/@0" find-package if
" 64-bit" rot get-package-property 0= if
2drop
" boot cd:,\ppc\mac\yaboot conf=cd:,\ppc\ppc64\yaboot.conf" eval
else
" boot cd:,\ppc\mac\yaboot conf=cd:,\ppc\ppc32\yaboot.conf" eval
then
then
</BOOT-SCRIPT>
<OS-BADGE-ICONS>
1010
000000000000F8FEACF6000000000000
0000000000F5FFFFFEFEF50000000000
00000000002BFAFEFAFCF70000000000
0000000000F65D5857812B0000000000
0000000000F5350B2F88560000000000
0000000000F6335708F8FE0000000000
00000000005600F600F5FD8100000000
00000000F9F8000000F5FAFFF8000000
000000008100F5F50000F6FEFE000000
000000F8F700F500F50000FCFFF70000
00000088F70000F50000F5FCFF2B0000
0000002F582A00F5000008ADE02C0000
00090B0A35A62B0000002D3B350A0000
000A0A0B0B3BF60000505E0B0A0B0A00
002E350B0B2F87FAFCF45F0B2E090000
00000007335FF82BF72B575907000000
000000000000ACFFFF81000000000000
000000000081FFFFFFFF810000000000
0000000000FBFFFFFFFFAC0000000000
000000000081DFDFDFFFFB0000000000
000000000081DD5F83FFFD0000000000
000000000081DDDF5EACFF0000000000
0000000000FDF981F981FFFF00000000
00000000FFACF9F9F981FFFFAC000000
00000000FFF98181F9F981FFFF000000
000000ACACF981F981F9F9FFFFAC0000
000000FFACF9F981F9F981FFFFFB0000
00000083DFFBF981F9F95EFFFFFC0000
005F5F5FDDFFFBF9F9F983DDDD5F0000
005F5F5F5FDD81F9F9E7DF5F5F5F5F00
0083DD5F5F83FFFFFFFFDF5F835F0000
000000FBDDDFACFBACFBDFDFFB000000
000000000000FFFFFFFF000000000000
0000000000FFFFFFFFFFFF0000000000
0000000000FFFFFFFFFFFF0000000000
0000000000FFFFFFFFFFFF0000000000
0000000000FFFFFFFFFFFF0000000000
0000000000FFFFFFFFFFFF0000000000
0000000000FFFFFFFFFFFFFF00000000
00000000FFFFFFFFFFFFFFFFFF000000
00000000FFFFFFFFFFFFFFFFFF000000
000000FFFFFFFFFFFFFFFFFFFFFF0000
000000FFFFFFFFFFFFFFFFFFFFFF0000
000000FFFFFFFFFFFFFFFFFFFFFF0000
00FFFFFFFFFFFFFFFFFFFFFFFFFF0000
00FFFFFFFFFFFFFFFFFFFFFFFFFFFF00
00FFFFFFFFFFFFFFFFFFFFFFFFFF0000
000000FFFFFFFFFFFFFFFFFFFF000000
</OS-BADGE-ICONS>
</CHRP-BOOT>

View File

@ -0,0 +1,16 @@
init-message = "\nWelcome to the @PRODUCT@ @VERSION@ installer!\nUse 'linux32' for 32-bit kernel.\n\n"
timeout=6000
default=linux
image=/ppc/ppc64/vmlinuz
label=linux64
alias=linux
initrd=/ppc/ppc64/ramdisk.image.gz
read-only
append="@ROOT@"
image=/ppc/ppc32/vmlinuz
label=linux32
initrd=/ppc/ppc32/ramdisk.image.gz
read-only
append="@ROOT@"

View File

@ -0,0 +1,9 @@
init-message = "\nWelcome to the @BITS@-bit @PRODUCT@ @VERSION@ installer!\nHit <TAB> for boot options.\n\n"
timeout=6000
default=linux
image=/ppc/ppc@BITS@/vmlinuz
label=linux
initrd=/ppc/ppc@BITS@/initrd.img
read-only
append="@ROOT@ rd.live.image quiet"

View File

@ -0,0 +1 @@
ro @ROOT@ rd.live.image @EXTRA@

View File

@ -0,0 +1,5 @@
* minimal lpar ins file
images/kernel.img 0x00000000
images/initrd.img @INITRD_LOAD_ADDRESS@
images/genericdvd.prm 0x00010480
images/initrd.addrsize 0x00010408

View File

@ -0,0 +1 @@
ro ramdisk_size=40000 cio_ignore=all,!condev @EXTRA@

View File

@ -0,0 +1 @@
ro ramdisk_size=40000 cio_ignore=all,!condev rd.cmdline=ask

View File

@ -0,0 +1,9 @@
/* */
'CL RDR'
'PURGE RDR ALL'
'SPOOL PUNCH * RDR'
'PUNCH KERNEL IMG A (NOH'
'PUNCH GENERIC PRM A (NOH'
'PUNCH INITRD IMG A (NOH'
'CH RDR ALL KEEP NOHOLD'
'I 00C'

View File

@ -0,0 +1,5 @@
splash.lss
- Press the 01<ENTER>07 key to begin the installation process.

View File

@ -0,0 +1,13 @@
#debug --graphics
default=1
splashimage=@SPLASHPATH@
timeout 60
hiddenmenu
title Start @PRODUCT@ @VERSION@
findiso
kernel @KERNELPATH@ @ROOT@ @EXTRA@ rd.live.image quiet
initrd @INITRDPATH@
title Test this media & start @PRODUCT@ @VERSION@
findiso
kernel @KERNELPATH@ @ROOT@ @EXTRA@ rd.live.image rd.live.check quiet
initrd @INITRDPATH@

View File

@ -0,0 +1,30 @@
set default="1"
function load_video {
insmod efi_gop
insmod efi_uga
insmod video_bochs
insmod video_cirrus
insmod all_video
}
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
set timeout=60
### END /etc/grub.d/00_header ###
search --no-floppy --set=root -l '@ISOLABEL@'
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Start @PRODUCT@ @VERSION@' --class fedora --class gnu-linux --class gnu --class os {
linuxefi @KERNELPATH@ @ROOT@ @EXTRA@ rd.live.image quiet
initrdefi @INITRDPATH@
}
menuentry 'Test this media & start @PRODUCT@ @VERSION@' --class fedora --class gnu-linux --class gnu --class os {
linuxefi @KERNELPATH@ @ROOT@ @EXTRA@ rd.live.image rd.live.check quiet
initrdefi @INITRDPATH@
}

View File

@ -0,0 +1,100 @@
default vesamenu.c32
timeout 600
display boot.msg
# Clear the screen when exiting the menu, instead of leaving the menu displayed.
# For vesamenu, this means the graphical background is still displayed without
# the menu itself for as long as the screen remains in graphics mode.
menu clear
menu background splash.png
menu title @PRODUCT@ @VERSION@
menu vshift 8
menu rows 18
menu margin 8
#menu hidden
menu helpmsgrow 15
menu tabmsgrow 13
# Border Area
menu color border * #00000000 #00000000 none
# Selected item
menu color sel 0 #ffffffff #00000000 none
# Title bar
menu color title 0 #ff7ba3d0 #00000000 none
# Press [Tab] message
menu color tabmsg 0 #ff3a6496 #00000000 none
# Unselected menu item
menu color unsel 0 #84b8ffff #00000000 none
# Selected hotkey
menu color hotsel 0 #84b8ffff #00000000 none
# Unselected hotkey
menu color hotkey 0 #ffffffff #00000000 none
# Help text
menu color help 0 #ffffffff #00000000 none
# A scrollbar of some type? Not sure.
menu color scrollbar 0 #ffffffff #ff355594 none
# Timeout msg
menu color timeout 0 #ffffffff #00000000 none
menu color timeout_msg 0 #ffffffff #00000000 none
# Command prompt text
menu color cmdmark 0 #84b8ffff #00000000 none
menu color cmdline 0 #ffffffff #00000000 none
# Do not display the actual menu unless the user presses a key. All that is displayed is a timeout message.
menu tabmsg Press Tab for full configuration options on menu items.
menu separator # insert an empty line
menu separator # insert an empty line
label linux
menu label ^Start @PRODUCT@ @VERSION@
kernel vmlinuz
append initrd=initrd.img @ROOT@ @EXTRA@ rd.live.image quiet
label check
menu label Test this ^media & start @PRODUCT@ @VERSION@
menu default
kernel vmlinuz
append initrd=initrd.img @ROOT@ @EXTRA@ rd.live.image rd.live.check quiet
menu separator # insert an empty line
# utilities submenu
menu begin ^Troubleshooting
menu title Troubleshooting
label memtest
menu label Run a ^memory test
text help
If your system is having issues, a problem with your
system's memory may be the cause. Use this utility to
see if the memory is working correctly.
endtext
kernel memtest
menu separator # insert an empty line
label local
menu label Boot from ^local drive
localboot 0xffff
menu separator # insert an empty line
menu separator # insert an empty line
label returntomain
menu label Return to ^main menu
menu exit
menu end

62
80-rhel/live/efi.tmpl Normal file
View File

@ -0,0 +1,62 @@
<%page args="configdir, KERNELDIR, efiarch32, efiarch64, isolabel, extra_boot_args"/>
<%
EFIBOOTDIR="EFI/BOOT"
APPLE_EFI_ICON=inroot+"/usr/share/pixmaps/bootloader/fedora.icns"
APPLE_EFI_DISKNAME=inroot+"/usr/share/pixmaps/bootloader/fedora-media.vol"
%>
mkdir ${EFIBOOTDIR}
mkdir ${EFIBOOTDIR}/fonts/
%if efiarch64:
install boot/efi/EFI/*/shim${efiarch64|lower}.efi ${EFIBOOTDIR}/BOOT${efiarch64}.EFI
install boot/efi/EFI/*/mm${efiarch64|lower}.efi ${EFIBOOTDIR}/
install boot/efi/EFI/*/gcd${efiarch64|lower}.efi ${EFIBOOTDIR}/grub${efiarch64|lower}.efi
%endif
%if efiarch32:
install boot/efi/EFI/*/shim${efiarch32|lower}.efi ${EFIBOOTDIR}/BOOT${efiarch32}.EFI
install boot/efi/EFI/*/mm${efiarch32|lower}.efi ${EFIBOOTDIR}/
install boot/efi/EFI/*/gcd${efiarch32|lower}.efi ${EFIBOOTDIR}/grub${efiarch32|lower}.efi
%endif
install boot/grub2/fonts/unicode.pf2 ${EFIBOOTDIR}/fonts/
## actually make the EFI images
${make_efiboot("images/efiboot.img")}
%if domacboot:
${make_efiboot("images/macboot.img", imgtype="apple")}
%endif
## This is kinda gross, but then... so's EFI.
<%def name="make_efiboot(img, include_kernel=False, disk=False, imgtype='default')">
<%
kdir = EFIBOOTDIR if include_kernel else KERNELDIR
eficonf = "%s/grub.cfg" % (EFIBOOTDIR, )
args = "--label=ANACONDA"
if disk: args += " --disk"
if imgtype == "apple": args += ' --apple --icon=%s --diskname=%s --product="%s %s"' % (APPLE_EFI_ICON, APPLE_EFI_DISKNAME, product.name, product.version)
%>
%if include_kernel:
copy ${KERNELDIR}/vmlinuz ${EFIBOOTDIR}
copy ${KERNELDIR}/initrd.img ${EFIBOOTDIR}
%endif
install ${configdir}/grub2-efi.cfg ${eficonf}
replace @PRODUCT@ '${product.name}' ${eficonf}
replace @VERSION@ ${product.version} ${eficonf}
replace @KERNELNAME@ vmlinuz ${eficonf}
replace @KERNELPATH@ /${kdir}/vmlinuz ${eficonf}
replace @INITRDPATH@ /${kdir}/initrd.img ${eficonf}
replace @ISOLABEL@ '${isolabel}' ${eficonf}
replace @EXTRA@ '${extra_boot_args}' ${eficonf}
%if disk:
replace @ROOT@ root=live:LABEL=ANACONDA ${eficonf}
%else:
replace @ROOT@ 'root=live:CDLABEL=${isolabel|udev}' ${eficonf}
%endif
%if efiarch32 == 'IA32':
copy ${eficonf} ${EFIBOOTDIR}/BOOT.conf
%endif
runcmd mkefiboot ${args} ${outroot}/${EFIBOOTDIR} ${outroot}/${img}
%if include_kernel:
remove ${EFIBOOTDIR}/vmlinuz
remove ${EFIBOOTDIR}/initrd.img
%endif
</%def>

View File

@ -0,0 +1,30 @@
## livemedia-creator: Install packages needed for iso creation using per-arch templates
<%page args="basearch"/>
## arch-specific bootloader packages
%if basearch == "aarch64":
installpkg efibootmgr
installpkg grub2-efi-aa64-cdboot shim-aa64
%endif
%if basearch in ("arm", "armhfp"):
installpkg efibootmgr
installpkg grub2-efi-arm-cdboot
installpkg uboot-tools
%endif
%if basearch == "x86_64":
installpkg grub2-tools-efi
installpkg efibootmgr
installpkg shim-x64 grub2-efi-x64-cdboot
%endif
%if basearch in ("i386", "x86_64"):
installpkg biosdevname memtest86+ syslinux
installpkg grub2-tools grub2-tools-minimal grub2-tools-extra
%endif
%if basearch in ("ppc64le"):
installpkg powerpc-utils
installpkg grub2-tools grub2-tools-minimal grub2-tools-extra
installpkg grub2-${basearch}
%endif
%if basearch == "s390x":
installpkg s390utils-base
%endif

127
80-rhel/live/ppc.tmpl Normal file
View File

@ -0,0 +1,127 @@
<%page args="kernels, runtime_img, basearch, libdir, inroot, outroot, product, isolabel, extra_boot_args"/>
<%
configdir="tmp/config_files/ppc"
BOOTDIR="ppc"
GRUBDIR="boot/grub"
LIVEDIR="LiveOS"
MACDIR=BOOTDIR+"/mac"
NETBOOTDIR="images/netboot"
LORAXDIR="usr/share/lorax/"
WRAPPER="usr/sbin/wrapper"
WRAPPER_DATA="usr/"+libdir+"/kernel-wrapper"
prepboot = ""
## NOTE: yaboot freaks out and stops parsing its config if it sees a '\',
## so we can't use the udev escape sequences in the root arg.
## Instead we'll just replace any non-ASCII characters in the isolabel
## with '_', which means we won't need any udev escapes.
isolabel = ''.join(ch if ch.isalnum() else '_' for ch in isolabel)
from os.path import basename
%>
## Test ${runtime_img} to see if udf is needed
<%
import os
from pylorax.sysutils import joinpaths
if os.stat(joinpaths(inroot, runtime_img)).st_size >= 4*1024**3:
udfargs = "-allow-limited-size"
else:
udfargs = ""
%>
mkdir ${LIVEDIR}
install ${runtime_img} ${LIVEDIR}/squashfs.img
treeinfo stage2 mainimage ${LIVEDIR}/squashfs.img
## install bootloaders.
## NOTE: there's two different bootloader setups here:
## ppc/chrp: for normal PPC systems. needs 'addnote' run on yaboot.
## uses /etc/yaboot.conf, as is the default.
## ppc/mac: for PowerMacs. no 'addnote' (it breaks some Macs!)
## ofboot.b picks one of /ppc/ppc{32,64}/yaboot.conf for yaboot,
## thus automatically booting the correct kernel for the machine.
mkdir ${BOOTDIR}
## boot stuff for normal (CHRP/PREP) PPC systems
install ${configdir}/bootinfo.txt ${BOOTDIR}
mkdir ${GRUBDIR}/powerpc-ieee1275
runcmd grub2-mkimage -O powerpc-ieee1275 -d /usr/lib/grub/powerpc-ieee1275 -p '()/boot/grub' \
-o ${outroot}/${GRUBDIR}/powerpc-ieee1275/core.elf iso9660 ext2 ofnet net tftp http
install /usr/lib/grub/powerpc-ieee1275/*.mod ${GRUBDIR}/powerpc-ieee1275
install /usr/lib/grub/powerpc-ieee1275/*.lst ${GRUBDIR}/powerpc-ieee1275
install ${configdir}/grub.cfg.in ${GRUBDIR}/grub.cfg
replace @PRODUCT@ '${product.name}' ${GRUBDIR}/grub.cfg
replace @VERSION@ ${product.version} ${GRUBDIR}/grub.cfg
replace @ROOT@ 'root=live:CDLABEL=${isolabel|udev}' ${GRUBDIR}/grub.cfg
replace @EXTRA@ '${extra_boot_args}' ${GRUBDIR}/grub.cfg
install ${configdir}/mapping ${BOOTDIR}
## NOTE: PPC is kind of funky. There's three possible "arch" setups here:
## ppc, ppc64, ppc64le and 'hybrid' (ppc userspace, both ppc & ppc64 kernels).
## Install kernel and bootloader config (in separate places for each arch)
%for kernel in kernels:
<%
bits = 64 if kernel.arch in ("ppc64", "ppc64le") else 32
## separate dirs/images for each arch
KERNELDIR=BOOTDIR+"/ppc%s" % bits
NETIMG=NETBOOTDIR+"/ppc%s.img" % bits
%>
## install kernel
mkdir ${KERNELDIR} ${NETBOOTDIR}
installkernel images-${kernel.arch} ${kernel.path} ${KERNELDIR}/vmlinuz
installinitrd images-${kernel.arch} ${kernel.initrd.path} ${KERNELDIR}/initrd.img
## kernel-wrapper magic that makes the netboot combined ppc{32,64}.img
runcmd ${inroot}/${WRAPPER} -p of \
-D ${inroot}/${WRAPPER_DATA} \
-i ${outroot}/${KERNELDIR}/initrd.img \
${outroot}/${KERNELDIR}/vmlinuz \
-o ${outroot}/${NETIMG}
treeinfo images-${kernel.arch} zimage ${NETIMG}
## PReP is 32-bit only
%if bits == 32:
## Yes, this is supposed to be a relative path
<% prepboot="-prep-boot " + NETIMG %>
%endif
%endfor
# Create optional product.img and updates.img
<% filegraft=""; images=["product", "updates"] %>
%for img in images:
%if exists("%s/%s/" % (LORAXDIR, img)):
installimg ${LORAXDIR}/${img}/ images/${img}.img
treeinfo images-${basearch} ${img}.img images/${img}.img
<% filegraft += " images/{0}.img={1}/images/{0}.img".format(img, outroot) %>
%endif
%endfor
# Add the license files
%for f in glob("/usr/share/licenses/*-release/*"):
install ${f} ${f|basename}
<% filegraft += " {0}={1}/{0}".format(basename(f), outroot) %>
%endfor
## make boot.iso
runcmd mkisofs -o ${outroot}/images/boot.iso -chrp-boot -U \
${prepboot} -part -hfs -T -r -l -J \
-A "${product.name} ${product.version}" -sysid PPC -V '${isolabel}' \
-volset "${product.version}" -volset-size 1 -volset-seqno 1 \
-hfs-volid ${product.version} -hfs-bless ${outroot}/${MACDIR} \
-map ${inroot}/${configdir}/mapping \
-no-desktop -allow-multidot ${udfargs} \
-graft-points \
${BOOTDIR}=${outroot}/${BOOTDIR} \
${GRUBDIR}=${outroot}/${GRUBDIR} \
${NETBOOTDIR}=${outroot}/${NETBOOTDIR} \
${LIVEDIR}=${outroot}/${LIVEDIR} ${filegraft}
%for kernel in kernels:
treeinfo images-${kernel.arch} boot.iso images/boot.iso
%endfor

94
80-rhel/live/ppc64le.tmpl Normal file
View File

@ -0,0 +1,94 @@
<%page args="kernels, runtime_img, basearch, libdir, inroot, outroot, product, isolabel, extra_boot_args"/>
<%
configdir="tmp/config_files/ppc"
BOOTDIR="ppc"
GRUBDIR="boot/grub"
LIVEDIR="LiveOS"
LORAXDIR="usr/share/lorax/"
## NOTE: yaboot freaks out and stops parsing its config if it sees a '\',
## so we can't use the udev escape sequences in the root arg.
## Instead we'll just replace any non-ASCII characters in the isolabel
## with '_', which means we won't need any udev escapes.
isolabel = ''.join(ch if ch.isalnum() else '_' for ch in isolabel)
import os
from os.path import basename
from pylorax.sysutils import joinpaths
# Test the runtime_img, if it is > 4GiB we need to set -iso-level to 3
if os.stat(joinpaths(inroot, runtime_img)).st_size >= 4*1024**3:
isoargs = "-iso-level 3"
else:
isoargs = ""
%>
mkdir ${LIVEDIR}
install ${runtime_img} ${LIVEDIR}/squashfs.img
treeinfo stage2 mainimage ${LIVEDIR}/squashfs.img
## install the bootloaders
## ppc/chrp: for normal PPC systems.
## uses /ppc/bootinfo.txt in the iso root
## uses /boot/grub/grub.cfg in the iso root
mkdir ${BOOTDIR}
## boot stuff for normal (CHRP/PREP) PPC systems
install ${configdir}/bootinfo.txt ${BOOTDIR}
mkdir ${GRUBDIR}/powerpc-ieee1275
install /usr/lib/grub/powerpc-ieee1275/core.elf ${GRUBDIR}/powerpc-ieee1275
install /usr/lib/grub/powerpc-ieee1275/*.mod ${GRUBDIR}/powerpc-ieee1275
install /usr/lib/grub/powerpc-ieee1275/*.lst ${GRUBDIR}/powerpc-ieee1275
install ${configdir}/grub.cfg.in ${GRUBDIR}/grub.cfg
replace @PRODUCT@ '${product.name}' ${GRUBDIR}/grub.cfg
replace @VERSION@ ${product.version} ${GRUBDIR}/grub.cfg
replace @ROOT@ 'root=live:CDLABEL=${isolabel|udev}' ${GRUBDIR}/grub.cfg
replace @EXTRA@ '${extra_boot_args}' ${GRUBDIR}/grub.cfg
## Install kernel and bootloader config (in separate places for each arch)
%for kernel in kernels:
<%
bits = 64
## separate dirs/images for each arch
KERNELDIR=BOOTDIR+"/ppc%s" % bits
%>
## install kernel
mkdir ${KERNELDIR}
installkernel images-${kernel.arch} ${kernel.path} ${KERNELDIR}/vmlinuz
installinitrd images-${kernel.arch} ${kernel.initrd.path} ${KERNELDIR}/initrd.img
treeinfo images-${kernel.arch} zimage
%endfor
# Create optional product.img and updates.img
<% filegraft=""; images=["product", "updates"] %>
%for img in images:
%if exists("%s/%s/" % (LORAXDIR, img)):
installimg ${LORAXDIR}/${img}/ images/${img}.img
treeinfo images-${basearch} ${img}.img images/${img}.img
<% filegraft += " images/{0}.img={1}/images/{0}.img".format(img, outroot) %>
%endif
%endfor
# Add the license files
%for f in glob("/usr/share/licenses/*-release/*"):
install ${f} ${f|basename}
<% filegraft += " {0}={1}/{0}".format(basename(f), outroot) %>
%endfor
## make boot.iso
runcmd xorrisofs -v -U -J -R ${isoargs} \
-o ${outroot}/images/boot.iso \
-r -l -sysid PPC \
-A "${product.name} ${product.version}" -V '${isolabel}' \
-volset "${product.version}" -volset-size 1 -volset-seqno 1 \
-chrp-boot \
-graft-points \
${BOOTDIR}=${outroot}/${BOOTDIR} \
${GRUBDIR}=${outroot}/${GRUBDIR} \
${LIVEDIR}=${outroot}/${LIVEDIR} ${filegraft}
%for kernel in kernels:
treeinfo images-${kernel.arch} boot.iso images/boot.iso
%endfor

91
80-rhel/live/s390.tmpl Normal file
View File

@ -0,0 +1,91 @@
<%page args="kernels, runtime_img, runtime_base, basearch, outroot, isolabel, extra_boot_args"/>
<%
configdir="tmp/config_files/s390"
BOOTDIR="images"
KERNELDIR=BOOTDIR
INITRD_ADDRESS="0x02000000"
LIVEDIR="LiveOS"
LORAXDIR="usr/share/lorax/"
MKS390IMAGE="/usr/bin/mk-s390image"
# The assumption seems to be that there is only one s390 kernel, ever
kernel = kernels[0]
## Don't allow spaces or escape characters in the iso label
def valid_label(ch):
return ch.isalnum() or ch == '_'
isolabel = ''.join(ch if valid_label(ch) else '-' for ch in isolabel)
from os.path import basename
import os
from pylorax.sysutils import joinpaths
# Test the runtime_img, if it is > 4GiB we need to set -iso-level to 3
if os.stat(joinpaths(inroot, runtime_img)).st_size >= 4*1024**3:
isoargs = "-iso-level 3"
else:
isoargs = ""
%>
mkdir ${LIVEDIR}
install ${runtime_img} ${LIVEDIR}/squashfs.img
treeinfo stage2 mainimage ${LIVEDIR}/squashfs.img
mkdir ${BOOTDIR}
## install bootloader (such as it is) and bootloader config
install ${configdir}/redhat.exec ${BOOTDIR}
install ${configdir}/generic.prm ${BOOTDIR}
install ${configdir}/cdboot.prm ${BOOTDIR}
install ${configdir}/generic.ins .
## configure bootloader
replace @INITRD_LOAD_ADDRESS@ ${INITRD_ADDRESS} generic.ins
replace @EXTRA@ '${extra_boot_args}' ${BOOTDIR}/generic.prm
replace @ROOT@ 'root=live:CDLABEL=${isolabel|udev}' ${BOOTDIR}/cdboot.prm
replace @EXTRA@ '${extra_boot_args}' ${BOOTDIR}/cdboot.prm
## install kernel
installkernel images-${basearch} ${kernel.path} ${KERNELDIR}/kernel.img
installinitrd images-${basearch} ${kernel.initrd.path} ${KERNELDIR}/initrd.img
## s390 needs some extra boot config
createaddrsize ${INITRD_ADDRESS} ${outroot}/${BOOTDIR}/initrd.img ${outroot}/${BOOTDIR}/initrd.addrsize
## s390 also has some special treeinfo data
treeinfo images-${basearch} initrd.addrsize ${BOOTDIR}/initrd.addrsize
treeinfo images-${basearch} generic.prm ${BOOTDIR}/generic.prm
treeinfo images-${basearch} generic.ins generic.ins
treeinfo images-${basearch} redhat.exec ${BOOTDIR}/redhat.exec
treeinfo images-${basearch} cdboot.prm ${BOOTDIR}/cdboot.prm
# Create optional product.img and updates.img
<% filegraft=""; images=["product", "updates"] %>
%for img in images:
%if exists("%s/%s/" % (LORAXDIR, img)):
installimg ${LORAXDIR}/${img}/ images/${img}.img
treeinfo images-${basearch} ${img}.img images/${img}.img
<% filegraft += " images/{0}.img={1}/images/{0}.img".format(img, outroot) %>
%endif
%endfor
# Add the license files
%for f in glob("/usr/share/licenses/*-release/*"):
install ${f} ${f|basename}
<% filegraft += " {0}={1}/{0}".format(basename(f), outroot) %>
%endfor
## Make a combined kernel+initrd image for the iso
runcmd ${MKS390IMAGE} ${outroot}/${KERNELDIR}/kernel.img \
${outroot}/${BOOTDIR}/cdboot.img \
-r ${outroot}/${KERNELDIR}/initrd.img \
-p ${outroot}/${BOOTDIR}/cdboot.prm
## make boot.iso
runcmd xorrisofs ${isoargs} -o ${outroot}/images/boot.iso \
-b ${BOOTDIR}/cdboot.img -c ${BOOTDIR}/boot.cat \
-boot-load-size 4 -no-emul-boot \
-R -J -V '${isolabel}' -graft-points \
${BOOTDIR}=${outroot}/${BOOTDIR} \
${LIVEDIR}=${outroot}/${LIVEDIR} \
${filegraft}
treeinfo images-${basearch} boot.iso images/boot.iso

132
80-rhel/live/x86.tmpl Normal file
View File

@ -0,0 +1,132 @@
<%page args="kernels, runtime_img, basearch, inroot, outroot, product, isolabel, extra_boot_args"/>
<%
configdir="tmp/config_files/x86"
SYSLINUXDIR="usr/share/syslinux"
PXEBOOTDIR="images/pxeboot"
BOOTDIR="isolinux"
KERNELDIR=PXEBOOTDIR
LIVEDIR="LiveOS"
LORAXDIR="usr/share/lorax/"
## Don't allow spaces or escape characters in the iso label
def valid_label(ch):
return ch.isalnum() or ch == '_'
isolabel = ''.join(ch if valid_label(ch) else '-' for ch in isolabel)
import os
from os.path import basename
from pylorax.sysutils import joinpaths
# Test the runtime_img, if it is > 4GiB we need to set -iso-level to 3
if os.stat(joinpaths(inroot, runtime_img)).st_size >= 4*1024**3:
isoargs = "-iso-level 3"
else:
isoargs = ""
%>
mkdir ${LIVEDIR}
install ${runtime_img} ${LIVEDIR}/squashfs.img
treeinfo stage2 mainimage ${LIVEDIR}/squashfs.img
## install bootloader and config files
mkdir ${BOOTDIR}
install ${SYSLINUXDIR}/isolinux.bin ${BOOTDIR}
install ${SYSLINUXDIR}/vesamenu.c32 ${BOOTDIR}
install ${SYSLINUXDIR}/ldlinux.c32 ${BOOTDIR}
install ${SYSLINUXDIR}/libcom32.c32 ${BOOTDIR}
install ${SYSLINUXDIR}/libutil.c32 ${BOOTDIR}
install ${configdir}/isolinux.cfg ${BOOTDIR}
install ${configdir}/boot.msg ${BOOTDIR}
install ${configdir}/grub.conf ${BOOTDIR}
install usr/share/anaconda/boot/syslinux-splash.png ${BOOTDIR}/splash.png
install boot/memtest* ${BOOTDIR}/memtest
## configure bootloader
replace @VERSION@ ${product.version} ${BOOTDIR}/grub.conf ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg
replace @PRODUCT@ '${product.name}' ${BOOTDIR}/grub.conf ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg
replace @ROOT@ 'root=live:CDLABEL=${isolabel|udev}' ${BOOTDIR}/isolinux.cfg
replace @EXTRA@ '${extra_boot_args}' ${BOOTDIR}/isolinux.cfg
## install kernels
mkdir ${KERNELDIR}
%for kernel in kernels:
%if kernel.flavor:
installkernel images-xen ${kernel.path} ${KERNELDIR}/vmlinuz-${kernel.flavor}
installinitrd images-xen ${kernel.initrd.path} ${KERNELDIR}/initrd-${kernel.flavor}.img
%else:
installkernel images-${basearch} ${kernel.path} ${KERNELDIR}/vmlinuz
installinitrd images-${basearch} ${kernel.initrd.path} ${KERNELDIR}/initrd.img
%endif
%endfor
hardlink ${KERNELDIR}/vmlinuz ${BOOTDIR}
hardlink ${KERNELDIR}/initrd.img ${BOOTDIR}
%if basearch == 'x86_64':
treeinfo images-xen kernel ${KERNELDIR}/vmlinuz
treeinfo images-xen initrd ${KERNELDIR}/initrd.img
%endif
## WHeeeeeeee, EFI.
<% efiargs=""; efigraft=""; efiarch32=None; efiarch64=None %>
%if exists("boot/efi/EFI/*/gcdia32.efi"):
<% efiarch32 = 'IA32' %>
%endif
%if exists("boot/efi/EFI/*/gcdx64.efi"):
<% efiarch64 = 'X64' %>
%endif
%if (efiarch32 or efiarch64) and basearch != 'i386':
<%
efigraft="EFI/BOOT={0}/EFI/BOOT".format(outroot)
images = [("images/efiboot.img", "-isohybrid-gpt-basdat")]
if domacboot:
images.append(("images/macboot.img", "-isohybrid-gpt-hfsplus"))
%>
%for img, hybrid in images:
<%
efiargs += " -eltorito-alt-boot -e {0} -no-emul-boot {1}".format(img, hybrid)
efigraft += " {0}={1}/{0}".format(img,outroot)
%>
treeinfo images-${basearch} ${img|basename} ${img}
%endfor
<%include file="efi.tmpl" args="configdir=configdir, KERNELDIR=KERNELDIR, efiarch32=efiarch32, efiarch64=efiarch64, isolabel=isolabel, extra_boot_args=extra_boot_args"/>
%endif
# Create optional product.img and updates.img
<% filegraft=""; images=["product", "updates"]; compressargs=""; %>
%if basearch == 'i386':
# Limit the amount of memory xz uses on i386
<% compressargs="--xz -9 --memlimit-compress=3700MiB" %>
%endif
%for img in images:
%if exists("%s/%s/" % (LORAXDIR, img)):
installimg ${compressargs} ${LORAXDIR}/${img}/ images/${img}.img
treeinfo images-${basearch} ${img}.img images/${img}.img
<% filegraft += " images/{0}.img={1}/images/{0}.img".format(img, outroot) %>
%endif
%endfor
# Add the license files
%for f in glob("/usr/share/licenses/*-release/*"):
install ${f} ${f|basename}
<% filegraft += " {0}={1}/{0}".format(basename(f), outroot) %>
%endfor
# Add the livecd-iso-to-disk script if installed
<% f = "usr/bin/livecd-iso-to-disk" %>
%if exists(f):
install ${f} ${LIVEDIR}/${f|basename}
%endif
## make boot.iso
runcmd xorrisofs ${isoargs} -o ${outroot}/images/boot.iso \
-isohybrid-mbr /usr/share/syslinux/isohdpfx.bin \
-b ${BOOTDIR}/isolinux.bin -c ${BOOTDIR}/boot.cat \
-boot-load-size 4 -boot-info-table -no-emul-boot \
${efiargs} -R -J -V '${isolabel}' \
-graft-points \
${BOOTDIR}=${outroot}/${BOOTDIR} \
${KERNELDIR}=${outroot}/${KERNELDIR} \
${LIVEDIR}=${outroot}/${LIVEDIR} \
${efigraft} ${filegraft}
treeinfo images-${basearch} boot.iso images/boot.iso

117
80-rhel/ppc.tmpl Normal file
View File

@ -0,0 +1,117 @@
<%page args="kernels, runtime_img, basearch, libdir, inroot, outroot, product, isolabel"/>
<%
configdir="tmp/config_files/ppc"
BOOTDIR="ppc"
GRUBDIR="boot/grub"
STAGE2IMG="images/install.img"
MACDIR=GRUBDIR+"/powerpc-ieee1275"
LORAXDIR="usr/share/lorax/"
## NOTE: yaboot freaks out and stops parsing its config if it sees a '\',
## so we can't use the udev escape sequences in the root arg.
## Instead we'll just replace any non-ASCII characters in the isolabel
## with '_', which means we won't need any udev escapes.
isolabel = ''.join(ch if ch.isalnum() else '_' for ch in isolabel)
## Anaconda finds the CDROM device automatically
rootarg = ""
from os.path import basename
%>
## Test ${runtime_img} to see if udf is needed
<%
import os
from pylorax.sysutils import joinpaths
if os.stat(joinpaths(inroot, runtime_img)).st_size >= 4*1024**3:
udfargs = "-allow-limited-size"
else:
udfargs = ""
%>
mkdir images
install ${runtime_img} ${STAGE2IMG}
treeinfo stage2 mainimage ${STAGE2IMG}
## install bootloaders.
## NOTE: there's two different bootloader setups here:
## ppc/chrp: for normal PPC systems. needs 'addnote' run on yaboot.
## uses /etc/yaboot.conf, as is the default.
## ppc/mac: for PowerMacs. no 'addnote' (it breaks some Macs!)
## ofboot.b picks one of /ppc/ppc{32,64}/yaboot.conf for yaboot,
## thus automatically booting the correct kernel for the machine.
mkdir ${BOOTDIR}
## boot stuff for normal (CHRP/PREP) PPC systems
install ${configdir}/bootinfo.txt ${BOOTDIR}
mkdir ${GRUBDIR}/powerpc-ieee1275
## "()" means the current device to grub2
runcmd grub2-mkimage --format=powerpc-ieee1275 --directory=/usr/lib/grub/powerpc-ieee1275 --prefix="()/"${GRUBDIR} \
--output=${outroot}/${GRUBDIR}/powerpc-ieee1275/core.elf iso9660 ext2 ofnet net tftp http
install /usr/lib/grub/powerpc-ieee1275/*.mod ${GRUBDIR}/powerpc-ieee1275
install /usr/lib/grub/powerpc-ieee1275/*.lst ${GRUBDIR}/powerpc-ieee1275
install ${configdir}/grub.cfg.in ${GRUBDIR}/grub.cfg
replace @PRODUCT@ '${product.name}' ${GRUBDIR}/grub.cfg
replace @VERSION@ ${product.version} ${GRUBDIR}/grub.cfg
replace @ROOT@ "${rootarg}" ${GRUBDIR}/grub.cfg
install ${configdir}/mapping ${BOOTDIR}
## NOTE: PPC is kind of funky. There's three possible "arch" setups here:
## ppc, ppc64, ppc64le, and 'hybrid' (ppc userspace, both ppc & ppc64 kernels).
## Install kernel and bootloader config (in separate places for each arch)
%for kernel in kernels:
<%
bits = 64
## separate dirs/images for each arch
KERNELDIR=BOOTDIR+"/ppc%s" % bits
%>
## install kernel
mkdir ${KERNELDIR}
installkernel images-${kernel.arch} ${kernel.path} ${KERNELDIR}/vmlinuz
installinitrd images-${kernel.arch} ${kernel.initrd.path} ${KERNELDIR}/initrd.img
treeinfo images-${kernel.arch} zimage
%endfor
# Create optional product.img and updates.img
<% filegraft=""; images=["product", "updates"] %>
%for img in images:
%if exists("%s/%s/" % (LORAXDIR, img)):
installimg ${LORAXDIR}/${img}/ images/${img}.img
treeinfo images-${basearch} ${img}.img images/${img}.img
<% filegraft += " images/{0}.img={1}/images/{0}.img".format(img, outroot) %>
%endif
%endfor
# Inherit iso-graft/ if it exists from external templates
<%
import os
if os.path.exists(workdir + "/iso-graft"):
filegraft += " " + workdir + "/iso-graft"
%>
# Add the license files
%for f in glob("/usr/share/licenses/*-release/*"):
install ${f} ${f|basename}
<% filegraft += " {0}={1}/{0}".format(basename(f), outroot) %>
%endfor
## make boot.iso
runcmd mkisofs -o ${outroot}/images/boot.iso -chrp-boot -U \
-part -hfs -T -r -l -J \
-A "${product.name} ${product.version}" -sysid PPC -V '${isolabel}' \
-volset "${product.version}" -volset-size 1 -volset-seqno 1 \
-hfs-volid ${product.version} -hfs-bless ${outroot}/${MACDIR} \
-map ${inroot}/${configdir}/mapping \
-no-desktop -allow-multidot ${udfargs} -graft-points \
.discinfo=${outroot}/.discinfo \
${BOOTDIR}=${outroot}/${BOOTDIR} \
${GRUBDIR}=${outroot}/${GRUBDIR} \
${STAGE2IMG}=${outroot}/${STAGE2IMG} ${filegraft}
%for kernel in kernels:
treeinfo images-${kernel.arch} boot.iso images/boot.iso
%endfor

101
80-rhel/ppc64le.tmpl Normal file
View File

@ -0,0 +1,101 @@
<%page args="kernels, runtime_img, basearch, libdir, inroot, outroot, product, isolabel"/>
<%
configdir="tmp/config_files/ppc"
BOOTDIR="ppc"
GRUBDIR="boot/grub"
STAGE2IMG="images/install.img"
LORAXDIR="usr/share/lorax/"
## Don't allow spaces or escape characters in the iso label
def valid_label(ch):
return ch.isalnum() or ch == '_'
isolabel = ''.join(ch if valid_label(ch) else '-' for ch in isolabel)
import os
from os.path import basename
from pylorax.sysutils import joinpaths
# Test the runtime_img, if it is > 4GiB we need to set -iso-level to 3
if os.stat(joinpaths(inroot, runtime_img)).st_size >= 4*1024**3:
isoargs = "-iso-level 3"
else:
isoargs = ""
%>
mkdir images
install ${runtime_img} ${STAGE2IMG}
treeinfo stage2 mainimage ${STAGE2IMG}
## install the bootloaders
## ppc/chrp: for normal PPC systems.
## uses /ppc/bootinfo.txt in the iso root
## uses /boot/grub/grub.cfg in the iso root
mkdir ${BOOTDIR}
## boot stuff for normal (CHRP/PREP) PPC systems
install ${configdir}/bootinfo.txt ${BOOTDIR}
mkdir ${GRUBDIR}/powerpc-ieee1275
install /usr/lib/grub/powerpc-ieee1275/core.elf ${GRUBDIR}/powerpc-ieee1275
install /usr/lib/grub/powerpc-ieee1275/*.mod ${GRUBDIR}/powerpc-ieee1275
install /usr/lib/grub/powerpc-ieee1275/*.lst ${GRUBDIR}/powerpc-ieee1275
install ${configdir}/grub.cfg.in ${GRUBDIR}/grub.cfg
replace @PRODUCT@ '${product.name}' ${GRUBDIR}/grub.cfg
replace @VERSION@ ${product.version} ${GRUBDIR}/grub.cfg
replace @ROOT@ 'inst.stage2=hd:LABEL=${isolabel|udev}' ${GRUBDIR}/grub.cfg
## Install kernel and bootloader config (in separate places for each arch)
%for kernel in kernels:
<%
bits = 64
## separate dirs/images for each arch
KERNELDIR=BOOTDIR+"/ppc%s" % bits
%>
## install kernel
mkdir ${KERNELDIR}
installkernel images-${kernel.arch} ${kernel.path} ${KERNELDIR}/vmlinuz
installinitrd images-${kernel.arch} ${kernel.initrd.path} ${KERNELDIR}/initrd.img
treeinfo images-${kernel.arch} zimage
%endfor
# Create optional product.img and updates.img
<% filegraft=""; images=["product", "updates"] %>
%for img in images:
%if exists("%s/%s/" % (LORAXDIR, img)):
installimg ${LORAXDIR}/${img}/ images/${img}.img
treeinfo images-${basearch} ${img}.img images/${img}.img
<% filegraft += " images/{0}.img={1}/images/{0}.img".format(img, outroot) %>
%endif
%endfor
# Inherit iso-graft/ if it exists from external templates
<%
import os
if os.path.exists(workdir + "/iso-graft"):
filegraft += " " + workdir + "/iso-graft"
%>
# Add the license files
%for f in glob("/usr/share/licenses/*-release/*"):
install ${f} ${f|basename}
<% filegraft += " {0}={1}/{0}".format(basename(f), outroot) %>
%endfor
## make boot.iso
runcmd xorrisofs -v -U -J -R ${isoargs} \
-o ${outroot}/images/boot.iso \
-r -l -sysid PPC \
-A "${product.name} ${product.version}" -V '${isolabel}' \
-volset "${product.version}" -volset-size 1 -volset-seqno 1 \
-chrp-boot \
-graft-points \
.discinfo=${outroot}/.discinfo \
${BOOTDIR}=${outroot}/${BOOTDIR} \
${GRUBDIR}=${outroot}/${GRUBDIR} \
${STAGE2IMG}=${outroot}/${STAGE2IMG} ${filegraft}
%for kernel in kernels:
treeinfo images-${kernel.arch} boot.iso images/boot.iso
%endfor

View File

@ -0,0 +1,3 @@
# PXE configuration template generated by livemedia-creator
kernel <PXE_DIR>${kernel}
append initrd=<PXE_DIR>${initrd} root=live:<URL>/${liveimg} ${addargs}

View File

@ -0,0 +1,365 @@
## lorax template file: cleanup for the ramdisk (runtime image)
<%page args="libdir, branding, root"/>
## remove the sources
remove usr/share/i18n
## not required packages installed as dependencies
## perl is needed on s390x
## perl needed for powerpc-utils on PPC
## perl is needed by /usr/bin/rxe_cfg from libibverbs
## no sound support, thanks
removepkg flac gstreamer-tools libsndfile pulseaudio* sound-theme-freedesktop
## we don't create new initramfs/bootloader conf inside anaconda
## (that happens inside the target system after we install dracut/grubby)
removepkg dracut-network grubby anaconda-dracut
## In order to execute the /usr move on upgrades we need convertfs from dracut
## We also need dracut-shutdown.service and dracut-initramfs-restore to reboot
removefrom dracut --allbut /usr/lib/dracut/modules.d/30convertfs/convertfs.sh \
/usr/lib/dracut/modules.d/99base/dracut-lib.sh \
/usr/lib/systemd/* /usr/lib/dracut/modules.d/98dracut-systemd/*.service \
/usr/lib/dracut/dracut-initramfs-restore
## we don't run SELinux (not in enforcing, anyway)
removepkg checkpolicy selinux-policy libselinux-utils
## selinux checks for the /etc/selinux/config file's existance
## The removepkg above removes it, create an empty one. See rhbz#1243168
append etc/selinux/config ""
## anaconda has its own repo files
removefrom fedora-release --allbut /etc/os-release /usr/lib/os-release \
/usr/lib/os.release.d/*
removepkg fedora-release-rawhide
## keep enough of shadow-utils to create accounts
removefrom shadow-utils --allbut /usr/bin/chage /usr/sbin/chpasswd \
/usr/sbin/groupadd /usr/sbin/useradd \
/etc/default/useradd
## remove other account management tools
removepkg usermode usermode-gtk passwd
## no services to turn on/off (keep the /etc/init.d link though)
removefrom chkconfig --allbut /etc/init.d
## Miscellanous unnecessary gpg program
removepkg pinentry
## no storage device monitoring
removepkg device-mapper-event dmraid-events sgpio
## no notifications in anaconda
removepkg notification-daemon
## logrotate isn't useful in anaconda
removepkg logrotate
remove /etc/logrotate.d
## anaconda needs this to do media check
removefrom isomd5sum --allbut /usr/bin/checkisomd5
## systemd-nspawn isn't very useful and doesn't link anyway without iptables,
## and there's no need for a bunch of zsh files without zsh
removefrom systemd /usr/bin/systemd-nspawn /usr/share/zsh
## various other things we remove to save space
removepkg avahi-autoipd coreutils-libs dash db4-utils diffutils file
removepkg info iptables
removepkg jasper-libs libXxf86misc
removepkg libasyncns libhbaapi libhbalinux
removepkg libtiff linux-atm-libs
removepkg lvm2-libs m4 mailx makebootfat
removepkg mingetty mobile-broadband-provider-info pkgconfig ppp pth
removepkg rmt rpcbind squashfs-tools system-config-firewall-base
removepkg tigervnc-license ttmkfdir xml-common xorg-x11-font-utils
removepkg xorg-x11-server-common yum-utils firewalld
## other removals
remove /home /media /opt /srv /tmp/*
remove /usr/etc /usr/games /usr/local /usr/tmp
remove /usr/share/doc /usr/share/info /usr/share/man /usr/share/gnome
remove /usr/share/mime/application /usr/share/mime/audio /usr/share/mime/image
remove /usr/share/mime/inode /usr/share/mime/message /usr/share/mime/model
remove /usr/share/mime/multipart /usr/share/mime/packages /usr/share/mime/text
remove /usr/share/mime/video /usr/share/mime/x-content /usr/share/mime/x-epoc
remove /var/db /var/games /var/tmp /var/yp /var/nis /var/opt /var/local
remove /var/mail /var/spool /var/preserve /var/report
remove /var/lib/rpm/* /var/lib/yum /var/lib/dnf
## clean up the files created by various '> /dev/null's
remove /dev/*
## icons cache
remove /usr/share/icons/*/icon-theme.cache
## clean up kernel modules
removekmod sound drivers/media drivers/hwmon \
net/atm net/bluetooth net/sched net/sctp \
net/rds net/l2tp net/decnet net/netfilter net/ipv4 net/ipv6 \
drivers/watchdog drivers/rtc drivers/input/joystick \
drivers/bluetooth drivers/edac drivers/staging \
drivers/usb/serial drivers/usb/host drivers/usb/misc \
fs/ocfs2 fs/ceph fs/nfsd fs/ubifs fs/nilfs2 \
arch/x86/kvm
## Need to keep virtio_console.ko and ipmi stuff in drivers/char
## Also keep virtio-rng so that the installer can get sufficient randomness for
## LUKS setup.
removekmod drivers/char --allbut virtio_console hw_random \
virtio-rng ipmi hmcdrv nvram
removekmod drivers/hid --allbut hid-logitech-dj hid-logitech-hidpp hid-multitouch
removekmod drivers/video --allbut hyperv_fb syscopyarea sysfillrect sysimgblt fb_sys_fops
remove lib/modules/*/{build,source,*.map}
## NOTE: depmod gets re-run after cleanup finishes
## remove unused themes, theme engines, icons, etc.
removefrom gtk2 /usr/${libdir}/gtk-2.0/*/{engines,printbackends}/*
removefrom gtk2 /usr/share/themes/*
## clearlooks is the theme we use for gtk2
removefrom gtk2-engines --allbut /usr/${libdir}/*/libclearlooks.so \
/usr/share/themes/Clearlooks/*
removefrom gtk3 /usr/${libdir}/gtk-3.0/*/printbackends/*
removefrom gtk3 /usr/share/themes/*
## filesystem tools
removefrom e2fsprogs /usr/share/locale/*
removefrom xfsprogs /usr/share/locale/* /usr/share/doc/* /usr/share/man/*
removefrom xfsdump --allbut /usr/sbin/*
## other package specific removals
removefrom GConf2 /etc/rpm/* /etc/xdg/* /usr/bin/*
removefrom GConf2 /usr/${libdir}/GConf/2/libgconfbackend-{evoldap,oldxml}*
removefrom GConf2 /usr/${libdir}/gio/modules/*
removefrom GConf2 /usr/libexec/gconf-defaults-mechanism /usr/share/GConf/*
removefrom GConf2 /usr/share/locale/* /usr/share/sgml/*
removefrom NetworkManager /usr/share/NetworkManager/*
removefrom NetworkManager /usr/share/locale/*/NetworkManager.mo
removefrom nm-connection-editor /usr/${libdir}/*
removefrom nm-connection-editor /usr/share/applications/*
removefrom anaconda /etc/* /usr/share/applications/* /usr/share/icons/*
removefrom atk /usr/share/locale/*
removefrom audit /etc/* /sbin/audispd /sbin/auditctl /sbin/aureport
removefrom audit /sbin/ausearch /sbin/autrace /usr/bin/*
removefrom audit-libs /etc/* /${libdir}/libauparse*
removefrom authconfig /usr/sbin/* /usr/share/*
removefrom bash /etc/* /usr/bin/bashbug* /usr/share/*
removefrom bind-utils /usr/bin/dig /usr/bin/host /usr/bin/nsupdate
removefrom bitmap-fangsongti-fonts /usr/share/fonts/*
removefrom ca-certificates /etc/pki/java/*
removefrom ca-certificates /etc/pki/tls/certs/ca-bundle.trust.crt /etc/ssl/*
removefrom cairo /usr/${libdir}/libcairo-script* /usr/bin/cairo-sphinx
removefrom coreutils /etc/* /usr/bin/link /usr/bin/nice /usr/bin/stty /usr/bin/su /usr/bin/unlink
removefrom coreutils /usr/sbin/runuser /usr/bin/[ /usr/bin/base64 /usr/bin/chcon
removefrom coreutils /usr/bin/cksum /usr/bin/comm /usr/bin/csplit
removefrom coreutils /usr/bin/dir /usr/bin/dircolors
removefrom coreutils /usr/bin/expand /usr/bin/factor
removefrom coreutils /usr/bin/fold /usr/bin/groups /usr/bin/hostid
removefrom coreutils /usr/bin/install /usr/bin/join /usr/bin/logname
removefrom coreutils /usr/bin/mkfifo /usr/bin/nl /usr/bin/nohup /usr/bin/nproc
removefrom coreutils /usr/bin/pathchk
removefrom coreutils /usr/bin/pinky /usr/bin/pr /usr/bin/printenv
removefrom coreutils /usr/bin/printf /usr/bin/ptx /usr/bin/runcon
removefrom coreutils /usr/bin/sha224sum /usr/bin/sha384sum
removefrom coreutils /usr/bin/sha512sum /usr/bin/shuf /usr/bin/stat
removefrom coreutils /usr/bin/stdbuf /usr/bin/sum /usr/bin/test
removefrom coreutils /usr/bin/timeout /usr/bin/truncate /usr/bin/tsort
removefrom coreutils /usr/bin/unexpand /usr/bin/users /usr/bin/vdir
removefrom coreutils /usr/bin/who /usr/bin/whoami /usr/bin/yes /usr/share/*
removefrom cpio /usr/share/*
removefrom cracklib /usr/sbin/*
removefrom cracklib-dicts /usr/${libdir}/* /usr/sbin/*
removefrom cryptsetup-luks /usr/share/*
removefrom cyrus-sasl-lib /usr/sbin/*
removefrom db4 /usr/*
removefrom dbus-glib /usr/bin/*
removefrom dbus-x11 /etc/X11/*
removefrom dejavu-sans-fonts --allbut *.conf */DejaVuSans{,-Bold}.ttf
removefrom dejavu-sans-mono-fonts --allbut *.conf */DejaVuSansMono.ttf
removefrom dhclient /usr/lib/* /usr/share/*
removefrom dnsmasq /etc/rc.d/* /usr/sbin/*
removefrom elfutils-libelf /usr/share/locale/*
removefrom expat /usr/bin/*
removefrom fcoe-utils /etc/rc.d/* /usr/libexec/fcoe/dcbcheck.sh
removefrom fcoe-utils /usr/libexec/fcoe/fcc.sh /usr/libexec/fcoe/fcoe-setup.sh
removefrom fcoe-utils /usr/libexec/fcoe/fcoedump.sh /usr/sbin/fcnsq
removefrom fcoe-utils /usr/sbin/fcoeadm /usr/sbin/fcping /usr/sbin/fcrls
removefrom file-libs /usr/share/*
removefrom findutils /usr/bin/oldfind /usr/share/*
removefrom fontconfig /usr/bin/*
removefrom gawk /usr/bin/{igawk,pgawk} /usr/libexec/* /usr/share/*
removefrom gdb /usr/share/* /usr/include/* /etc/gdbinit*
removefrom gdisk /usr/share/*
removefrom gdk-pixbuf2 /usr/share/locale*
removefrom glib2 /etc/* /usr/bin/* /usr/share/locale/*
removefrom glibc /etc/gai.conf /etc/localtime /etc/rpc
removefrom glibc /lib/*/nosegneg/* /${libdir}/libBrokenLocale*
removefrom glibc /${libdir}/libSegFault* /${libdir}/libanl*
removefrom glibc /${libdir}/libcidn* /${libdir}/libnss_compat*
removefrom glibc /${libdir}/libnss_hesiod* /${libdir}/libnss_nis*
# python-pyudev uses ctypes.util.find_library, which uses /sbin/ldconfig
removefrom glibc /${libdir}/rtkaio* /sbin/sln
removefrom glibc /usr/libexec/* /usr/sbin/*
removefrom glibc-common /etc/* /usr/bin/catchsegv /usr/bin/gencat
removefrom glibc-common /usr/bin/getent
removefrom glibc-common /usr/bin/locale /usr/bin/rpcgen /usr/bin/sprof
# NB: we keep /usr/bin/localedef so anaconda can inspect payload locale info
removefrom glibc-common /usr/bin/tzselect
removefrom glibc-common /usr/libexec/* /usr/sbin/*
removefrom gmp /usr/${libdir}/libgmpxx.* /usr/${libdir}/libmp.*
removefrom gnome-bluetooth-libs /usr/${libdir}/libgnome-bluetooth*
removefrom gnome-bluetooth-libs /usr/share/*
removefrom gnutls /usr/share/locale/*
removefrom google-noto-sans-cjk-ttc-fonts /usr/share/fonts/google-noto-cjk/NotoSansCJK-{Black,Bold,*Light,Medium,Thin}.ttc
removefrom grep /etc/* /usr/share/locale/*
removefrom gstreamer /usr/bin/* /usr/${libdir}/gstreamer-0.10/*
removefrom gstreamer /usr/${libdir}/libgst* /usr/libexec/* /usr/share/locale/*
removefrom gtk2 /usr/bin/update-gtk-immodules
removefrom gtk3 /usr/${libdir}/gtk-3.0/*
removefrom gzip /usr/bin/{gzexe,zcmp,zdiff,zegrep,zfgrep,zforce,zgrep,zless,zmore,znew}
removefrom hwdata /etc/* /usr/share/hwdata/oui.txt /usr/share/hwdata/pnp.ids
removefrom hwdata /usr/share/hwdata/upgradelist
removefrom initscripts /etc/ppp/* /usr/sbin/* /usr/share/locale/*
removefrom iproute --allbut /usr/sbin/{ip,routef,routel,rtpr}
removefrom iscsi-initiator-utils /etc/rc.d/*
removefrom kbd --allbut */bin/{dumpkeys,kbd_mode,loadkeys,setfont,unicode_*,chvt}
removefrom less /etc/*
removefrom libX11-common /usr/share/X11/XErrorDB
removefrom libbonobo /etc/* /usr/bin/* /usr/sbin/* /usr/share/locale/*
removefrom libbonobo /usr/${libdir}/bonobo/monikers/*
removefrom libbonobo /usr/${libdir}/orbit-2.0/Bonobo_module.so
removefrom libcanberra /usr/${libdir}/libcanberra-*
removefrom libcanberra-gtk2 /usr/${libdir}/gtk-2.0/*
removefrom libcanberra-gtk3 /usr/bin/*
removefrom libcap /usr/sbin/*
removefrom libconfig /usr/${libdir}/libconfig++*
removefrom libcroco /usr/bin/*
removefrom libgnome-keyring /usr/share/locale/*
removefrom libgnomecanvas /usr/share/locale/*
removefrom libgpg-error /usr/bin/* /usr/share/locale/*
removefrom libgssglue /etc/*
removefrom libidn /usr/bin/* /usr/share/locale/*
removefrom libmlx4 /etc/rdma/* /usr/${libdir}/*
removefrom libnotify /usr/bin/*
removefrom librsvg2 /usr/bin/*
removefrom libselinux /usr/sbin/*
removefrom libsemanage /etc/selinux/*
removefrom libstdc++ /usr/share/*
removefrom libuser /usr/bin/* /usr/sbin/* /usr/share/locale/*
removefrom libvorbis /usr/${libdir}/libvorbisenc.*
removefrom libxml2 /usr/bin/*
removefrom libxml2-python /usr/${libdir}/python?.?/site-packages/libxml2mod.a
removefrom libxml2-python /usr/${libdir}/python?.?/site-packages/libxml2mod.la
removefrom lldpad /etc/*
removefrom lua /usr/bin/*
removefrom madan-fonts /usr/share/fonts/madan/*
removefrom mdadm /etc/*
removefrom module-init-tools /etc/* /usr/sbin/insmod.static /usr/sbin/weak-modules
removefrom mt-st /etc/* /usr/sbin/*
removefrom mtools /etc/*
removefrom ncurses /usr/bin/captoinfo /usr/bin/infocmp /usr/bin/infotocap
removefrom ncurses /usr/bin/reset /usr/bin/tabs /usr/bin/tic /usr/bin/toe
removefrom ncurses /usr/bin/tput /usr/bin/tset
removefrom ncurses-libs /usr/${libdir}/libform*
## libmenu.so is needed by lp_diag binary from ppc64-diag which is a PowerPc specific package
%if basearch not in ("ppc", "ppc64", "ppc64le"):
removefrom ncurses-libs /usr/${libdir}/libmenu*
%endif
removefrom ncurses-libs /usr/${libdir}/libpanel.* /usr/${libdir}/libtic*
removefrom net-tools */bin/netstat */sbin/ether-wake */sbin/ipmaddr
removefrom net-tools */sbin/iptunnel */sbin/mii-diag */sbin/mii-tool
removefrom net-tools */sbin/nameif */sbin/plipconfig */sbin/slattach
removefrom net-tools /usr/share/locale/*
removefrom newt /usr/share/locale/*
removefrom nfs-utils /etc/nfsmount.conf
removefrom nfs-utils /etc/rc.d/init.d/* /lib/systemd/system/*
removefrom nfs-utils /etc/sysconfig/nfs /sbin/rpc.statd /usr/sbin/exportfs
removefrom nfs-utils /usr/sbin/gss_clnt_send_err /usr/sbin/gss_destroy_creds
removefrom nfs-utils /usr/sbin/mountstats /usr/sbin/nfsiostat
removefrom nfs-utils /usr/sbin/nfsstat /usr/sbin/rpc.gssd /usr/sbin/rpc.idmapd
removefrom nfs-utils /usr/sbin/rpc.mountd /usr/sbin/rpc.nfsd
removefrom nfs-utils /usr/sbin/rpc.svcgssd /usr/sbin/rpcdebug
removefrom nfs-utils /usr/sbin/showmount /usr/sbin/sm-notify
removefrom nfs-utils /usr/sbin/start-statd /var/lib/nfs/etab
removefrom nfs-utils /var/lib/nfs/rmtab /var/lib/nfs/state /var/lib/nfs/xtab
removefrom nss-softokn /usr/${libdir}/nss/*
removefrom openldap /etc/openldap/*
removefrom openssh /usr/libexec/*
removefrom openssh-clients /etc/ssh/* /usr/bin/ssh-*
removefrom openssh-clients /usr/libexec/*
removefrom openssh-server /etc/ssh/* /usr/libexec/openssh/sftp-server
removefrom openssl /etc/pki/* /usr/bin/* /usr/${libdir}/openssl/*
removefrom pam /usr/sbin/* /usr/share/locale/*
removefrom policycoreutils /etc/* /usr/bin/* /usr/share/locale/*
removefrom polkit /usr/bin/*
removefrom polkit-desktop-policy /var/lib/*
removefrom popt /usr/share/locale/*
removefrom procps /usr/bin/free /usr/bin/pgrep /usr/bin/pkill
removefrom procps /usr/bin/pmap /usr/bin/pwdx /usr/bin/skill /usr/bin/slabtop
removefrom procps /usr/bin/snice /usr/bin/tload /usr/bin/uptime
removefrom procps /usr/bin/vmstat /usr/bin/w /usr/bin/watch
removefrom psmisc /usr/share/locale/*
removefrom pygtk2 /usr/bin/* /usr/${libdir}/pygtk/*
removefrom pykickstart /usr/bin/* /usr/share/locale/*
removefrom readline /usr/${libdir}/libhistory*
removefrom libreport /usr/bin/* /usr/share/locale/*
removefrom rpm /usr/share/locale/*
removefrom rsync /etc/*
removefrom sed /usr/share/locale/*
removefrom smartmontools /etc/* /usr/sbin/smartd
removefrom smartmontools /usr/sbin/update-smart-drivedb
removefrom smartmontools /usr/share/smartmontools/*
removefrom sqlite /usr/bin/*
removefrom system-config-date /etc/* /usr/bin/* /usr/share/icons/*
removefrom system-config-keyboard /etc/* /usr/bin/* /usr/share/icons/*
removefrom sysvinit-tools /usr/bin/*
removefrom tar /usr/share/locale/*
removefrom usbutils /usr/bin/*
removefrom util-linux --allbut \
/usr/bin/{dmesg,eject,getopt,kill,login,lsblk,more,mount,umount,mountpoint,findmnt} \
/etc/mtab /etc/pam.d/login /etc/pam.d/remote \
/usr/sbin/{agetty,blkid,blockdev,clock,fdisk,fsck,fstrim,hwclock,losetup} \
/usr/sbin/{mkswap,swaplabel,nologin,sfdisk,swapoff,swapon,wipefs,partx,fsfreeze} \
/usr/bin/{logger,hexdump,flock,lscpu,chmem,lsmem,setpriv}
removefrom volume_key-libs /usr/share/locale/*
removefrom wget /etc/* /usr/share/locale/*
removefrom xorg-x11-drv-intel /usr/${libdir}/libI*
removefrom xorg-x11-drv-openchrome /usr/${libdir}/libchrome*
removefrom xorg-x11-drv-synaptics /usr/bin/*
removefrom xorg-x11-drv-wacom /usr/bin/*
removefrom xorg-x11-fonts-misc --allbut /usr/share/X11/fonts/misc/{6x13,encodings,fonts,*cursor}*
removefrom xorg-x11-server-utils --allbut /usr/bin/xrandr /usr/share/X11/rgb.txt /usr/bin/xrdb
removefrom yum /etc/* /usr/share/locale/* /usr/share/yum-cli/*
%if branding.release:
removefrom ${branding.logos} /usr/share/plymouth/*
removefrom ${branding.logos} /etc/*
removefrom ${branding.logos} /usr/share/icons/{Bluecurve,oxygen}/*
removefrom ${branding.logos} /usr/share/{firstboot,gnome-screensaver,kde4,pixmaps}/*
%endif
## cleanup_python_files()
runcmd find ${root} -name "*.pyo" -type f -delete
runcmd find ${root} -name "*.pyc" -type f -exec ln -sf /dev/null {} \;
## cleanup /boot/ leaving vmlinuz, and .*hmac files
runcmd chroot ${root} find /boot \! -name "vmlinuz*" \
-and \! -name ".vmlinuz*" \
-and \! -name boot -delete
## remove any broken links in /etc or /usr
## (broken systemd service links lead to confusing noise at boot)
## NOTE: not checking /var because we want to keep /var/run
## NOTE: Excluding /etc/mtab which links to /proc/self/mounts for systemd
runcmd chroot ${root} find -L /etc /usr -xdev -type l -and \! -name "mtab" \
-printf "removing broken symbolic link %p -> %l\n" -delete
## Clean up some of the mess pulled in by webkitgtk via yelp
## libwebkit2gtk links to a handful of libraries in gstreamer and
## gstreamer-plugins-base. Remove the rest of them.
removefrom gstreamer1 --allbut /usr/${libdir}/libgstbase-1.0.* \
/usr/${libdir}/libgstreamer-1.0.*
removefrom gstreamer1-plugins-base --allbut \
/usr/${libdir}/libgst{allocators,app,audio,badallocators,fft,gl,pbutils,tag,video}-1.0.*
## We have enough geoip libraries, thanks
removepkg geoclue2
## And remove the packages that those extra libraries pulled in
removepkg opus libtheora libvisual flac-libs gsm avahi-glib avahi-libs \
ModemManager-glib
## gnome-kiosk dependencies require libvorbis and libvorbisfile, but enc/dec are no longer needed
removefrom libvorbis --allbut /usr/${libdir}/libvorbisfile.* /usr/${libdir}/libvorbis.*

View File

@ -0,0 +1,179 @@
## lorax template file: populate the ramdisk (runtime image)
<%page args="basearch, product"/>
## anaconda package
installpkg anaconda anaconda-widgets kexec-tools-anaconda-addon anaconda-install-img-deps
installpkg oscap-anaconda-addon
installpkg redhat-release-eula
## FIXME Pull in device-mapper-multipath
## This *should* be pulled in by libblockdev-plugins-all and libblockdev-mpath but it is not
installpkg device-mapper-multipath
## Other available payloads
installpkg dnf
installpkg rpm-ostree ostree
## speed up compression on multicore systems
installpkg pigz
## kernel and firmware
## NOTE: Without explicitly including kernel-modules-extra dnf will choose kernel-debuginfo-*
## to satify a gfs2-utils kmod requirement
installpkg kernel kernel-modules kernel-modules-extra
installpkg grubby
%if basearch != "s390x":
## skip the firmware for sound, video, and scanners, none of which will
## do much good for the installer. Also skip uhd-firmware which is not
## even a kernel firmware package.
installpkg --optional *-firmware --except alsa* --except midisport-firmware \
--except crystalhd-firmware --except ivtv-firmware \
--except cx18-firmware --except iscan-firmware \
--except uhd-firmware --except lulzbot-marlin-firmware
%endif
## install all of the glibc langpacks since otherwise we get no locales
installpkg glibc-all-langpacks
## arch-specific packages (bootloaders etc.)
%if basearch == "aarch64":
installpkg efibootmgr grub2-efi-aa64-cdboot grubby shim-aa64
%endif
%if basearch == "x86_64":
installpkg grub2-tools-efi
installpkg efibootmgr
installpkg shim-x64 grub2-efi-x64-cdboot
%endif
%if basearch in ("i386", "x86_64"):
installpkg biosdevname memtest86+ syslinux
installpkg grub2-tools grub2-tools-minimal grub2-tools-extra
%endif
%if basearch in ("ppc", "ppc64", "ppc64le"):
installpkg powerpc-utils lsvpd ppc64-diag
installpkg grub2-tools grub2-tools-minimal grub2-tools-extra
# We only have ppc64le in RHEL8 26-Jul-2018
installpkg grub2-ppc64le
%endif
%if basearch == "s390x":
installpkg lsscsi s390utils-base s390utils-cmsfs-fuse
installpkg s390utils-hmcdrvfs
%endif
## yay, plymouth
installpkg plymouth
## extra dracut modules
installpkg anaconda-dracut dracut-network dracut-config-generic
## import-state.service for switchroot
installpkg initscripts
## rescue needs this
installpkg cryptsetup
## rpcbind or portmap needed by dracut nfs module
installpkg rpcbind
## required for dracut
installpkg kbd kbd-misc
## required for anaconda-dracut (img-lib etc.)
installpkg tar xz curl bzip2
## basic system stuff
installpkg systemd
installpkg rsyslog
## xorg/GUI packages
installpkg xorg-x11-drivers xorg-x11-server-Xorg
installpkg xorg-x11-server-utils xorg-x11-xauth
installpkg dbus-x11 gsettings-desktop-schemas
installpkg nm-connection-editor
installpkg librsvg2
installpkg gnome-kiosk
## filesystem tools
installpkg xfsprogs
installpkg device-mapper-persistent-data
installpkg xfsdump
installpkg libblockdev-plugins-all libblockdev
## extra storage packages
# hostname is needed for iscsi to work, see RHBZ#1599183
installpkg udisks2 udisks2-iscsi hostname
## extra libblockdev plugins
installpkg libblockdev-lvm-dbus
## needed for LUKS escrow
installpkg volume_key
installpkg nss-tools
## SELinux support
installpkg selinux-policy-targeted audit
## network tools/servers
installpkg ethtool openssh-server nfs-utils openssh-clients
installpkg tigervnc-server-minimal
installpkg tigervnc-server-module
installpkg net-tools
installpkg nmap-ncat
installpkg prefixdevname
installpkg ipcalc
## hardware utilities/libraries
installpkg pciutils usbutils ipmitool
installpkg mt-st smartmontools
installpkg hdparm
%if basearch not in ("arm", "armhfp"):
installpkg libmlx4 rdma-core
%endif
%if basearch in ("i386", "x86_64", "aarch64"):
installpkg dmidecode
%endif
installpkg nvme-cli
## fonts & themes
installpkg bitmap-fangsongti-fonts
installpkg dejavu-sans-fonts dejavu-sans-mono-fonts
installpkg kacst-farsi-fonts
installpkg kacst-qurn-fonts
installpkg lklug-fonts
installpkg lohit-assamese-fonts
installpkg lohit-bengali-fonts
installpkg lohit-devanagari-fonts
installpkg lohit-gujarati-fonts
installpkg lohit-gurmukhi-fonts
installpkg lohit-kannada-fonts
installpkg lohit-odia-fonts
installpkg lohit-tamil-fonts
installpkg lohit-telugu-fonts
installpkg madan-fonts
installpkg smc-meera-fonts
installpkg thai-scalable-waree-fonts
installpkg sil-abyssinica-fonts
installpkg xorg-x11-fonts-misc
installpkg aajohan-comfortaa-fonts
installpkg abattis-cantarell-fonts
installpkg sil-scheherazade-fonts
installpkg jomolhari-fonts
installpkg khmeros-base-fonts
installpkg sil-padauk-fonts
installpkg google-noto-sans-cjk-ttc-fonts
## debugging/bug reporting tools
installpkg gdb-gdbserver
installpkg libreport-plugin-reportuploader
installpkg python3-pyatspi
## extra tools not required by anaconda
installpkg vim-minimal strace lsof xz less
installpkg rsync bind-utils ftp mtr wget
installpkg gdisk hexedit sg3_utils
installpkg perl-interpreter
installpkg restore
# TODO: spice-vdagent is supposed to be removed, but Anaconda still needs it.
installpkg spice-vdagent
## actually install all the requested packages
run_pkg_transaction

View File

@ -0,0 +1,125 @@
## runtime-postinstall.tmpl
## post-install setup required to make the system work.
<%page args="root, basearch, libdir, configdir"/>
<%
stubs = ("list-harddrives", "raidstart", "raidstop")
configdir = configdir + "/common"
%>
## move_stubs()
move usr/share/anaconda/restart-anaconda usr/bin
%for stub in stubs:
-move usr/share/anaconda/${stub}-stub usr/bin/${stub}
%endfor
## move_repos()
move etc/yum.repos.d etc/anaconda.repos.d
## Setup mdadm config to turn off homehost
remove etc/mdadm.conf
append etc/mdadm.conf "HOMEHOST <ignore>\n"
## Configure systemd to start anaconda
remove etc/systemd/system/default.target
symlink /lib/systemd/system/anaconda.target etc/systemd/system/default.target
## Make sure tmpfs is enabled
mkdir etc/systemd/system/local-fs.target.wants/
symlink /lib/systemd/system/tmp.mount etc/systemd/system/local-fs.target.wants/tmp.mount
## Disable unwanted systemd services
systemctl disable systemd-readahead-collect.service \
systemd-readahead-replay.service \
mdmonitor.service \
mdmonitor-takeover.service \
lvm2-monitor.service \
dnf-makecache.timer
## These services can't be disabled normally (they're linked into place in
## /usr/lib/systemd rather than /etc/systemd), so we have to mask them.
systemctl mask fedora-configure.service fedora-loadmodules.service \
fedora-autorelabel.service fedora-autorelabel-mark.service \
fedora-wait-storage.service media.mount \
systemd-tmpfiles-clean.service systemd-tmpfiles-clean.timer \
ldconfig.service
## remove because it cannot be disabled
remove usr/lib/systemd/system-generators/lvm2-activation-generator
## Remove the more terrible parts of systemd-tmpfiles.
## etc.conf is written with the assumption that /etc/ is empty, which is
## ridiculous, and it also creates a broken /etc/resolv.conf, which breaks
## networking.
remove usr/lib/tmpfiles.d/etc.conf
## Make logind activate anaconda-shell@.service on switch to empty VT
symlink anaconda-shell@.service lib/systemd/system/autovt@.service
replace "#ReserveVT=6" "ReserveVT=2" etc/systemd/logind.conf
## Don't write the journal to the overlay, just keep it in RAM
remove var/log/journal
## install some basic configuration files
append etc/fstab ""
install ${configdir}/i18n etc/sysconfig
install ${configdir}/rsyslog.conf etc
install ${configdir}/bash_history root/.bash_history
install ${configdir}/profile root/.profile
install ${configdir}/libuser.conf etc
install ${configdir}/sysctl.conf etc/sysctl.d/anaconda.conf
install ${configdir}/spice-vdagentd etc/sysconfig
mkdir etc/NetworkManager/conf.d
install ${configdir}/91-anaconda-autoconnect-slaves.conf etc/NetworkManager/conf.d
install ${configdir}/vconsole.conf etc
install ${configdir}/92-anaconda-loglevel-debug.conf etc/NetworkManager/conf.d
## set up sshd
install ${configdir}/sshd_config.anaconda etc/ssh
install ${configdir}/pam.sshd etc/pam.d/sshd
install ${configdir}/pam.sshd etc/pam.d/login
install ${configdir}/pam.sshd etc/pam.d/remote
## set up "install" user account
append etc/passwd "install:x:0:0:root:/root:/usr/libexec/anaconda/run-anaconda"
append etc/shadow "install::14438:0:99999:7:::"
## remove root password
replace "root:\*:" "root::" etc/shadow
## gsettings settings
install ${configdir}/org.gtk.Settings.Debug.gschema.override usr/share/glib-2.0/schemas
runcmd chroot ${root} glib-compile-schemas /usr/share/glib-2.0/schemas
move usr/libexec/anaconda/auditd sbin
## for compatibility with Ancient Anaconda Traditions
symlink lib/modules /modules
symlink lib/firmware /firmware
symlink ../run/install mnt/install
## create_depmod_conf()
append etc/depmod.d/dd.conf "search updates built-in"
## create multipath.conf so multipath gets auto-started
append etc/multipath.conf "defaults {\n\tfind_multipaths smart\n\tuser_friendly_names yes\n}\n"
## make lvm auto-activate
remove etc/lvm/archive/*
remove etc/lvm/archive
remove etc/lvm/backup/*
remove etc/lvm/backup
remove etc/lvm/cache/*
remove etc/lvm/cache
remove etc/lvm/lvm.conf
append etc/lvm/lvm.conf "global {\n\tuse_lvmetad = 1\n}\n"
## Remove machine specific nvme-cli files
remove etc/nvme/hostid
remove etc/nvme/hostnqn
## Record the package versions used to create the image
## rpm initializes nss, which requires /dev/urandom to be present, hence the mknod
runcmd chroot ${root} /usr/bin/mknod -m 666 /dev/random c 1 8
runcmd chroot ${root} /usr/bin/mknod -m 666 /dev/urandom c 1 9
runcmd chroot ${root} /usr/bin/rpm -qa --pipe "tee /root/lorax-packages.log"
## TODO: we could run prelink here if we wanted?

89
80-rhel/s390.tmpl Normal file
View File

@ -0,0 +1,89 @@
<%page args="kernels, runtime_img, runtime_base, basearch, inroot, outroot"/>
<%
configdir="tmp/config_files/s390"
BOOTDIR="images"
KERNELDIR=BOOTDIR
INITRD_ADDRESS="0x02000000"
LORAXDIR="usr/share/lorax/"
MKS390IMAGE="/usr/bin/mk-s390image"
# The assumption seems to be that there is only one s390 kernel, ever
kernel = kernels[0]
import os
from os.path import basename
from pylorax.sysutils import joinpaths
# Test the runtime_img, if it is > 4GiB we need to set -iso-level to 3
if os.stat(joinpaths(inroot, runtime_img)).st_size >= 4*1024**3:
isoargs = "-iso-level 3"
else:
isoargs = ""
%>
mkdir images
install ${runtime_img} images
treeinfo stage2 mainimage images/${runtime_base}
## install bootloader (such as it is) and bootloader config
install ${configdir}/redhat.exec ${BOOTDIR}
install ${configdir}/generic.prm ${BOOTDIR}
install ${configdir}/genericdvd.prm ${BOOTDIR}
install ${configdir}/cdboot.prm ${BOOTDIR}
install ${configdir}/generic.ins .
## configure bootloader
replace @INITRD_LOAD_ADDRESS@ ${INITRD_ADDRESS} generic.ins
replace @ROOT@ 'inst.stage2=hd:LABEL=${isolabel|udev}' ${BOOTDIR}/cdboot.prm
## install kernel
installkernel images-${basearch} ${kernel.path} ${KERNELDIR}/kernel.img
installinitrd images-${basearch} ${kernel.initrd.path} ${KERNELDIR}/initrd.img
## s390 needs some extra boot config
createaddrsize ${INITRD_ADDRESS} ${outroot}/${BOOTDIR}/initrd.img ${outroot}/${BOOTDIR}/initrd.addrsize
## s390 also has some special treeinfo data
treeinfo images-${basearch} initrd.addrsize ${BOOTDIR}/initrd.addrsize
treeinfo images-${basearch} generic.prm ${BOOTDIR}/generic.prm
treeinfo images-${basearch} genericdvd.prm ${BOOTDIR}/genericdvd.prm
treeinfo images-${basearch} generic.ins generic.ins
treeinfo images-${basearch} redhat.exec ${BOOTDIR}/redhat.exec
# Create optional product.img and updates.img in /images/
<% filegraft=""; images=["product", "updates"] %>
%for img in images:
%if exists("%s/%s/" % (LORAXDIR, img)):
installimg ${LORAXDIR}/${img}/ images/${img}.img
treeinfo images-${basearch} ${img}.img images/${img}.img
%endif
%endfor
# Inherit iso-graft/ if it exists from external templates
<%
import os
if os.path.exists(workdir + "/iso-graft"):
filegraft += " " + workdir + "/iso-graft"
%>
# Add the license files
%for f in glob("/usr/share/licenses/*-release/*"):
install ${f} ${f|basename}
<% filegraft += " {0}={1}/{0}".format(basename(f), outroot) %>
%endfor
## Make a combined kernel+initrd image for the iso
runcmd ${MKS390IMAGE} ${outroot}/${KERNELDIR}/kernel.img \
${outroot}/${BOOTDIR}/cdboot.img \
-r ${outroot}/${KERNELDIR}/initrd.img \
-p ${outroot}/${BOOTDIR}/cdboot.prm
## make boot.iso
runcmd xorrisofs ${isoargs} -o ${outroot}/images/boot.iso \
-b ${BOOTDIR}/cdboot.img -c ${BOOTDIR}/boot.cat \
-boot-load-size 4 -no-emul-boot \
-R -J -V '${isolabel}' -graft-points \
.discinfo=${outroot}/.discinfo \
generic.ins=${outroot}/generic.ins \
${BOOTDIR}=${outroot}/${BOOTDIR} \
${filegraft}
treeinfo images-${basearch} boot.iso images/boot.iso

135
80-rhel/x86.tmpl Normal file
View File

@ -0,0 +1,135 @@
<%page args="kernels, runtime_img, runtime_base, basearch, inroot, outroot, product, isolabel"/>
<%
configdir="tmp/config_files/x86"
SYSLINUXDIR="usr/share/syslinux"
PXEBOOTDIR="images/pxeboot"
STAGE2IMG="images/install.img"
BOOTDIR="isolinux"
KERNELDIR=PXEBOOTDIR
LORAXDIR="usr/share/lorax/"
## Don't allow spaces or escape characters in the iso label
def valid_label(ch):
return ch.isalnum() or ch == '_'
isolabel = ''.join(ch if valid_label(ch) else '-' for ch in isolabel)
import os
from os.path import basename
from pylorax.sysutils import joinpaths
# Test the runtime_img, if it is > 4GiB we need to set -iso-level to 3
if os.stat(joinpaths(inroot, runtime_img)).st_size >= 4*1024**3:
isoargs = "-iso-level 3"
else:
isoargs = ""
%>
mkdir images
install ${runtime_img} ${STAGE2IMG}
treeinfo stage2 mainimage images/${runtime_base}
## install bootloader and config files
mkdir ${BOOTDIR}
install ${SYSLINUXDIR}/isolinux.bin ${BOOTDIR}
install ${SYSLINUXDIR}/vesamenu.c32 ${BOOTDIR}
install ${SYSLINUXDIR}/ldlinux.c32 ${BOOTDIR}
install ${SYSLINUXDIR}/libcom32.c32 ${BOOTDIR}
install ${SYSLINUXDIR}/libutil.c32 ${BOOTDIR}
install ${configdir}/isolinux.cfg ${BOOTDIR}
install ${configdir}/boot.msg ${BOOTDIR}
install ${configdir}/grub.conf ${BOOTDIR}
install usr/share/anaconda/boot/syslinux-splash.png ${BOOTDIR}/splash.png
install boot/memtest* ${BOOTDIR}/memtest
## configure bootloader
replace @VERSION@ ${product.version} ${BOOTDIR}/grub.conf ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg
replace @PRODUCT@ '${product.name}' ${BOOTDIR}/grub.conf ${BOOTDIR}/isolinux.cfg ${BOOTDIR}/*.msg
replace @ROOT@ 'inst.stage2=hd:LABEL=${isolabel|udev}' ${BOOTDIR}/isolinux.cfg
## install kernels
mkdir ${KERNELDIR}
%for kernel in kernels:
%if kernel.flavor:
## i386 PAE
installkernel images-xen ${kernel.path} ${KERNELDIR}/vmlinuz-${kernel.flavor}
installinitrd images-xen ${kernel.initrd.path} ${KERNELDIR}/initrd-${kernel.flavor}.img
%else:
## normal i386, x86_64
installkernel images-${basearch} ${kernel.path} ${KERNELDIR}/vmlinuz
installinitrd images-${basearch} ${kernel.initrd.path} ${KERNELDIR}/initrd.img
%endif
%endfor
hardlink ${KERNELDIR}/vmlinuz ${BOOTDIR}
hardlink ${KERNELDIR}/initrd.img ${BOOTDIR}
%if basearch == 'x86_64':
treeinfo images-xen kernel ${KERNELDIR}/vmlinuz
treeinfo images-xen initrd ${KERNELDIR}/initrd.img
%endif
## WHeeeeeeee, EFI.
<% efiargs=""; efigraft=""; efiarch32=None; efiarch64=None %>
%if exists("boot/efi/EFI/*/gcdia32.efi"):
<% efiarch32 = 'IA32' %>
%endif
%if exists("boot/efi/EFI/*/gcdx64.efi"):
<% efiarch64 = 'X64' %>
%endif
%if (efiarch32 or efiarch64) and basearch != 'i386':
<%
efigraft="EFI/BOOT={0}/EFI/BOOT".format(outroot)
images = [("images/efiboot.img", "-isohybrid-gpt-basdat")]
if domacboot:
images.append(("images/macboot.img", "-isohybrid-gpt-hfsplus"))
%>
%for img, hybrid in images:
<%
efiargs += " -eltorito-alt-boot -e {0} -no-emul-boot {1}".format(img, hybrid)
efigraft += " {0}={1}/{0}".format(img,outroot)
%>
treeinfo images-${basearch} ${img|basename} ${img}
%endfor
<%include file="efi.tmpl" args="configdir=configdir, KERNELDIR=KERNELDIR, efiarch32=efiarch32, efiarch64=efiarch64, isolabel=isolabel"/>
%endif
# Create optional product.img and updates.img
<% filegraft=""; images=["product", "updates"]; compressargs=""; %>
%if basearch == 'i386':
# Limit the amount of memory xz uses on i386
<% compressargs="--xz -9 --memlimit-compress=3700MiB" %>
%endif
%for img in images:
%if exists("%s/%s/" % (LORAXDIR, img)):
installimg ${compressargs} ${LORAXDIR}/${img}/ images/${img}.img
treeinfo images-${basearch} ${img}.img images/${img}.img
<% filegraft += " images/{0}.img={1}/images/{0}.img".format(img, outroot) %>
%endif
%endfor
# Inherit iso-graft/ if it exists from external templates
<%
import os
if os.path.exists(workdir + "/iso-graft"):
filegraft += " " + workdir + "/iso-graft"
%>
# Add the license files
%for f in glob("/usr/share/licenses/*-release/*"):
install ${f} ${f|basename}
<% filegraft += " {0}={1}/{0}".format(basename(f), outroot) %>
%endfor
## make boot.iso
runcmd xorrisofs ${isoargs} -o ${outroot}/images/boot.iso \
-isohybrid-mbr /usr/share/syslinux/isohdpfx.bin \
-b ${BOOTDIR}/isolinux.bin -c ${BOOTDIR}/boot.cat \
-boot-load-size 4 -boot-info-table -no-emul-boot \
${efiargs} -R -J -V '${isolabel}' \
-graft-points \
.discinfo=${outroot}/.discinfo \
${STAGE2IMG}=${outroot}/${STAGE2IMG} \
${BOOTDIR}=${outroot}/${BOOTDIR} \
${KERNELDIR}=${outroot}/${KERNELDIR} \
${efigraft} ${filegraft}
treeinfo images-${basearch} boot.iso images/boot.iso

49
Makefile Normal file
View File

@ -0,0 +1,49 @@
NAME=lorax-templates-rhel
# RHEL version these templates are designed for
RHELVER=9.0
RHPKG=centpkg --release=c9s
# git user.email and user.name must be setup
GITEMAIL := $(shell git config user.email)
GITNAME := $(shell git config user.name)
# Serial number for this release
SERIAL=$(shell [ -f SERIAL ] && cat SERIAL || echo 0)
SPEC=${NAME}.spec
TARBALL=${NAME}-${RHELVER}-${SERIAL}.tar.gz
tar: ${TARBALL}
${TARBALL}: 80-rhel
git archive --prefix='${NAME}-${RHELVER}/' HEAD $</ | gzip -c9 > $@
bump: bump-serial
bump-serial:
echo $$((${SERIAL}+1)) > SERIAL
git add SERIAL
update-spec: clog
sed -r -i \
-e 's/^(Release:\s+)[^%]+(%.*)$$/\1${SERIAL}\2/' \
-e 's/^(Version:\s+).*$$/\1${RHELVER}/' \
-e 's/^(Source0:\s+).*$$/\1${TARBALL}/' \
-e '/%changelog/ r clog-spec' \
${SPEC}
clog:
@echo "* $(shell date '+%a %b %d %Y') ${GITNAME} <${GITEMAIL}> - ${RHELVER}-${SERIAL}" > clog-spec
./tools/git-changelog -t origin/c9s > clog
cat clog >> clog-spec
# These need to rerun make to pick up the bumped serial number
release:
$(MAKE) bump-serial && $(MAKE) tar && $(MAKE) update-spec && $(MAKE) commit
commit:
$(RHPKG) new-sources ${TARBALL}
git add -u
git commit -F clog
.PHONY: tar ${TARBALL} bump-serial update-spec release clog commit

11
README Normal file
View File

@ -0,0 +1,11 @@
Hi there! If you're trying to fix something here, do the following:
1. Make whatever edits you need to in 80-rhel/
2. `git commit` the changes with the relevant 'Resolves/Related' bug reference
3. `make release`
This will bump the release, update the spec with changes in this branch,
create a new tarball, upload it, and commit the changes.
4. Examine the changes with 'git show' and make sure they look ok.
5. Push the changes to your fork of the project with:
'git push REMOTE BRANCHNAME' and follow the instructions to
create a merge request in gitlab.

1
SERIAL Normal file
View File

@ -0,0 +1 @@
39

View File

@ -1,219 +0,0 @@
Name: lorax-templates-rhel
Version: 8.7
Release: 1%{?dist}
Summary: RHEL8 build templates for lorax and livemedia-creator
License: GPLv2+
URL: https://github.com/weldr/lorax
BuildArch: noarch
Source0: lorax-templates-rhel-8.7-1.tar.gz
# Required for the template branding support
Requires: lorax > 28.14.68
# Where are these supposed to end up?
%define templatedir %{_datadir}/lorax/templates.d/80-rhel
%description
RHEL-specific Lorax templates for creating the boot.iso and live isos are
placed in %{templatedir}
%prep
%setup
%build
# nothing to build
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/%{templatedir}
cp -a 80-rhel/* $RPM_BUILD_ROOT/%{templatedir}
%files
%dir %{templatedir}
%{templatedir}/*
%changelog
* Mon Jun 13 2022 Brian C. Lane <bcl@redhat.com> - 8.7-1
- runtime-cleanup: Use new lorax branding support (bcl)
Resolves: rhbz#2052154
* Fri Jan 14 2022 Brian C. Lane <bcl@redhat.com> - 8.6-3
- Enable sftp when using inst.sshd (bcl)
Resolves: rhbz#2035050
- Revert "Drop ia32 uefi package installation" (bcl)
Related: rhbz#2035050
* Tue Jan 11 2022 Brian C. Lane <bcl@redhat.com> - 8.6-2
- Drop ia32 uefi package installation (bcl)
Resolves: rhbz#2035050
* Mon Nov 01 2021 Brian C. Lane <bcl@redhat.com> - 8.6-1
- Drop ppc 32 bit support from grub template for live iso (bcl)
Resolves: rhbz#2016807
* Mon Oct 04 2021 Brian C. Lane <bcl@redhat.com> - 8.5-3
- runtime-install: Install nvme-cli tool
Resolves: rhbz#1903339
* Mon May 10 2021 Brian C. Lane <bcl@redhat.com> - 8.5-2
- runtime-install: Install ipcalc (bcl)
Resolves: rhbz#1958314
* Mon Mar 22 2021 Brian C. Lane <bcl@redhat.com> - 8.5-1
- Add inst. prefix to installer kernel cmdline arguments
Resolves: rhbz#1939350
* Wed Dec 09 2020 Brian C. Lane <bcl@redhat.com> - 8.4-3
- sshd_config: Apply suggested changes (bcl)
Resolves: rhbz#1872921
* Thu Dec 03 2020 Brian C. Lane <bcl@redhat.com> - 8.4-2
- Switch to using upstream mk-s390image for s390 cdboot.img creation (bcl)
Resolves: rhbz#1892404
- Remove mdmonitor service from boot.iso (bcl)
Resolves: rhbz#1888728
* Wed Oct 28 2020 Brian C. Lane <bcl@redhat.com> - 8.4-1
- Install Xorg and tigervnc-server on s390 boot.iso (bcl)
Resolves: rhbz#1854933
* Tue Jul 07 2020 Brian C. Lane <bcl@redhat.com> - 8.3-4
- rsyslog: Disable journal ratelimits during install
Related: rhbz#1752754
* Thu Jun 25 2020 Brian C. Lane <bcl@redhat.com> - 8.3-3
- include generic.ins for s390 boot iso (dan)
Resolves: rhbz#1844517
* Wed Jun 03 2020 Brian C. Lane <bcl@redhat.com> - 8.3-2
- Keep /etc/default/useradd in install.img
Resolves: rhbz#1843609
* Wed May 13 2020 Brian C. Lane <bcl@redhat.com> - 8.3-1
- Use smarter multipath detection logic
Resolves: rhbz#1763906
* Thu Feb 27 2020 Brian C. Lane <bcl@redhat.com> - 8.2-6
- Restore the 98dracut-systemd service files to the install.img (bcl)
Related: rhbz#1805405
- Add eject back into the boot.iso (bcl)
Resolves: rhbz#1805405
* Fri Jan 10 2020 Brian C. Lane <bcl@redhat.com> - 8.2-5
- Install rdma-core and libmlx4 packages
Resolves: rhbz#1762662
* Wed Dec 11 2019 Brian C. Lane <bcl@redhat.com> - 8.2-4
- Use mkisofs for the s390 live-iso template
Resolves: rhbz#1746424
* Tue Nov 12 2019 Brian C. Lane <bcl@redhat.com> - 8.2-3
- Add dmidecode on supported architectures
Resolves: rhbz#1714793
* Fri Nov 08 2019 Brian C. Lane <bcl@redhat.com> - 8.2-2
- Update ppc64le isolabel to match x86_64 logic (bcl)
Resolves: rhbz#1757338
- set inst.stage2 for ppc64le image (bcl)
Resolves: rhbz#1757338
* Thu Oct 31 2019 Brian C. Lane <bcl@redhat.com> - 8.2-1
- Update package version for 8.2 release
- Drop unneeded uboot-tools, and remove iso-graft from the aarch64.tmpl
Resolves: rhbz#1763922
- Add live iso support to s390
Resolves: rhbz#1746424
* Tue Sep 03 2019 Brian C. Lane <bcl@redhat.com> - 8.1-3
- Fix path to generic.prm (bcl)
Resolves: rhbz#1746424
* Wed May 15 2019 Brian C. Lane <bcl@redhat.com> - 8.1-2
- Install redhat-release-eula package (bcl)
Related: rhbz#1700465
- Don't remove chmem and lsmem from install.img (bcl)
Resolves: rhbz#1691472
- Include the hid-multitouch kernel module (bcl)
Resolves: rhbz#1670182
- Add extra boot args to the livemedia-creator iso templates (bcl)
Resolves: rhbz#1694180
- Add a ppc64le template for live iso creation (bcl)
Related: rhbz#1694180
- Add live-install.tmpl (bcl)
Related: rhbz#1694180
* Wed Mar 27 2019 Brian C. Lane <bcl@redhat.com> - 8.1-1
- Update package version for 8.1 release
- Make sure lscpu is installed
Resolves: rhbz#1684735
* Wed Sep 19 2018 Brian C. Lane <bcl@redhat.com> - 8.0-19
- Include python3-pyatspi on boot.iso (bcl)
Resolves: rhbz#1543290
* Wed Sep 12 2018 Brian C. Lane <bcl@redhat.com> - 8.0-18
- re-add temporarily removed packages (bcl)
Related: rhbz#1622395
- Use google-noto-sans-cjk-ttc-fonts (bcl)
Resolves: rhbz#1626368
* Fri Sep 07 2018 Brian C. Lane <bcl@redhat.com> - 8.0-17
- Install the oscap-anaconda-addon
Resolves: rhbz#1626459
* Wed Aug 22 2018 Brian C. Lane <bcl@redhat.com> - 8.0-16
- Install libreport-rhel-anaconda-bugzilla
Related: rhbz#1593734
* Mon Aug 20 2018 Brian C. Lane <bcl@redhat.com> - 8.0-15
- import-state.service from initscripts is needed by Anaconda
Resolves: rhbz#1618668
* Mon Aug 20 2018 Josh Boyer <jwboyer@redhat.com> - 8.0-14
- Remove fbset from runtime-install
Resolves: rhbz#1615430
* Wed Aug 15 2018 Brian C. Lane <bcl@redhat.com> - 8.0-13
- Add prefixdevname package
Resolves: rhbz#1615991
* Thu Aug 02 2018 Troy Dawson <tdawson@redhat.com> - 8.0-12
- Drop dependency on bridge-utils Resolves: #1588705
* Thu Jul 26 2018 Troy Dawson <tdawson@redhat.com> - 8.0-11
- Expand variables and wildcards in runtime-install.tmpl
- Cleanup the sections and packages not in RHEL8.
* Wed Jul 25 2018 Andrew Hills <ahills@redhat.com> - 8.0-10
- Drop btrfs-progs from installpkgs (RCM-38058)
* Fri Jul 20 2018 Brian C. Lane <bcl@redhat.com> - 8.0-8
- Don't activate default auto connections after switchroot
Resolves: rhbz#1555934
* Mon Jul 09 2018 Brian C. Lane <bcl@redhat.com> - 8.0-7
- Add hostname to the rootfs for iscsi
Resolves: rhbz#1599183
* Thu Jun 21 2018 Ian McLeod <imcleod@redhat.com> - 8.0-6
- Temporarily disable dracut-fips to allow building images in VMs
* Wed Jun 20 2018 David Cantrell <dcantrell@redhat.com> - 8.0-5
- Make sure perl-interpreter is installed
* Tue Jun 19 2018 Ian McLeod <imcleod@redhat.com> - 8.0-4
- Comment where RHEL8 removals have taken place
- Temporarily remove X server and drivers from all architectures
* Tue Jun 19 2018 Ian McLeod <imcleod@redhat.com> - 8.0-3
- Properly update build environment to pull these changes in
* Tue Jun 19 2018 Ian McLeod <imcleod@redhat.com> - 8.0-2
- Remove several _more_ packages from installer - same reason as below
* Tue Jun 19 2018 Ian McLeod <imcleod@redhat.com> - 8.0-1
- Remove several packages from installer based on current state of BaseOS/AppStream
* Mon Jun 18 2018 Will Woods <wwoods@redhat.com> - 8.0-0
- Initial creation of lorax-templates-rhel package

7
gating.yaml Normal file
View File

@ -0,0 +1,7 @@
--- !Policy
product_versions:
- rhel-8
- rhel-9
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}

349
lorax-templates-rhel.spec Normal file
View File

@ -0,0 +1,349 @@
Name: lorax-templates-rhel
Version: 9.0
Release: 39%{?dist}
Summary: RHEL8 build templates for lorax and livemedia-creator
License: GPLv2+
URL: https://github.com/weldr/lorax
BuildArch: noarch
Source0: lorax-templates-rhel-9.0-39.tar.gz
# Required for the template branding support
Requires: lorax >= 34.9.1
# Where are these supposed to end up?
%define templatedir %{_datadir}/lorax/templates.d/80-rhel
%description
RHEL-specific Lorax templates for creating the boot.iso and live isos are
placed in %{templatedir}
%prep
%setup
%build
# nothing to build
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/%{templatedir}
cp -a 80-rhel/* $RPM_BUILD_ROOT/%{templatedir}
%files
%dir %{templatedir}
%{templatedir}/*
%changelog
* Tue Feb 06 2024 Brian C. Lane <bcl@redhat.com> - 9.0-39
- templates: Remove libreport bugzilla plugins (bcl)
Resolves: RHEL-24421
* Fri Nov 03 2023 Brian C. Lane <bcl@redhat.com> - 9.0-38
- tools: Add support for Jira RHEL-XXX issues (bcl)
Related: RHEL-15122
- Add setpriv as ostree containers dependency (bcl)
Resolves: RHEL-15122
* Wed Jan 11 2023 Brian C. Lane <bcl@redhat.com> - 9.0-37
- rsyslog.conf: Set WorkDirectory to /var/lib/rsyslog (bcl)
Resolves: rhbz#2160070
* Mon Nov 28 2022 Brian C. Lane <bcl@redhat.com> - 9.0-36
- On ppc64le Use core.elf from grub2 package (bcl)
Resolves: rhbz#2143422
* Tue Apr 05 2022 Brian C. Lane <bcl@redhat.com> - 9.0-35
- Makefile: Making it easier to create releases (bcl)
Related: rhbz#2071074
- runtime-postinstall: Remove machine specific nvme files (bcl)
Resolves: rhbz#2071074
* Thu Feb 24 2022 Brian C. Lane <bcl@redhat.com> - 9.0-34
- Restore missing packages (bcl)
Resolves: rhbz#2056086
* Fri Feb 04 2022 Brian C. Lane <bcl@redhat.com> - 9.0-33
- Keep nvram kernel module (bcl)
Resolves: rhbz#2050878
* Tue Jan 25 2022 Brian C. Lane <bcl@redhat.com> - 9.0-32
- Fix missing generic.ins on s390x (bcl)
Resolves: rhbz#2044448
* Thu Jan 13 2022 Brian C. Lane <bcl@redhat.com> - 9.0-31
- Do not install rng-tools (bcl)
Resolves: rhbz#2028720
- Revert "Add inst.rngd cmdline option" (bcl)
Related: rhbz#2028720
* Wed Jan 12 2022 Brian C. Lane <bcl@redhat.com> - 9.0-30
- Add .discinfo on all arches (bcl)
Resolves: rhbz#2030008
- Add inst.rngd cmdline option (bcl)
Resolves: rhbz#2028720
* Tue Jan 11 2022 Brian C. Lane <bcl@redhat.com> - 9.0-29
- Drop ia32 uefi package installation (bcl)
Resolves: rhbz#2038397
- Enable sftp when using inst.sshd (bcl)
Resolves: rhbz#2035049
* Mon Nov 01 2021 Brian C. Lane <bcl@redhat.com> - 9.0-28
- Drop ppc 32 bit support from grub template for live iso (bcl)
Resolves: rhbz#2017175
* Wed Oct 27 2021 Brian C. Lane <bcl@redhat.com> - 9.0-27
- Switch to using xorrisofs instead of mkisofs (bcl)
Resolves: rhbz#2017134
* Thu Oct 21 2021 Brian C. Lane <bcl@redhat.com> - 9.0-26
- templates: Change nomodeset / basic graphics to use inst.text (bcl)
Resolves: rhbz#1961092
- templates: Drop nomodeset / basic graphics menu from live configs (bcl)
Related: rhbz#1961092
* Wed Oct 06 2021 Brian C. Lane <bcl@redhat.com> - 9.0-25
- runtime-cleanup: Remove dropped packages from template (bcl)
Resolves: rhbz#1991006
- Install nvme-cli tool (bcl)
Resolves: rhbz#2010254
- sshd_config: Update sshd options (bcl)
Resolves: rhbz#2007288
* Thu Sep 09 2021 Brian C. Lane <bcl@redhat.com> - 9.0-24
- Install unicode.pf2 from new directory
Related: rhbz#2003030
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 9.0-23
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Thu Jul 22 2021 Brian C. Lane <bcl@redhat.com> - 9.0-22
- runtime-postinstall: Move configuration of NM default autoconnections to Anaconda (rvykydal)
Related: rhbz#1978264
* Mon Jul 19 2021 Brian C. Lane <bcl@redhat.com> - 9.0-21
- runtime-install: Include Xorg and tigervnc on s390x for local GUI installation on KVM
Resolves: rhbz#1983688
* Wed Jun 23 2021 Brian C. Lane <bcl@redhat.com> - 9.0-20
- runtime-install: Remove gfs2-utils (bcl)
Resolves: rhbz#1975378
* Wed May 19 2021 Brian C. Lane <bcl@redhat.com> - 9.0-19
- Replace metacity with gnome-kiosk (bcl)
Resolves: rhbz#1961099
* Wed May 12 2021 Brian C. Lane <bcl@redhat.com> - 9.0-18
- runtime-cleanup: branding.logos includes the full package name (bcl)
Resolves: rhbz#1956205
* Mon May 10 2021 Brian C. Lane <bcl@redhat.com> - 9.0-17
- runtime-install: Install ipcalc (bcl)
Resolves: rhbz#1959130
- runtime-install: Install prefixdevname (bcl)
Resolves: rhbz#1958173
* Fri May 07 2021 Brian C. Lane <bcl@redhat.com> - 9.0-16
- Fix required lorax version for branding change (bcl)
Related: rhbz#1956205
* Wed May 05 2021 Brian C. Lane <bcl@redhat.com> - 9.0-15
- runtime-cleanup: Use branding package name instead of product.name (bcl)
Resolves: rhbz#1956205
- tests: Update gating test iso name to rhel 9 (bcl)
- runtime-cleanup: Remove dump from cleanup (bcl)
Related: rhbz#1931762
* Mon May 03 2021 Brian C. Lane <bcl@redhat.com> - 9.0-14
- runtime-cleanup: Remove mcpp and libmcpp cleanup (bcl)
Resolves: rhbz#1955429
- Revert "Remove spice-vdagent" (bcl)
Resolves: rhbz#1945898
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 9.0-13
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Mon Apr 05 2021 Josh Boyer <jwboyer@redhat.com> - 9.0-12
- Remove spice-vdagent
Resovles: rhbz#1945898
* Thu Mar 04 2021 Brian C. Lane <bcl@redhat.com> - 9.0-11
- dump has been removed
Resolves: rhbz#1931762
* Tue Feb 16 2021 Brian C. Lane <bcl@redhat.com> - 9.0-10
- Use inst.rescue to trigger rescue mode (awilliam)
- Use image dependencies metapackage (vslavik)
* Tue Feb 02 2021 Brian C. Lane <bcl@redhat.com> - 9.0-9
- runtime-install: Remove system-storage-manager
Resolves: rhbz#1924154
* Tue Dec 08 2020 Brian C. Lane <bcl@redhat.com> - 9.0-8
- Remove unsupported filesystem tools (bcl)
* Thu Dec 03 2020 Brian C. Lane <bcl@redhat.com> - 9.0-7
- Switch to using upstream mk-s390image for s390 cdboot.img creation
Resolves: rhbz#1903923
* Tue Dec 01 2020 Brian C. Lane <bcl@redhat.com> - 9.0-6
- Don't remove libldap_r libraries during runtime-cleanup.tmpl
* Thu Oct 29 2020 Brian C. Lane <bcl@redhat.com> - 9.0-5
- Install device-mapper-multipath (bcl)
Work around problem with libblockdev-mpath Recommends not working
* Thu Oct 29 2020 Jan Kaluza <jkaluza@redhat.com> - 9.0-4
- Add spice-vdagentd conf back - anaconda still needs it.
* Thu Oct 29 2020 Jan Kaluza <jkaluza@redhat.com> - 9.0-3
- Add spice-vdagent back - anaconda still needs it.
* Wed Oct 28 2020 Stephen Gallagher <sgallagh@redhat.com> - 9.0-2
- Replace ppc64le template with upstream version
* Tue Oct 27 2020 Brian C. Lane <bcl@redhat.com> - 9.0-1
- Update release version for RHEL 9.0
- Remove spice-vdagent (bcl)
- Initial RHEL 9 Alpha changes (bcl)
* Tue Jul 07 2020 Brian C. Lane <bcl@redhat.com> - 8.3-4
- rsyslog: Disable journal ratelimits during install
Related: rhbz#1752754
* Thu Jun 25 2020 Brian C. Lane <bcl@redhat.com> - 8.3-3
- include generic.ins for s390 boot iso (dan)
Resolves: rhbz#1844517
* Wed Jun 03 2020 Brian C. Lane <bcl@redhat.com> - 8.3-2
- Keep /etc/default/useradd in install.img
Resolves: rhbz#1843609
* Wed May 13 2020 Brian C. Lane <bcl@redhat.com> - 8.3-1
- Use smarter multipath detection logic
Resolves: rhbz#1763906
* Thu Feb 27 2020 Brian C. Lane <bcl@redhat.com> - 8.2-6
- Restore the 98dracut-systemd service files to the install.img (bcl)
Related: rhbz#1805405
- Add eject back into the boot.iso (bcl)
Resolves: rhbz#1805405
* Fri Jan 10 2020 Brian C. Lane <bcl@redhat.com> - 8.2-5
- Install rdma-core and libmlx4 packages
Resolves: rhbz#1762662
* Wed Dec 11 2019 Brian C. Lane <bcl@redhat.com> - 8.2-4
- Use mkisofs for the s390 live-iso template
Resolves: rhbz#1746424
* Tue Nov 12 2019 Brian C. Lane <bcl@redhat.com> - 8.2-3
- Add dmidecode on supported architectures
Resolves: rhbz#1714793
* Fri Nov 08 2019 Brian C. Lane <bcl@redhat.com> - 8.2-2
- Update ppc64le isolabel to match x86_64 logic (bcl)
Resolves: rhbz#1757338
- set inst.stage2 for ppc64le image (bcl)
Resolves: rhbz#1757338
* Thu Oct 31 2019 Brian C. Lane <bcl@redhat.com> - 8.2-1
- Update package version for 8.2 release
- Drop unneeded uboot-tools, and remove iso-graft from the aarch64.tmpl
Resolves: rhbz#1763922
- Add live iso support to s390
Resolves: rhbz#1746424
* Tue Sep 03 2019 Brian C. Lane <bcl@redhat.com> - 8.1-3
- Fix path to generic.prm (bcl)
Resolves: rhbz#1746424
* Wed May 15 2019 Brian C. Lane <bcl@redhat.com> - 8.1-2
- Install redhat-release-eula package (bcl)
Related: rhbz#1700465
- Don't remove chmem and lsmem from install.img (bcl)
Resolves: rhbz#1691472
- Include the hid-multitouch kernel module (bcl)
Resolves: rhbz#1670182
- Add extra boot args to the livemedia-creator iso templates (bcl)
Resolves: rhbz#1694180
- Add a ppc64le template for live iso creation (bcl)
Related: rhbz#1694180
- Add live-install.tmpl (bcl)
Related: rhbz#1694180
* Wed Mar 27 2019 Brian C. Lane <bcl@redhat.com> - 8.1-1
- Update package version for 8.1 release
- Make sure lscpu is installed
Resolves: rhbz#1684735
* Wed Sep 19 2018 Brian C. Lane <bcl@redhat.com> - 8.0-19
- Include python3-pyatspi on boot.iso (bcl)
Resolves: rhbz#1543290
* Wed Sep 12 2018 Brian C. Lane <bcl@redhat.com> - 8.0-18
- re-add temporarily removed packages (bcl)
Related: rhbz#1622395
- Use google-noto-sans-cjk-ttc-fonts (bcl)
Resolves: rhbz#1626368
* Fri Sep 07 2018 Brian C. Lane <bcl@redhat.com> - 8.0-17
- Install the oscap-anaconda-addon
Resolves: rhbz#1626459
* Wed Aug 22 2018 Brian C. Lane <bcl@redhat.com> - 8.0-16
- Install libreport-rhel-anaconda-bugzilla
Related: rhbz#1593734
* Mon Aug 20 2018 Brian C. Lane <bcl@redhat.com> - 8.0-15
- import-state.service from initscripts is needed by Anaconda
Resolves: rhbz#1618668
* Mon Aug 20 2018 Josh Boyer <jwboyer@redhat.com> - 8.0-14
- Remove fbset from runtime-install
Resolves: rhbz#1615430
* Wed Aug 15 2018 Brian C. Lane <bcl@redhat.com> - 8.0-13
- Add prefixdevname package
Resolves: rhbz#1615991
* Thu Aug 02 2018 Troy Dawson <tdawson@redhat.com> - 8.0-12
- Drop dependency on bridge-utils Resolves: #1588705
* Thu Jul 26 2018 Troy Dawson <tdawson@redhat.com> - 8.0-11
- Expand variables and wildcards in runtime-install.tmpl
- Cleanup the sections and packages not in RHEL8.
* Wed Jul 25 2018 Andrew Hills <ahills@redhat.com> - 8.0-10
- Drop btrfs-progs from installpkgs (RCM-38058)
* Fri Jul 20 2018 Brian C. Lane <bcl@redhat.com> - 8.0-8
- Don't activate default auto connections after switchroot
Resolves: rhbz#1555934
* Mon Jul 09 2018 Brian C. Lane <bcl@redhat.com> - 8.0-7
- Add hostname to the rootfs for iscsi
Resolves: rhbz#1599183
* Thu Jun 21 2018 Ian McLeod <imcleod@redhat.com> - 8.0-6
- Temporarily disable dracut-fips to allow building images in VMs
* Wed Jun 20 2018 David Cantrell <dcantrell@redhat.com> - 8.0-5
- Make sure perl-interpreter is installed
* Tue Jun 19 2018 Ian McLeod <imcleod@redhat.com> - 8.0-4
- Comment where RHEL8 removals have taken place
- Temporarily remove X server and drivers from all architectures
* Tue Jun 19 2018 Ian McLeod <imcleod@redhat.com> - 8.0-3
- Properly update build environment to pull these changes in
* Tue Jun 19 2018 Ian McLeod <imcleod@redhat.com> - 8.0-2
- Remove several _more_ packages from installer - same reason as below
* Tue Jun 19 2018 Ian McLeod <imcleod@redhat.com> - 8.0-1
- Remove several packages from installer based on current state of BaseOS/AppStream
* Mon Jun 18 2018 Will Woods <wwoods@redhat.com> - 8.0-0
- Initial creation of lorax-templates-rhel package

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (lorax-templates-rhel-9.0-39.tar.gz) = 08671c1809a3978e99692e75e2d858c596d37b01565c35ee3eaaa2a7a00d188d1f940cba550f6afdcae2bd081a5f9f3ca21e8a8f241f10a6101730b78b6ec789

1
tests/.fmf/version Normal file
View File

@ -0,0 +1 @@
1

5
tests/provision.fmf Normal file
View File

@ -0,0 +1,5 @@
---
standard-inventory-qcow2:
qemu:
m: 4G

18
tests/scripts/run_tests.sh Executable file
View File

@ -0,0 +1,18 @@
#!/bin/bash
set -eux
if [ ! -e /usr/share/lorax/templates.d/80-rhel/ ]; then
echo "Failed to find lorax-templates-rhel templates in /usr/share/lorax/templates.d/"
exit 1
fi
# Gather up the list of system repo files and use them for lorax
REPOS=$(for f in /etc/yum.repos.d/*repo; do echo -n "--repo $f "; done)
if [ -z "$REPOS" ]; then
echo "No system repos found"
exit 1
fi
# Run lorax using the host's repository configuration file
lorax --product="Red Hat Enterprise Linux" --version=9 --release=9 --volid="RHEL-9-test" \
$REPOS --isfinal --nomacboot /var/tmp/lorax-rhel9-iso/

15
tests/tests.yml Normal file
View File

@ -0,0 +1,15 @@
---
# Run lorax with the new templates
- hosts: localhost
roles:
- role: standard-test-basic
tags:
- classic
required_packages:
- lorax
tests:
- simple:
dir: scripts
run: ./run_tests.sh

130
tools/git-changelog Executable file
View File

@ -0,0 +1,130 @@
#!/usr/bin/python3
#
# git-changelog - Output a rpm changelog
#
# Copyright (C) 2009 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published
# by the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# Author: David Cantrell <dcantrell@redhat.com>
# Author: Brian C. Lane <bcl@redhat.com>
import os
import re
import subprocess
import sys
import textwrap
from argparse import ArgumentParser
class ChangeLog:
def __init__(self, tag):
self.tag = tag
self.ignore = None
def _getCommitDetail(self, commit, field, long=False):
proc = subprocess.Popen(['git', 'log', '-1',
"--pretty=format:%s" % field, commit],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE).communicate()
ret = proc[0].decode("utf8").strip("\n").split('\n')
if long:
return ret
if len(ret) == 1 and ret[0].find('@') != -1:
ret = ret[0].split('@')[0]
elif len(ret) == 1:
ret = ret[0]
else:
ret = filter(lambda x: x != '', ret)
return ret
def getBugs(self, msg):
"""Get the Resolves/Related bugs from the commit.
Bug in first line is considered Resolves
"""
bugs = []
if not msg:
return []
# summary line format is ^.*#([0-9]+).*
# Make sure the bz# isn't likely to be a github issue
for line in msg:
m = re.match(r"^(Resolves|Related|Conflicts):\ +(rhbz#|RHEL-)(\d+)", line)
if m and m.group(1) and m.group(2) and m.group(3):
bugs.append((m.group(1), m.group(2), m.group(3)))
else:
# Assume summary line references are still rhbz# only
m = re.match(r"^.*#(\d+).*", line)
if m and m.group(1) and int(m.group(1)) > 100000:
bugs.append(("Resolves", "rhbz#", m.group(1)))
return bugs
def getLog(self):
rev_range = "%s.." % (self.tag)
proc = subprocess.Popen(['git', 'log', '--pretty=oneline', rev_range],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE).communicate()
lines = filter(lambda x: x.find('l10n: ') != 41 and \
x.find('Merge commit') != 41 and \
x.find('Merge branch') != 41,
proc[0].decode("utf8").strip('\n').split('\n'))
if self.ignore and self.ignore != '':
for commit in self.ignore.split(','):
lines = filter(lambda x: not x.startswith(commit), lines)
log = []
for line in lines:
fields = line.split(' ')
commit = fields[0]
summary = self._getCommitDetail(commit, "%s")
long = self._getCommitDetail(commit, "%b", True)
author = self._getCommitDetail(commit, "%aE")
msg = ["%s (%s)" % (summary.strip(), author)]
for r, kind, bz in self.getBugs(long):
msg.append("%s: %s%s" % (r, kind, bz))
log.append(msg)
return log
def formatLog(self):
s = ""
for msg in self.getLog():
sublines = textwrap.wrap(msg[0], 77)
s = s + "- %s\n" % sublines[0]
for line in sublines[1:] + msg[1:]:
s = s + " %s\n" % line
return s
def main():
parser = ArgumentParser(description="Generate changelog entries from git commits")
parser.add_argument("-t", "--tag", dest="tag",
help="Last tag, changelog is commits after this tag")
args = parser.parse_args()
cl = ChangeLog(args.tag)
print(cl.formatLog())
if __name__ == "__main__":
main()