Create install ISO with kiwi-ng

511 views
Skip to first unread message

Alex Gooch

unread,
Apr 25, 2023, 12:15:03 PM4/25/23
to kiwi
Hey Marcus:

I am trying to create an install ISO (Leap15.4), but when I attempt to build my image and mount it to my VM, I only have the option to run the ISO rather than install from it.

I am using the following template: ~/kiwi-descriptions/suse/x86_64/suse-leap-15.4

Do I need any specific parameters to have it boot to an installation prompt? Also, is there a way to fully automate the install process (automatically install once booted to the ISO)?

Marcus Schäfer

unread,
Apr 26, 2023, 3:10:42 AM4/26/23
to kiwi-...@googlegroups.com
Hi,
Ok, let's clarify what install ISO for kiwi means first. So along
with the image="oem" type that you are using you can also create
an install ISO with the attribute installiso="true".

If this is set kiwi creates an additional image, an install ISO
which contains the actual system image, the OEM disk image, plus
some very simple "installer". This installer can do only two
things:

1. Select the target storage device
2. Dump the OEM image on target and kexec/boot into the system

This process can also be done automatically and you have some
settings in the kiwi description to influence the behavior.
To kick off that process you simply boot from the install ISO
and let it go.

This is what install ISO means for kiwi.

Now I think you are looking for something different. To me it sounds
like you are looking for an install ISO which should contain package
repositories plus some installation tool, maybe interactive, that
allows to run an installation process on some target which prepares
the target and installs the selected packages, booting into the
system at the end. With kiwi you cannot produce such a, I call it;
product media. Every distribution implements this in its own fashion.
SUSE has yast/autoyast, Fedora has anaconda/kickstart, etc etc.
The creation of such a product media is therefore very distro specific
and kiwi aims to be a generic appliance builder. SUSE's product
builder you can find here:

https://packagehub.suse.com/packages/product-builder/

In case you are fine with the image based installation procedure
that kiwi offers we can of course help with further questions.

Thanks

Regards,
Marcus
--
Public Key available via: https://keybase.io/marcus_schaefer/key.asc
keybase search marcus_schaefer
-------------------------------------------------------
Marcus Schäfer Brunnenweg 18
Tel: +49 7562 905437 D-88260 Argenbühl
Germany
-------------------------------------------------------
signature.asc

Alex Gooch

unread,
Apr 26, 2023, 9:41:56 AM4/26/23
to kiwi
Hello!

That is all helpful. We are fine with the image based installation procedure that kiwi offers, so I would like to converse further on this topic.

I am currently working off of the appliance.kiwi file found here: ~/kiwi-descriptions/suse/x86_64/suse-leap-15.4
I set import=true on the Disk profile
My preferences profiles for Disk currently looks like this:

    <preferences profiles="Disk">
        <type image="oem" filesystem="ext4" initrd_system="dracut" installiso="true" bootloader="grub2" kernelcmdline="splash" firmware="efi">
            <oemconfig>
                <oem-systemsize>2048</oem-systemsize>
                <oem-swap>true</oem-swap>
                <oem-device-filter>/dev/ram</oem-device-filter>
                <oem-multipath-scan>false</oem-multipath-scan>
            </oemconfig>
        </type>
    </preferences>


I am attempting to create an ISO that I can mount, and install from. So far, all of the ISOs that I create, when mounted, only have options to boot the ISO (rather than install).

This is the command that I am using to build:
kiwi-ng system build --description ~/kiwi-descriptions/suse/x86_64/suse-leap-15.4 --target-dir /tmp/testimage

I have also tried this command:
kiwi-ng system build --type oem --description ~/kiwi-descriptions/suse/x86_64/suse-leap-15.4 --target-dir /tmp/testimage

Alex Gooch

unread,
Apr 27, 2023, 9:48:13 AM4/27/23
to kiwi
To add further detail after a day of testing... none of my install.iso files are booting with "INSTALL" as an option. I have tried building from test-image-disk, test-image-live, and from suse-leap*

Marcus Schäfer

unread,
Apr 27, 2023, 10:08:57 AM4/27/23
to kiwi-...@googlegroups.com
Hi,

> To add further detail after a day of testing... none of my install.iso
> files are booting with "INSTALL" as an option. I have tried building
> from test-image-disk, test-image-live, and from suse-leap*

Hmm, I probably don't get your workflow and we need to look into this
more detailed, but just to explain how it is supposed to work I double
checked on the following workflow. You mentioned test-image-disk so I
took this one:

# fetch the .install.iso built by this kiwi test image
wget https://download.opensuse.org/repositories/Virtualization:/Appliances:/Images:/Testing_x86:/leap/images/iso/kiwi-test-image-disk.x86_64-1.15.3-Build52.3.install.iso

# create us some target disk
qemu img create mydisk 20g

# run the installation
qemu-kvm -m 4096 -serial stdio -cdrom kiwi-test-image-disk.x86_64-1.15.3-Build52.3.install.iso -hda mydisk -boot d

The above qemu call boots from the CD (-boot d) and the "Install ..."
menu entry is pre-selected by grub. You can either wait or just hit
Enter.

In the following process the image gets installed to mydisk and
booted. Login is user root / linux

After the install you can just boot mydisk with

qemu-kvm -m 4096 -serial stdio -hda mydisk

For me it all worked as designed :)

Let me know where in that sequence you hit an issue.
signature.asc

Alex Gooch

unread,
Apr 27, 2023, 11:16:29 AM4/27/23
to kiwi
I have been doing some testing and it looks like the issue is that I cannot RE-install the new ISO over an existing image. Unless you know a way around this, I have basically been removing my Disk 1 (sda) to clear the install. Once I do this, I am able to install my newly created ISO.

Alex Gooch

unread,
Apr 27, 2023, 2:30:50 PM4/27/23
to kiwi
Our issue of not being able to re-install an install.iso onto a VM seems to have started once your last changes (python-kiwi) was implemented in the previous convo (Adding a repo that requires authentication). Do you know if any of the changes would affect our ability to re-install the OS?

Marcus Schäfer

unread,
May 2, 2023, 3:39:51 AM5/2/23
to kiwi-...@googlegroups.com
Hi Alex,

> Our issue of not being able to re-install an install.iso onto a VM
> seems to have started once your last changes (python-kiwi) was
> implemented in the previous convo (Adding a repo that requires
> authentication). Do you know if any of the changes would affect our
> ability to re-install the OS?

I cannot imagine a relation to the change supporting proper URL quoting
and an issue regarding the installation (dump-to-target) procedure.

> I have been doing some testing and it looks like the issue is that I
> cannot RE-install the new ISO over an existing image. Unless you
> know a way around this, I have basically been removing my Disk 1
> (sda) to clear the install. Once I do this, I am able to install my
> newly created ISO.

ok, let's check on that. In the error case; what error message do
you get ?

Thanks
signature.asc

Alex Gooch

unread,
May 12, 2023, 1:11:48 PM5/12/23
to kiwi
Hi Marcus:

I do not get an error, I just do not get an option to re-install. I get the SUSE grub screen to boot from HD or additional options (which does not contain an install option)

Marcus Schäfer

unread,
May 16, 2023, 4:12:49 AM5/16/23
to kiwi-...@googlegroups.com
Hi Alex,

sorry I'm a bit late... that happens ;)

> I do not get an error, I just do not get an option to re-install. I get
> the SUSE grub screen to boot from HD or additional options (which does
> not contain an install option)

yes if the system got installed you have now a bootable system on your HD.
If you reboot the boot order of your machine will now see the HD as a
bootable "thing" and jumps into the bootloader of it. If you want to re-install
you just need to make sure your machine uses the CD/DVD/Stick device first.
This will boot the installation image again and you can redo the job.
signature.asc

Marcus Schäfer

unread,
May 16, 2023, 4:19:02 AM5/16/23
to kiwi-...@googlegroups.com
Hi,

> you just need to make sure your machine uses the CD/DVD/Stick device first.
> This will boot the installation image again and you can redo the job.

I forgot to mention, if you do this in qemu you can force the boot order
to use CD/DVD first by:

-boot d

Also see: "man qemu" , search for "-boot"

---
Specify boot order drives as a string of drive letters. Valid
drive letters depend on the target architecture. The x86 PC
uses: a, b (floppy 1 and 2), c (first hard disk), d (first
CD-ROM), n-p (Etherboot from network adapter 1-4), hard disk
boot is the default.
---
signature.asc

Alex Gooch

unread,
May 19, 2023, 12:28:12 PM5/19/23
to kiwi
Thank you! I have it working properly now.
Reply all
Reply to author
Forward
0 new messages