-
Notifications
You must be signed in to change notification settings - Fork 231
USHIFT-4299: Rewrite RHEL for Edge ISO contributor doc #7161
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,66 @@ | ||
| lang en_US.UTF-8 | ||
| keyboard us | ||
| timezone UTC | ||
| text | ||
| reboot | ||
|
|
||
| # Configure network to use DHCP and activate on boot | ||
| network --bootproto=dhcp --device=link --activate --onboot=on | ||
|
|
||
| # Partition the disk with hardware-specific boot partitions, adding an LVM | ||
| # volume that contains a 10GB+ system root. The remainder of the volume will | ||
| # be used by the LVMS CSI driver for storing data. | ||
| zerombr | ||
| clearpart --all --initlabel | ||
| reqpart --add-boot | ||
| part pv.01 --grow | ||
| volgroup rhel pv.01 | ||
| logvol / --vgname=rhel --fstype=xfs --size=10240 --name=root | ||
|
|
||
| # Lock root user account | ||
| rootpw --lock | ||
|
|
||
| # Deploy the ostree commit embedded in the edge-installer ISO | ||
| ostreesetup --nogpg --osname=rhel --remote=edge --url=file:///run/install/repo/ostree/repo --ref=rhel/9/x86_64/edge | ||
|
|
||
| # Post install configuration | ||
| %post --log=/dev/console --erroronfail | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🎯 Functional Correctness | 🟠 Major | 🏗️ Heavy lift 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
rg -n -C 3 'openshift-pull-secret|firewall-offline-cmd|10\.42\.0\.0/16|169\.254\.169\.1' .Repository: openshift/microshift Length of output: 50379 Add MicroShift runtime prerequisites to the Kickstart.
🤖 Prompt for AI Agents
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Won't fix — pull secret and firewall rules are handled by blueprint customizations in the official procedure that this guide references.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
printf '%s\n' '--- documentation outline ---'
ast-grep outline docs/contributor/rhel4edge_iso.md --items all 2>/dev/null || true
printf '%s\n' '--- relevant guide content ---'
rg -n -i -C 5 \
'blueprint|customization|pull.?secret|firewall|image.builder|composer|red.?hat' \
docs/contributor/rhel4edge_iso.md docs/config/microshift-edge.ks || true
printf '%s\n' '--- repository references to required settings ---'
rg -n -i -C 3 \
'openshift-pull-secret|firewall-offline-cmd|10\.42\.0\.0/16|169\.254\.169\.1' \
docs config packaging 2>/dev/null || trueLength of output: 44838 🤖 web_search executed:
Length of output: 14288
The linked Red Hat procedure instructs users to add the pull secret and both firewall sources in the Kickstart The repository blueprint template configures the firewall sources, but it does not configure You are interacting with an AI system. |
||
|
|
||
| # Create a default redhat user, allowing it to run sudo commands without password | ||
| useradd -m -d /home/redhat -p \$5\$XDVQ6DxT8S5YWLV7\$8f2om5JfjK56v9ofUkUAwZXTxJl3Sqnc9yPnza4xoJ0 redhat | ||
| echo -e 'redhat\tALL=(ALL)\tNOPASSWD: ALL' > /etc/sudoers.d/microshift | ||
|
coderabbitai[bot] marked this conversation as resolved.
|
||
|
|
||
| # Import Red Hat public keys to allow RPM GPG check (not necessary if a system is registered) | ||
| if ! subscription-manager status >& /dev/null ; then | ||
| rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-* | ||
| fi | ||
|
|
||
| # Make the KUBECONFIG from MicroShift directly available for the root user | ||
| echo -e 'export KUBECONFIG=/var/lib/microshift/resources/kubeadmin/kubeconfig' >> /root/.bash_profile | ||
|
|
||
| # Configure systemd journal service to persist logs between boots and limit their size to 1G | ||
| sudo mkdir -p /etc/systemd/journald.conf.d | ||
| cat > /etc/systemd/journald.conf.d/microshift.conf <<EOF | ||
| [Journal] | ||
| Storage=persistent | ||
| SystemMaxUse=1G | ||
| RuntimeMaxUse=1G | ||
| EOF | ||
|
|
||
| # Make sure all the Ethernet network interfaces are connected automatically | ||
| # by removing autoconnect option from the configuration files | ||
| find /etc/NetworkManager -name '*.nmconnection' -print0 | while IFS= read -r -d $'\0' file ; do | ||
| if grep -qE '^type=ethernet' "${file}" ; then | ||
| sed -i '/autoconnect=.*/d' "${file}" | ||
| fi | ||
| done | ||
|
|
||
| # Work around bootupd not installing the EFI grub.cfg during ostree deployment. | ||
| # Without these files the UEFI firmware loads grubx64.efi but GRUB drops to a | ||
| # shell because it cannot find its configuration. | ||
| if [ -d /boot/efi/EFI/redhat ] && [ -f /usr/lib/bootupd/grub2-static/grub-static-efi.cfg ]; then | ||
| cp /usr/lib/bootupd/grub2-static/grub-static-efi.cfg /boot/efi/EFI/redhat/grub.cfg | ||
| cp /boot/grub2/bootuuid.cfg /boot/efi/EFI/redhat/bootuuid.cfg | ||
| fi | ||
|
coderabbitai[bot] marked this conversation as resolved.
|
||
|
|
||
| %end | ||
| Original file line number | Diff line number | Diff line change | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| @@ -1,17 +1,24 @@ | ||||||||||
| # Install MicroShift on RHEL for Edge | ||||||||||
| To test MicroShift in a setup similar to the production environment, it is necessary to create a RHEL for Edge ISO installer with all the necessary components preloaded on the image. | ||||||||||
|
|
||||||||||
| The official [Embedding in a RHEL for Edge image](https://docs.redhat.com/en/documentation/red_hat_build_of_microshift/4.22/html/embedding_in_a_rhel_for_edge_image/microshift-embed-in-rpm-ostree) documentation covers the full procedure for building an installer ISO from released MicroShift RPMs. This document describes a modified workflow for building from **locally compiled** RPMs, which is necessary when testing changes that have not been released. | ||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We now support |
||||||||||
|
|
||||||||||
| The procedures described in this document require the following setup: | ||||||||||
| * A `physical hypervisor host` with the [libvirt](https://libvirt.org/) virtualization platform, to be used for starting virtual machines that run RHEL for Edge OS containing MicroShift binaries | ||||||||||
| * A `physical hypervisor host` running RHEL with the [libvirt](https://libvirt.org/) virtualization platform and at least 50GB of free disk space | ||||||||||
| * Packages: `libvirt`, `virt-install`, `virt-viewer`, `qemu-kvm` | ||||||||||
|
ggiguash marked this conversation as resolved.
|
||||||||||
| * A `development virtual machine` set up according to the [MicroShift Development Environment](./devenv_setup.md) instructions, to be used for building a RHEL for Edge ISO installer | ||||||||||
| * An active RHEL subscription is required for building images | ||||||||||
|
|
||||||||||
| ## Build RHEL for Edge Installer ISO | ||||||||||
| Log into the `development virtual machine` with the `microshift` user credentials. | ||||||||||
|
|
||||||||||
| Follow the instructions in the [RPM Packages](./devenv_setup.md#rpm-packages) section to create MicroShift RPM packages. | ||||||||||
| Log into the `development virtual machine` with the `microshift` user credentials. | ||||||||||
|
|
||||||||||
| ### Prerequisites | ||||||||||
| Execute the `scripts/devenv-builder/configure-composer.sh` script to install the tools necessary for building the installer image. | ||||||||||
|
|
||||||||||
| Execute the `scripts/devenv-builder/configure-composer.sh` script to install `osbuild-composer` and its dependencies. | ||||||||||
| ```bash | ||||||||||
| ~/microshift/scripts/devenv-builder/configure-composer.sh | ||||||||||
| ``` | ||||||||||
|
|
||||||||||
| Download the OpenShift pull secret from the https://console.redhat.com/openshift/downloads#tool-pull-secret page and save it into the `~/.pull-secret.json` file. | ||||||||||
|
|
||||||||||
|
|
@@ -20,17 +27,54 @@ Make sure there is more than 20GB of free disk space necessary for the build art | |||||||||
| ~/microshift/scripts/devenv-builder/cleanup-composer.sh -full | ||||||||||
| ``` | ||||||||||
|
|
||||||||||
| ### Building Installer | ||||||||||
| > TODO: The `image-builder/build.sh` script has been deprecated. | ||||||||||
| > This section will be rewritten in the context of [USHIFT-4299](https://issues.redhat.com/browse/USHIFT-4299). | ||||||||||
| ### Build MicroShift RPMs | ||||||||||
|
|
||||||||||
| Follow the instructions in the [RPM Packages](./devenv_setup.md#rpm-packages) section or run: | ||||||||||
| ```bash | ||||||||||
| cd ~/microshift | ||||||||||
| make rpm | ||||||||||
| ``` | ||||||||||
|
|
||||||||||
| The RPMs are placed under `_output/rpmbuild/RPMS/`. | ||||||||||
|
|
||||||||||
| ### Create a Local RPM Repository | ||||||||||
|
|
||||||||||
| Create a local repository from the built RPMs so that `osbuild-composer` can resolve them as a package source. This replaces the released MicroShift RPMs that the [official procedure](https://docs.redhat.com/en/documentation/red_hat_build_of_microshift/4.22/html/embedding_in_a_rhel_for_edge_image/microshift-embed-in-rpm-ostree#adding-microshift-repos-image-builder_microshift-embed-in-rpm-ostree) obtains from CDN. | ||||||||||
|
|
||||||||||
| ```bash | ||||||||||
| BUILDDIR=~/microshift/_output/image-builder | ||||||||||
| mkdir -p "${BUILDDIR}/microshift-local" | ||||||||||
| cp ~/microshift/_output/rpmbuild/RPMS/*/*.rpm "${BUILDDIR}/microshift-local/" | ||||||||||
| createrepo "${BUILDDIR}/microshift-local" | ||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
for command_name in createrepo_c createrepo; do
if command -v "${command_name}" >/dev/null 2>&1; then
printf '%s: %s\n' "${command_name}" "$(command -v "${command_name}")"
else
printf '%s: unavailable\n' "${command_name}"
fi
doneRepository: openshift/microshift Length of output: 208 🏁 Script executed: #!/bin/bash
set -euo pipefail
file="$(git ls-files | rg '^docs/contributor/rhel4edge_iso\.md$')"
printf '%s\n' "$file"
cat -n "$file" | sed -n '1,145p'
printf '\nPackage and command references:\n'
rg -n -i 'createrepo(_c)?|edk2-ovmf|dnf .*install|microshift-local' docs scripts .github 2>/dev/null | head -200Repository: openshift/microshift Length of output: 13892 🏁 Script executed: #!/bin/bash
set -euo pipefail
printf '%s\n' 'configure-composer.sh:'
cat -n scripts/devenv-builder/configure-composer.sh | sed -n '1,90p'
printf '%s\n' 'configure-vm.sh relevant sections:'
cat -n scripts/devenv-builder/configure-vm.sh | sed -n '250,350p'
printf '%s\n' 'All repository references:'
rg -n -C 2 '\bcreaterepo(_c)?\b' --glob '!docs/contributor/rhel4edge_iso.md'Repository: openshift/microshift Length of output: 9516 🌐 Web query:
💡 Result: In Red Hat Enterprise Linux (RHEL) 9, the legacy createrepo command has been replaced by createrepo_c [1]. The createrepo_c package provides a C-based implementation of the repository metadata generation utility, which is designed to be more efficient than the original Python-based version [2][3][4]. To create or update repository metadata in RHEL 9, use the createrepo_c command. 1. Installation If not already present, you can install the utility using the following command: sudo dnf install createrepo_c 2. Generating Repository Metadata To create a repository from a directory containing RPM packages, run the command pointing to that directory [5][6]: sudo createrepo_c /path/to/your/rpms This command will generate a repodata/ directory containing the necessary XML metadata files [6]. 3. Updating Repository Metadata If you add or remove packages from the repository, you can update the existing metadata efficiently by using the --update flag [7][6]: sudo createrepo_c --update /path/to/your/rpms Using --update is significantly faster for large repositories because it reuses existing metadata for packages that have not changed, recalculating only what is necessary [7][4]. Key Features: - Compatibility: createrepo_c is the standard tool for managing repositories in RHEL 9 and is fully compatible with modern DNF-based systems [6][8]. - Performance: Being written in C, it offers improved performance and lower resource usage compared to the legacy tool [2][3]. - Utilities: The package also includes related utilities such as mergerepo_c (for merging repositories), modifyrepo_c (for modifying metadata), and sqliterepo_c [3]. Citations:
🌐 Web query:
💡 Result: To install the createrepo_c package on systems that use DNF (such as RHEL, Fedora, or AlmaLinux), use the following command: sudo dnf install createrepo_c createrepo_c is a tool used to generate common metadata for package repositories [1][2]. It creates the necessary repository metadata (in XML format) from a directory of RPM packages, enabling DNF or other package managers to treat that directory as a valid software repository [1][3]. It is frequently used in workflows involving custom software distribution and repository management [4][2]. Note that while createrepo_c is used to prepare repositories, it is a separate utility from DNF itself; DNF is the client-side tool used to install software from repositories [5][6]. Citations:
🌐 Web query:
💡 Result: In Red Hat Enterprise Linux (RHEL) 9, the legacy createrepo tool has been replaced by createrepo_c [1]. You should use the createrepo_c command to generate repository metadata for your RPM packages [2]. The createrepo_c package provides the functionality required to create, update, and manage local yum/dnf repositories [1]. Key details: - Package Name: The tool is provided by the createrepo_c package [3][1]. - Command: Use the createrepo_c command [2]. For example, to create a repository in the current directory, run: createrepo_c. [2] - Context: While older RHEL versions used createrepo, RHEL 8 and RHEL 9 utilize the more efficient C-based implementation, createrepo_c, to handle repository metadata generation [1][4]. If you are migrating legacy workflows that relied on the createrepo command, you should update those scripts or commands to use createrepo_c [1][2]. Citations:
🏁 Script executed: #!/bin/bash
set -euo pipefail
printf '%s\n' 'Tracked setup references with line numbers:'
rg -n -C 3 '\bcreaterepo(_c)?\b' scripts/devenv-builder docs/contributor/rhel4edge_iso.md
printf '%s\n' 'Package-name references in repository metadata files:'
rg -n -i '(^|[^[:alnum:]_])createrepo(_c)?([^[:alnum:]_]|$)' --glob '*.spec' --glob '*.yaml' --glob '*.yml' --glob '*.toml' --glob '*.json' --glob '*.txt' . 2>/dev/null || trueRepository: openshift/microshift Length of output: 2826 Use Change line 48 and update 🤖 Prompt for AI Agents |
||||||||||
| chmod -R a+rX "${BUILDDIR}/microshift-local" | ||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🩺 Stability & Availability | 🟠 Major | ⚡ Quick win Grant Image Builder access to the parent directories.
Proposed fix chmod -R a+rX "${BUILDDIR}/microshift-local"
+chmod a+rx "${HOME}" "${HOME}/microshift" \
+ "${HOME}/microshift/_output" "${BUILDDIR}"📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||
| ``` | ||||||||||
|
|
||||||||||
| Register it with `osbuild-composer`: | ||||||||||
| ```bash | ||||||||||
| cat <<EOF | sudo tee /tmp/microshift-local.toml | ||||||||||
| id = "microshift-local" | ||||||||||
| name = "MicroShift Local RPM Repo" | ||||||||||
| type = "yum-baseurl" | ||||||||||
| url = "file://${BUILDDIR}/microshift-local/" | ||||||||||
| check_gpg = false | ||||||||||
| check_ssl = false | ||||||||||
| system = false | ||||||||||
| EOF | ||||||||||
|
|
||||||||||
| sudo composer-cli sources add /tmp/microshift-local.toml | ||||||||||
| ``` | ||||||||||
|
|
||||||||||
| ### Build the Image | ||||||||||
|
|
||||||||||
| With the local RPM source registered, follow the official documentation starting from [Adding MicroShift repositories to image builder](https://docs.redhat.com/en/documentation/red_hat_build_of_microshift/4.22/html/embedding_in_a_rhel_for_edge_image/microshift-embed-in-rpm-ostree#adding-microshift-repos-image-builder_microshift-embed-in-rpm-ostree) through [Download the ISO and prepare it for use](https://docs.redhat.com/en/documentation/red_hat_build_of_microshift/4.22/html/embedding_in_a_rhel_for_edge_image/microshift-embed-in-rpm-ostree#microshift-download-iso-prep-for-use_microshift-embed-in-rpm-ostree). The procedure is identical — `osbuild-composer` will resolve `microshift` packages from the local repository instead of CDN. | ||||||||||
|
|
||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Same here about |
||||||||||
| Use `rhel/9/x86_64/edge` as the ostree ref in all `composer-cli compose start-ostree --ref` commands. This must match the ref in the [`microshift-edge.ks`](../config/microshift-edge.ks) kickstart. | ||||||||||
|
|
||||||||||
| ### Disk Partitioning | ||||||||||
| The `kickstart.ks` file is configured to partition the main disk using `Logical Volume Manager` (LVM). Such partitioning is required for the data volume to be utilized by the MicroShift CSI driver and it allows for flexible file system customization if the disk space runs out. | ||||||||||
| The [`microshift-edge.ks`](../config/microshift-edge.ks) file is configured to partition the main disk using `Logical Volume Manager` (LVM). Such partitioning is required for the data volume to be utilized by the MicroShift CSI driver and it allows for flexible file system customization if the disk space runs out. | ||||||||||
|
|
||||||||||
| By default, the following partition layout is created and formatted with the `XFS` file system: | ||||||||||
| * BIOS boot partition (1MB) | ||||||||||
| * It is required to boot ISO to systems with legacy BIOS while using GPT as the partitioning scheme. | ||||||||||
| * EFI partition with EFI file system (200MB) | ||||||||||
| By default, the following partition layout is created. The `/boot` and root partitions use the `XFS` file system: | ||||||||||
| * EFI System Partition with FAT file system (600MB) | ||||||||||
| * Boot partition is allocated on a 1GB volume | ||||||||||
| * The rest of the disk is managed by the `LVM` in a single volume group named `rhel` | ||||||||||
| * System root partition is allocated on a 10GB volume (minimal recommended size for a root partition) | ||||||||||
|
|
@@ -41,63 +85,66 @@ By default, the following partition layout is created and formatted with the `XF | |||||||||
|
|
||||||||||
| As an example, a 20GB disk is partitioned in the following manner by default. | ||||||||||
| ``` | ||||||||||
| $ lsblk /dev/sda | ||||||||||
| NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT | ||||||||||
| sda 8:0 0 20G 0 disk | ||||||||||
| ├─sda1 8:1 0 1M 0 part | ||||||||||
| ├─sda2 8:2 0 200M 0 part /boot/efi | ||||||||||
| ├─sda3 8:3 0 800M 0 part /boot | ||||||||||
| └─sda4 8:4 0 19G 0 part | ||||||||||
| $ lsblk /dev/vda | ||||||||||
| NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS | ||||||||||
| vda 252:0 0 20G 0 disk | ||||||||||
| ├─vda1 252:1 0 600M 0 part /boot/efi | ||||||||||
| ├─vda2 252:2 0 1G 0 part /boot | ||||||||||
| └─vda3 252:3 0 18.4G 0 part | ||||||||||
| └─rhel-root 253:0 0 10G 0 lvm /sysroot | ||||||||||
|
|
||||||||||
| $ sudo vgdisplay -s | ||||||||||
| "rhel" <19.02 GiB [10.00 GiB used / <9.02 GiB free] | ||||||||||
| "rhel" 18.41 GiB [10.00 GiB used / 8.41 GiB free] | ||||||||||
| ``` | ||||||||||
|
|
||||||||||
| > Unallocated disk space of 9GB size remains in the `rhel` volume group to be used by the CSI driver. | ||||||||||
| > Unallocated disk space of 8GB size remains in the `rhel` volume group to be used by the CSI driver. | ||||||||||
|
|
||||||||||
| ## Install MicroShift for Edge | ||||||||||
|
|
||||||||||
| Log into the `physical hypervisor host` using your user credentials. The remainder of this section describes how to install a virtual machine running RHEL for Edge OS containing MicroShift binaries. | ||||||||||
|
|
||||||||||
| Start by copying the installer image from the `development virtual machine` to the host file system. | ||||||||||
| Start by copying the installer image and kickstart from the `development virtual machine` to the host file system. Replace `<dev-vm-ip>` with the IP address of your development VM (run `sudo virsh domifaddr <vm-name>` on the hypervisor to find it). | ||||||||||
| ```bash | ||||||||||
| sudo scp microshift@microshift-dev:/home/microshift/microshift/_output/image-builder/microshift-installer-*.$(uname -m).iso /var/lib/libvirt/images/ | ||||||||||
| scp microshift@<dev-vm-ip>:/home/microshift/microshift/_output/image-builder/microshift-installer.$(uname -m).iso ~/ | ||||||||||
|
coderabbitai[bot] marked this conversation as resolved.
|
||||||||||
| scp microshift@<dev-vm-ip>:/home/microshift/microshift/docs/config/microshift-edge.ks ~/ | ||||||||||
| ``` | ||||||||||
|
|
||||||||||
| Run the following commands to create a virtual machine using the installer image. | ||||||||||
| Run the following commands to create a virtual machine using the installer image. The `--boot uefi` flag is required because the ostree image uses `bootupd` for bootloader management, which only supports UEFI. The `--location` flag extracts the installer kernel from the ISO for direct boot, and `--initrd-inject` embeds the kickstart into the installer initrd. | ||||||||||
| ```bash | ||||||||||
| VMNAME="microshift-edge" | ||||||||||
| NETNAME="default" | ||||||||||
| sudo bash -c " \ | ||||||||||
| cd /var/lib/libvirt/images/ && \ | ||||||||||
| virt-install \ | ||||||||||
| --name ${VMNAME} \ | ||||||||||
| ISOFILE="${HOME}/microshift-installer.$(uname -m).iso" | ||||||||||
|
|
||||||||||
| sudo virt-install \ | ||||||||||
| --name "${VMNAME}" \ | ||||||||||
| --vcpus 2 \ | ||||||||||
| --memory 3072 \ | ||||||||||
| --disk path=./${VMNAME}.qcow2,size=20 \ | ||||||||||
| --network network=${NETNAME},model=virtio \ | ||||||||||
| --memory 4096 \ | ||||||||||
| --boot uefi \ | ||||||||||
| --disk path="${HOME}/${VMNAME}.qcow2,size=50" \ | ||||||||||
| --network network="${NETNAME}",model=virtio \ | ||||||||||
| --events on_reboot=restart \ | ||||||||||
| --cdrom ./microshift-installer-*.$(uname -m).iso \ | ||||||||||
| --location "${ISOFILE}" \ | ||||||||||
| --initrd-inject "${HOME}/microshift-edge.ks" \ | ||||||||||
| --extra-args "inst.ks=file:/microshift-edge.ks" \ | ||||||||||
| --noautoconsole \ | ||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win 🧩 Analysis chain🏁 Script executed: sed -n '115,145p' docs/contributor/rhel4edge_iso.md
printf '\n--- related console references ---\n'
rg -n -i 'virt-viewer|console|noautoconsole|boot uefi|edk2-ovmf' docs/contributor/rhel4edge_iso.md docs/contributor 2>/dev/null | head -80Repository: openshift/microshift Length of output: 4931 Document how to access the console when using The command suppresses automatic console attachment, but the next paragraph instructs users to watch the console. Add 🤖 Prompt for AI Agents |
||||||||||
| --wait \ | ||||||||||
| " | ||||||||||
| --wait | ||||||||||
| ``` | ||||||||||
|
|
||||||||||
| Watch the OS console to see the progress of the installation, waiting until the machine is rebooted and the login prompt appears. | ||||||||||
|
|
||||||||||
| Note that it may be more convenient to access the machine using SSH. Run the following command to get its IP address and use it to remotely connect to the system. | ||||||||||
| ```bash | ||||||||||
| sudo virsh domifaddr microshift-edge | ||||||||||
| sudo virsh domifaddr "${VMNAME}" | ||||||||||
| ``` | ||||||||||
|
|
||||||||||
| Log into the system using `redhat:redhat` credentials and run the following commands to configure MicroShift access. | ||||||||||
| Log into the system using `redhat:redhat` credentials (as configured in [`microshift-edge.ks`](../config/microshift-edge.ks)) and run the following commands to configure MicroShift access. | ||||||||||
| ```bash | ||||||||||
| mkdir ~/.kube | ||||||||||
| sudo cat /var/lib/microshift/resources/kubeadmin/kubeconfig > ~/.kube/config | ||||||||||
| chmod go-r ~/.kube/config | ||||||||||
| ``` | ||||||||||
|
coderabbitai[bot] marked this conversation as resolved.
|
||||||||||
|
|
||||||||||
| Finally, check if MicroShift is up and running by executing `oc` commands. | ||||||||||
| Verify that MicroShift is up and running. | ||||||||||
| ```bash | ||||||||||
| oc get cs | ||||||||||
| oc get pods -A | ||||||||||
| ``` | ||||||||||
Uh oh!
There was an error while loading. Please reload this page.