How I used kiwi to customize a live fedora 44 xfce iso

I have finally customized fedora 44 xfce with kiwi-ng. It took me and google AI about 20 - 30 hours to successfully create a customized, up-to-date fedora 44 live iso. I started out asking google AI to give me a workable config.xml template. I added repositories (including rpm fusion), programs, etc. I ran kiwi-ng many times and got many errors but with the help of google AI I finally got a config.xml that worked.

The first iso booted but asked for a user name and a password. I told google my problem and It told me to add “user” in the config file. I re-ran the kiwi-ng (after deleting all of the kiwi output and the iso booted fine. I supplied the password which I had added to the config file and I was able to log on.

I am uploading my working config.xml file. (I can upload the config.sh in text form if there is any interest)

```<image schemaversion="8.4" name="fedora44-xfce-custom">
    <description type="system">
        <author>donatom</author>
        <contact>gmail</contact>
        <specification>Fedora 44 XFCE Custom Live ISO</specification>
    </description>

    <!-- 1. Preferences Block (Strictly sequenced to match the KIWI RNG schema definition) -->
    
<!-- 1. Preferences Block -->
    <preferences>
        <version>44.0.0</version>
        <packagemanager>dnf5</packagemanager>
        <rpm-check-signatures>false</rpm-check-signatures>
        <type image="iso" flags="dmsquash" firmware="uefi" kernelcmdline="root=live:CDLABEL=fedora44-xfce-custom.x86_64 rd.live.image rootdelay=5 nomodeset console=ttyS0 hostname=fedora44-xfce locales=en_US.UTF-8 keyboard=us timezone=America/Los_Angeles" primary="true" filesystem="ext4">
            <bootloader name="grub2" timeout="10"/>
        </type>
    </preferences>


    <!-- 2. Profiles Block -->
    <profiles>
        <profile name="xfce-live" description="Main XFCE Live Environment"/>
        <profile name="debug" description="Debug Tools Environment"/>
    </profiles>

    <!-- Add this section to define your credentials -->
  <users>
    <user name="root" password="password" pwdformat="plain"/>
    <user name="fedora" password="password" pwdformat="plain" home="/home/fedora" groups="wheel"/>
  </users>

    <!-- 4. Packages Block -->
    <packages type="bootstrap">
        <package name="filesystem"/>
        <package name="bash"/>
        <package name="coreutils"/>
        <package name="rpm"/>
        <package name="dnf"/>
        <package name="glibc"/>
    </packages>

  <packages type="image">
    <!-- Core Live ISO Essentials -->
    <package name="kernel"/>
    <package name="dracut-live"/>
    <package name="grub2-efi-x64"/>
    <package name="shim-x64"/>
    <package name="grub2-pc-modules"/>
    <package name="dracut-config-generic"/>
    <package name="linux-firmware"/>
    <package name="kernel-modules"/>
    <package name="kernel-modules-extra"/>
    <package name="dracut-kiwi-live"/>
    <package name="dracut"/>

  </packages>
  <packages type="image"> 
    <!-- Your XFCE Profile Target -->
	  <package name="@xfce-desktop-environment"/>
  </packages>

    <packages type="image" profiles="xfce-live">
        <package name="xfce4-session"/>
        <package name="xfce4-panel"/>
        <package name="xfdesktop"/>
        <package name="xfwm4"/>
        <package name="thunar"/>
        <package name="xfce4-settings"/>
        <package name="xfce4-terminal"/>
        <package name="lightdm"/>
        <package name="lightdm-gtk"/>
        <package name="NetworkManager"/>
        <package name="NetworkManager-wifi"/>
        <package name="pipewire"/>
        <package name="wireplumber"/>
        <package name="thunar-archive-plugin"/>
        <package name="file-roller"/>
        <package name="firefox"/>
        <package name="google-noto-sans-fonts"/>
        <package name="google-noto-emoji-fonts"/>
        <package name="dnf-plugins-core"/>
        <package name="fedora-cisco-openh264"/>
        <package name="linux-firmware"/>
        <package name="vlc"/>
        <package name="i3"/>
        <package name="firejail"/>
        <package name="nmap"/>
        <package name="arp-scan"/>
        <package name="blueman"/>
        <package name="bluez-tools"/>
        <package name="bluez"/>
        <package name="pavucontrol"/>
        <package name="git"/>
        <package name="tar"/>
        <package name="gedit"/>
        <package name="ImageMagick"/>
        <package name="google-chrome-stable"/>
        <package name="gparted"/>
        <package name="kernel-headers"/>
        <package name="kernel-devel"/>
        <package name="gcc"/>
        <package name="anaconda"/>
        <package name="anaconda-live"/>
        <package name="gstreamer1-plugin-openh264"/>
        <package name="mozilla-openh264"/>
        <package name="grubby"/>
        <package name="plymouth-theme-charge"/>
        <package name="grub2-breeze-theme"/>
        <package name="selinux-policy-targeted"/>
        <package name="dhclient"/>
        <package name="pattern:virtualization"/>
        <package name="pattern:libreoffice"/>
        <package name="pattern:xfce-apps"/>
        <package name="pattern:xfce-extra-plugins"/>
    </packages>

    <packages type="image">
        <package name="nano"/>
        <package name="vim"/>
        <package name="htop"/>
        <package name="wget"/>
        <package name="curl"/>
    </packages>

    <packages type="image" profiles="debug">
        <package name="strace"/>
        <package name="lsof"/>
        <package name="tcpdump"/>
    </packages>


    <!-- 3. Repositories Block -->
    <repository type="rpm-md" alias="fedora" sourcetype="metalink">
	    <source path="https://mirrors.fedoraproject.org/metalink?repo=fedora-44&amp;arch=x86_64"/>
    </repository>

    <repository type="rpm-md" alias="fedora-updates" sourcetype="metalink">
	    <source path="https://mirrors.fedoraproject.org/metalink?repo=updates-released-f44&amp;arch=x86_64"/>
    </repository>
      
    <repository type="rpm-md" alias="rpmfusion-free" sourcetype="mirrorlist">
	      <source path="http://mirrors.rpmfusion.org/mirrorlist?repo=free-fedora-44&amp;arch=x86_64"/>
    </repository>
	
    <repository type="rpm-md" alias="rpmfusion-free-updates" sourcetype="mirrorlist">
        <source  path="http://mirrors.rpmfusion.org/mirrorlist?repo=free-fedora-updates-released-44&amp;arch=x86_64"/>
    </repository>

    <repository type="rpm-md" alias="rpmfusion-nonfree" sourcetype="mirrorlist">
	      <source path="http://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-fedora-44&amp;arch=x86_64"/>
    </repository>

    <repository type="rpm-md" alias="rpmfusion-nonfree-updates" sourcetype="mirrorlist">
	  <source path="http://mirrors.rpmfusion.org/mirrorlist?repo=nonfree-fedora-updates-released-44&amp;arch=x86_64"/>
    </repository>
</image>
```

You probably want to copy the entire file into the clipboard rather than opening it in vi and only selecting the first 20 lines or so.

I wanted others to see how to customize a fedora 44 iso, so the first 20 lines wouldn´t be of much help.

So should I copy the file with the cat command? Can I upload the entire file (about 140 lines onto Fedora Discussion – or just 20 lines?

Thanks Steve. That did it. Thanks again for the advice.