diff --git a/docs/livemedia-creator.rst b/docs/livemedia-creator.rst index 0d76795f..0e0f549c 100644 --- a/docs/livemedia-creator.rst +++ b/docs/livemedia-creator.rst @@ -53,13 +53,13 @@ Quickstart Run this to create a bootable live iso:: sudo livemedia-creator --make-iso \ - --iso=/extra/iso/boot.iso --ks=./docs/fedora-livemedia.ks + --iso=/extra/iso/boot.iso --ks=./docs/rhel-livemedia.ks You can run it directly from the lorax git repo like this:: sudo PATH=./src/sbin/:$PATH PYTHONPATH=./src/ ./src/sbin/livemedia-creator \ --make-iso --iso=/extra/iso/boot.iso \ - --ks=./docs/fedora-livemedia.ks --lorax-templates=./share/ + --ks=./docs/rhel-livemedia.ks --lorax-templates=./share/ You can observe the installation using vnc. The logs will show what port was chosen, or you can use a specific port by passing it. eg. ``--vnc vnc:127.0.0.1:5`` @@ -202,7 +202,7 @@ the current directory or in the directory used for --logfile Example cmdline: -``sudo livemedia-creator --make-iso --no-virt --ks=./fedora-livemedia.ks`` +``sudo livemedia-creator --make-iso --no-virt --ks=./rhel-livemedia.ks`` .. note:: Using no-virt to create a partitioned disk image (eg. --make-disk or @@ -225,7 +225,7 @@ that it would work with livemedia-creator. Example cmdline: -``sudo livemedia-creator --make-ami --iso=/path/to/boot.iso --ks=./docs/fedora-livemedia-ec2.ks`` +``sudo livemedia-creator --make-ami --iso=/path/to/boot.iso --ks=./docs/rhel-livemedia-ec2.ks`` This will produce an ami-root.img file in the working directory. @@ -297,7 +297,7 @@ The created image can be imported into libvirt using: You can also create qcow2 appliance images using ``--image-type=qcow2``, for example:: - sudo livemedia-creator --make-appliance --iso=/path/to/boot.iso --ks=./docs/fedora-minimal.ks \ + sudo livemedia-creator --make-appliance --iso=/path/to/boot.iso --ks=./docs/rhel-minimal.ks \ --image-type=qcow2 --app-file=minimal-test.xml --image-name=minimal-test.img @@ -310,7 +310,7 @@ no-virt modes of operation. Previously it was only available with no-virt. Kickstarts should have a single / partition with no extra mountpoints. - ``livemedia-creator --make-fsimage --iso=/path/to/boot.iso --ks=./docs/fedora-minimal.ks`` + ``livemedia-creator --make-fsimage --iso=/path/to/boot.iso --ks=./docs/rhel-minimal.ks`` You can name the output image with ``--image-name`` and set a label on the filesystem with ``--fs-label`` @@ -327,8 +327,8 @@ As with ``--make-fsimage`` the kickstart should be limited to a single / partiti For example:: - livemedia-creator --make-tar --iso=/path/to/boot.iso --ks=./docs/fedora-minimal.ks \ - --image-name=fedora-root.tar.xz + livemedia-creator --make-tar --iso=/path/to/boot.iso --ks=./docs/rhel-minimal.ks \ + --image-name=rhel-root.tar.xz Live Image for PXE Boot @@ -349,7 +349,7 @@ using Atomic installer iso with local repo included in the image can be found in docs/rhel-atomic-pxe-live.ks. The PXE images can also be created with ``--no-virt`` by using the example -kickstart in docs/fedora-atomic-pxe-live-novirt.ks. This also works inside the +kickstart in docs/rhel-atomic-pxe-live-novirt.ks. This also works inside the mock environment. @@ -394,16 +394,16 @@ group. ``url points to the correct repo`` 7. Init the mock - ``mock -r fedora-rawhide-x86_64 --old-chroot --init`` + ``mock -r rhel-8-x86_64 --old-chroot --init`` 8. Copy the kickstart inside the mock - ``mock -r fedora-rawhide-x86_64 --old-chroot --copyin ./fedora-minimal.ks /root/`` + ``mock -r rhel-8-x86_64 --old-chroot --copyin ./rhel-minimal.ks /root/`` 9. Make a minimal iso:: - mock -r fedora-rawhide-x86_64 --old-chroot --chroot -- livemedia-creator --no-virt \ + mock -r rhel-8-x86_64 --old-chroot --chroot -- livemedia-creator --no-virt \ --resultdir=/results/try-1 --logfile=/results/logs/try-1/try-1.log \ - --make-iso --ks /root/fedora-minimal.ks + --make-iso --ks /root/rhel-minimal.ks Results will be in ./results/try-1 and logs under /results/logs/try-1/ including anaconda logs and livemedia-creator logs. The new iso will be @@ -448,19 +448,19 @@ group. ``url points to the correct repo`` 7. Init the mock - ``mock -r fedora-rawhide-x86_64 --old-chroot --init`` + ``mock -r rhel-8-x86_64 --old-chroot --init`` 8. Copy the kickstart inside the mock - ``mock -r fedora-rawhide-x86_64 --old-chroot --copyin ./fedora-minimal.ks /root/`` + ``mock -r rhel-8-x86_64 --old-chroot --copyin ./rhel-minimal.ks /root/`` 9. Copy the Anaconda boot.iso inside the mock - ``mock -r fedora-rawhide-x86_64 --old-chroot --copyin ./boot.iso /root/`` + ``mock -r rhel-8-x86_64 --old-chroot --copyin ./boot.iso /root/`` 10. Make a minimal iso:: - mock -r fedora-rawhide-x86_64 --old-chroot --chroot -- livemedia-creator \ + mock -r rhel-8-x86_64 --old-chroot --chroot -- livemedia-creator \ --resultdir=/results/try-1 --logfile=/results/logs/try-1/try-1.log \ - --make-iso --ks /root/fedora-minimal.ks --iso /root/boot.iso + --make-iso --ks /root/rhel-minimal.ks --iso /root/boot.iso Results will be in ./results/try-1 and logs under /results/logs/try-1/ including anaconda logs and livemedia-creator logs. The new iso will be @@ -480,39 +480,39 @@ You need to have access to an OpenStack provider that allows image uploads, or setup your own using the instructions from the `RDO Project `_. -The example kickstart, fedora-openstack.ks, is only slightly different than the -fedora-minimal.ks one. It adds the cloud-init and cloud-utils-growpart +The example kickstart, rhel-openstack.ks, is only slightly different than the +rhel-minimal.ks one. It adds the cloud-init and cloud-utils-growpart packages. OpenStack supports setting up the image using cloud-init, and cloud-utils-growpart will grow the image to fit the instance's disk size. Create a qcow2 image using the kickstart like this: - ``sudo livemedia-creator --make-disk --iso=/path/to/boot.iso --ks=/path/to/fedora-openstack.ks --image-type=qcow2`` + ``sudo livemedia-creator --make-disk --iso=/path/to/boot.iso --ks=/path/to/rhel-openstack.ks --image-type=qcow2`` .. note:: On the RHEL7 version of lmc ``--image-type`` isn't supported. You can only create a bare partitioned disk image. Import the resulting disk image into the OpenStack system, either via the web UI, or glance on the cmdline:: - glance image-create --name "fedora-openstack" --is-public true --disk-format qcow2 \ - --container-format bare --file ./fedora-openstack.qcow2 + glance image-create --name "rhel-openstack" --is-public true --disk-format qcow2 \ + --container-format bare --file ./rhel-openstack.qcow2 If qcow2 wasn't used then ``--disk-format`` should be set to raw. -Docker Image Creation ---------------------- +Container Image Creation +------------------------ Use lmc to create a tarfile as described in the `TAR File Creation`_ section, but substitute the -fedora-docker.ks example kickstart which removes the requirement for core files and the kernel. +rhel-container.ks example kickstart which removes the requirement for core files and the kernel. -You can then import the tarfile into docker like this (as root): +You can then import the tarfile into podman or docker like this: - ``cat /var/tmp/fedora-root.tar.xz | docker import - fedora-root`` + ``podman import /var/tmp/root.tar.xz rhel-root`` And then run bash inside of it: - ``sudo docker run -i -t fedora-root /bin/bash`` + ``podman run -i -t rhel-root /bin/bash`` Open Container Initiative Image Creation @@ -523,7 +523,7 @@ The OCI is a new specification that is still being worked on. You can read more OCI images using the following command:: sudo livemedia-creator --make-oci --oci-config /path/to/config.json --oci-runtime /path/to/runtime.json \ - --iso=/path/to/boot.iso --ks=/path/to/fedora-minimal.ks + --iso=/path/to/boot.iso --ks=/path/to/rhel-minimal.ks You must provide the config.json and runtime.json files to be included in the bundle, their specifications can be found `on the OCI github project `_ @@ -539,7 +539,7 @@ Vagrant Image Creation `Vagrant `_ images can be created using the following command:: sudo livemedia-creator --make-vagrant --vagrant-metadata /path/to/metadata.json \ - --iso=/path/to/boot.iso --ks=/path/to/fedora-vagrant.ks + --iso=/path/to/boot.iso --ks=/path/to/rhel-vagrant.ks The image created is a `vagrant-libvirt `_ provider image and needs to have @@ -579,7 +579,7 @@ but it amounts to: Now you can run livemedia-creator with ``--virt-uefi`` to boot and install using UEFI:: sudo livemedia-creator --make-disk --virt-uefi --iso=/path/to/boot.iso \ - --ks=/path/to/fedora-minimal.ks + --ks=/path/to/rhel-minimal.ks Make sure that the kickstart you are using creates a /boot/efi partition by including this:: @@ -588,7 +588,7 @@ Make sure that the kickstart you are using creates a /boot/efi partition by incl .. note:: When using the resulting image with the current version of OVMF (edk2.git-ovmf-x64-0-20151103.b1295.ge5cffca) it will not boot automatically because there is a problem with the fallback path. - You can boot it by entering the UEFI shell and running EFI/fedora/shim.efi and + You can boot it by entering the UEFI shell and running EFI/redhat/shim.efi and then using efibootmgr to setup the correct boot entry. @@ -635,6 +635,6 @@ Development on this will take place as part of the lorax project, and on the anaconda-devel-list mailing list, and `on github `_ Feedback, enhancements and bugs are welcome. You can use `bugzilla -`_ to +`_ to report bugs against the lorax component. diff --git a/docs/lorax-composer.rst b/docs/lorax-composer.rst index c743ed5b..d4c00774 100644 --- a/docs/lorax-composer.rst +++ b/docs/lorax-composer.rst @@ -251,7 +251,7 @@ needs 3 things: the compose directory to the results directory. The ``partitioned-disk.ks`` is pretty similar to the example minimal kickstart -in ``./docs/fedora-minimal.ks``. You should remove the ``url`` and ``repo`` +in ``./docs/rhel-minimal.ks``. You should remove the ``url`` and ``repo`` commands, they will be added by the compose process. Make sure the bootloader packages are included in the ``%packages`` section at the end of the kickstart, and you will want to leave off the ``%end`` so that the compose can append the diff --git a/docs/fedora-atomic-pxe-live-novirt.ks b/docs/rhel-atomic-pxe-live-novirt.ks similarity index 72% rename from docs/fedora-atomic-pxe-live-novirt.ks rename to docs/rhel-atomic-pxe-live-novirt.ks index e0f27800..5298a755 100644 --- a/docs/fedora-atomic-pxe-live-novirt.ks +++ b/docs/rhel-atomic-pxe-live-novirt.ks @@ -12,7 +12,9 @@ part / --fstype="ext4" --size=6000 shutdown -ostreesetup --nogpg --osname=fedora-atomic --remote=fedora-atomic --url=https://dl.fedoraproject.org/pub/fedora/linux/atomic/24/ --ref=fedora-atomic/rawhide/x86_64/docker-host +# Replace OSTREE-REPO with the url to an ostree repo +# Replace OSTREE-REFERENCE with an ostree reference to pull +ostreesetup --nogpg --osname=fedora-atomic --remote=fedora-atomic --url=OSTREE-REPO --ref=OSTREE-REFERENCE services --disabled=cloud-init,cloud-init-local,cloud-final,cloud-config,docker-storage-setup @@ -24,5 +26,7 @@ cat /dev/null > /etc/fstab %post --erroronfail rm -f /etc/ostree/remotes.d/fedora-atomic.conf -ostree remote add --set=gpg-verify=false fedora-atomic 'https://dl.fedoraproject.org/pub/fedora/linux/atomic/24/' + +# Replace OSTREE-REPO with the url to an ostree repo +ostree remote add --set=gpg-verify=false fedora-atomic 'OSTREE-REPO' %end diff --git a/docs/fedora-atomic-pxe-live.ks b/docs/rhel-atomic-pxe-live.ks similarity index 100% rename from docs/fedora-atomic-pxe-live.ks rename to docs/rhel-atomic-pxe-live.ks diff --git a/docs/fedora-docker.ks b/docs/rhel-container.ks similarity index 70% rename from docs/fedora-docker.ks rename to docs/rhel-container.ks index ea0fd3f0..1cfa2903 100644 --- a/docs/fedora-docker.ks +++ b/docs/rhel-container.ks @@ -1,12 +1,13 @@ -# Minimal Disk Image +# Minimal install for containers # Use network installation -url --url="http://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/" +url --url="http://URL-TO-BASEOS/" +repo --name=appstream --baseurl="http://URL-TO-APPSTREAM/" +# Network information +network --bootproto=dhcp --device=link --activate # Root password -rootpw --plaintext replace-this-pw -# Network information -network --bootproto=dhcp --activate +rootpw --plaintext removethispw # System authorization information auth --useshadow --passalgo=sha512 # System keyboard @@ -31,9 +32,14 @@ part / --fstype="ext4" --size=3000 %post # Remove random-seed rm /var/lib/systemd/random-seed + +# Clear /etc/machine-id +rm /etc/machine-id +touch /etc/machine-id %end %packages --nocore --instLangs en httpd -kernel +policycoreutils %end diff --git a/docs/fedora-livemedia.ks b/docs/rhel-livemedia.ks similarity index 91% rename from docs/fedora-livemedia.ks rename to docs/rhel-livemedia.ks index c854ad13..83fad73e 100644 --- a/docs/fedora-livemedia.ks +++ b/docs/rhel-livemedia.ks @@ -10,7 +10,8 @@ timezone US/Eastern lang en_US.UTF-8 # Firewall configuration firewall --enabled --service=mdns -url --url="http://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/" +url --url="http://URL-TO-BASEOS" +repo --name=appstream --baseurl="http://URL-TO-APPSTREAM" # Network information network --bootproto=dhcp --device=link --activate @@ -20,7 +21,7 @@ auth --useshadow --passalgo=sha512 selinux --enforcing # System services -services --disabled="network,sshd" --enabled="NetworkManager,ModemManager" +services --disabled="sshd" --enabled="NetworkManager" # livemedia-creator modifications. shutdown @@ -143,7 +144,7 @@ if [ -n "\$configdone" ]; then exit 0 fi -# add fedora user with no passwd +# add liveuser with no passwd action "Adding live user" useradd \$USERADDARGS -c "Live System User" liveuser passwd -d liveuser > /dev/null usermod -aG wheel liveuser > /dev/null @@ -266,7 +267,8 @@ EOF rm -f /var/lib/rpm/__db* releasever=$(rpm -q --qf '%{version}\n' --whatprovides system-release) basearch=$(uname -i) -rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch +rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta +rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release echo "Packages within this LiveCD" rpm -qa # Note that running rpm recreates the rpm db files which aren't needed or wanted @@ -290,23 +292,46 @@ rm /var/lib/systemd/random-seed # Remove the rescue kernel and image to save space # Installation will recreate these on the target rm -f /boot/*-rescue* + +# Remove machine-id on pre generated images +rm -f /etc/machine-id +touch /etc/machine-id %end %post cat >> /etc/rc.d/init.d/livesys << EOF - -# disable updates plugin +# disable gnome-software automatically downloading updates cat >> /usr/share/glib-2.0/schemas/org.gnome.software.gschema.override << FOE [org.gnome.software] download-updates=false FOE +# don't autostart gnome-software session service +rm -f /etc/xdg/autostart/gnome-software-service.desktop + +# disable the gnome-software shell search provider +cat >> /usr/share/gnome-shell/search-providers/org.gnome.Software-search-provider.ini << FOE +DefaultDisabled=true +FOE + # don't run gnome-initial-setup mkdir ~liveuser/.config touch ~liveuser/.config/gnome-initial-setup-done +# suppress anaconda spokes redundant with gnome-initial-setup +cat >> /etc/sysconfig/anaconda << FOE +[NetworkSpoke] +visited=1 + +[PasswordSpoke] +visited=1 + +[UserSpoke] +visited=1 +FOE + # make the installer show up if [ -f /usr/share/applications/liveinst.desktop ]; then # Show harddisk install in shell dash @@ -356,24 +381,20 @@ EOF %end %packages -@anaconda-tools @base-x -@core -@firefox @fonts @guest-desktop-agents @hardware-support -@libreoffice @multimedia @networkmanager-submodules -@printing @workstation-product +@gnome-desktop +firefox gnome-terminal aajohan-comfortaa-fonts anaconda dracut-config-generic dracut-live -fedora-productimg-workstation glibc-all-langpacks grub2-efi kernel @@ -384,8 +405,6 @@ memtest86+ syslinux -@dial-up -@input-methods --@standard -gfs2-utils --reiserfs-utils %end diff --git a/docs/fedora-minimal.ks b/docs/rhel-minimal.ks similarity index 83% rename from docs/fedora-minimal.ks rename to docs/rhel-minimal.ks index 333bcc07..74143d97 100644 --- a/docs/fedora-minimal.ks +++ b/docs/rhel-minimal.ks @@ -1,10 +1,10 @@ # Minimal Disk Image # -sshpw --username=root --plaintext randOmStrinGhERE # Firewall configuration firewall --enabled # Use network installation -url --url="http://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/" +url --url="http://URL-TO-BASEOS/" +repo --name=appstream --baseurl="http://URL-TO-APPSTREAM/" # Network information network --bootproto=dhcp --device=link --activate @@ -29,8 +29,8 @@ bootloader --location=mbr # Partition clearing information clearpart --all --initlabel # Disk partitioning information -part / --fstype="ext4" --size=4000 -part swap --size=1000 +part / --fstype="ext4" --size=1500 +part swap --size=512 %post # Remove root password @@ -38,6 +38,10 @@ passwd -d root > /dev/null # Remove random-seed rm /var/lib/systemd/random-seed + +# Clear /etc/machine-id +rm /etc/machine-id +touch /etc/machine-id %end %packages diff --git a/docs/fedora-minimized.ks b/docs/rhel-minimized.ks similarity index 94% rename from docs/fedora-minimized.ks rename to docs/rhel-minimized.ks index 4b968d4d..2ee78677 100644 --- a/docs/fedora-minimized.ks +++ b/docs/rhel-minimized.ks @@ -1,10 +1,10 @@ # Minimal Disk Image -- Example of image-minimizer usage in %post # -sshpw --username=root --plaintext randOmStrinGhERE # Firewall configuration firewall --enabled # Use network installation -url --url="http://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/" +url --url="http://URL-TO-BASEOS/" +repo --name=appstream --baseurl="http://URL-TO-APPSTREAM/" # Network information network --bootproto=dhcp --device=link --activate @@ -38,6 +38,10 @@ passwd -d root > /dev/null # Remove random-seed rm /var/lib/systemd/random-seed + +# Clear /etc/machine-id +rm /etc/machine-id +touch /etc/machine-id %end %packages diff --git a/docs/fedora-openstack.ks b/docs/rhel-openstack.ks similarity index 83% rename from docs/fedora-openstack.ks rename to docs/rhel-openstack.ks index 2ee9c8bd..ad495bf6 100644 --- a/docs/fedora-openstack.ks +++ b/docs/rhel-openstack.ks @@ -3,12 +3,13 @@ # Firewall configuration firewall --enabled # Use network installation -url --url="http://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/" +url --url="http://URL-TO-BASEOS/" +repo --name=appstream --baseurl="http://URL-TO-APPSTREAM/" +# Network information +network --bootproto=dhcp --device=link --activate # Root password rootpw --plaintext replace-this-pw -# Network information -network --bootproto=dhcp --activate # System authorization information auth --useshadow --passalgo=sha512 # System keyboard @@ -35,6 +36,10 @@ part / --fstype="ext4" --size=3000 %post # Remove random-seed rm /var/lib/systemd/random-seed + +# Clear /etc/machine-id +rm /etc/machine-id +touch /etc/machine-id %end %packages diff --git a/docs/fedora-vagrant.ks b/docs/rhel-vagrant.ks similarity index 89% rename from docs/fedora-vagrant.ks rename to docs/rhel-vagrant.ks index 3ce7b2a0..d7b55644 100644 --- a/docs/fedora-vagrant.ks +++ b/docs/rhel-vagrant.ks @@ -4,9 +4,10 @@ # Firewall configuration firewall --enabled # Use network installation -url --url="http://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/" +url --url="http://URL-TO-BASEOS/" +repo --name=appstream --baseurl="http://URL-TO-APPSTREAM/" # Network information -network --bootproto=dhcp --activate +network --bootproto=dhcp --device=link --activate # Root account is locked, access via sudo from vagrant user rootpw --lock @@ -41,6 +42,10 @@ part swap --size=1000 # Remove random-seed rm /var/lib/systemd/random-seed +# Clear /etc/machine-id +rm /etc/machine-id +touch /etc/machine-id + # Setup sudoers for Vagrant echo 'vagrant ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers sed -i 's/Defaults\s*requiretty/Defaults !requiretty/' /etc/sudoers