How to build rescue system like the one on installation DVD ?

I’m trying to find out how I can build a rescue system like the one on the official openSUSE installation DVD. I’m asking because I would like to extend the current one in a few ways for my own use (integrating my own scripts etc.). I know that it’s basically a squashfs file system (actually two) that’s started from initrd of the installation DVD. I’m aware of the article but simply extending the current rescue system as described there will not really work for me. I would really like to build my own.

I know about the build service and kiwi and Studio Express and I would assume that the rescue system on the installation DVD is built with kiwi or something similar but after searching for a while I couldn’t find anything helpful. Could someone point me in the right direction how to go about this? A certain template for the build service or a kiwi file for the rescue system for example? I do not about the “JeOS” templates but they create bigger systems and I assume that the rescue system is different from those in some ways.

By the way: I’m not looking for a system that will run in a virtualized environment. I’m really looking for something running on “bare metal”, so, for example, it needs to load all the necessary drivers to support the usual mass storage devices when booting just like the normal rescue system.

Thanks in advance!

I use kiwi here and start from a JeOS configuration from here;

This thread may be of interest;

If a LiveCD or rescue CD you like is pretty close to what you want, I don’t know if I’d go through all the work of creating a new image with Kiwi…
I’d use Kiwi if I wanted to install or remove packages and apply any special configurations…

But, If all I wanted to do was add a few scripts to a CD image that already has 99% of everything I’d want,
I’d just rip the existing image, add my scripts and then burn the new image.

There are even standard DVD/CD burn apps that can do everything for you.


Thanks a lot for your replies!

So it seems that I have the choice between either modifying the existing rescue system image (which I would like to avoid since I don’t just want to add some scripts but also some packages and then I’d have to figure out manually how to fulfill all dependencies) or starting with a “JeOS” kiwi system and trying to strip it down and make it behave much like the rescue system. I was hoping that there were build instructions for the rescue system and the rescue system could thus be modified and rebuilt by everybody just like all the software packages (RPMs) and system images built by kiwi.

Best regards,

You can start with any existing DVD image:

Do you want a desktop environment or command line (I prefer runlevel 3 and use twin)?

Command line would be fine (or rather a simple ncurses-based text-mode UI like the “dialog” utility). I’m trying to create a system that will run on practically any hardware and would like it to be as small as possible at the same time - just like the rescue system. But in the end it will have a very simple text-mode UI so that any user can use it to create and restore backups of “complete” Linux systems (and some more functionality).

What do you mean by “twin” in this context?

I was grateful for the hint to because I was hoping it would contain the instructions to build the “normal” installation DVD which means it would also contain the instructions to build the rescue system somehow but it seems that the “opensuse-leap-image” package in this project only builds images for for Docker and LXC.


I use twin/gpm (for the mouse);

<?xml version="1.0" encoding="utf-8"?>

<image schemaversion="6.8" name="JeOS-Tumbleweed">
    <description type="system">
            JeOS image for testing cage/luakit/twin
        <type image="iso" primary="true" flags="overlay" hybrid="true" hybridpersistent_filesystem="ext4" hybridpersistent="true"/>
        <user password="$1$wYJUgpM5$RXMMeASDc035eX.NbYWFl0" home="/root" name="root" groups="root"/>
    <user password="$1$wYJUgpM5$RXMMeASDc035eX.NbYWFl0" home="/home/tux" name="tux" groups="users"/>
    <repository type="rpm-md" alias="kiwi" priority="1">
        <source path="obs://Virtualization:Appliances:Builder/Factory"/>
    <repository type="yast2" alias="Tumbleweed" imageinclude="true">
        <source path=""/>
    <repository type="yast2" alias="Testing" imageinclude="false">
        <source path=""/>
    <repository type="yast2" alias="General" imageinclude="false">
    <source path=""/>
    <packages type="image">
        <package name="patterns-openSUSE-base"/>
        <package name="grub2-branding-openSUSE"/>
        <package name="ifplugd"/>
        <package name="iputils"/>
        <package name="vim"/>
        <package name="grub2"/>
        <package name="grub2-i386-pc"/>
        <package name="syslinux"/>
        <package name="lvm2"/>
        <package name="fontconfig"/>
        <package name="fonts-config"/>
        <package name="tar"/>
        <package name="openssh"/>
        <package name="iproute2"/>
        <package name="less"/>
        <package name="bash-completion"/>
        <package name="dhcp-client"/>
        <package name="which"/>
        <package name="kernel-default"/>
        <package name="timezone"/>
    <package name="cage"/>
    <package name="Mesa"/>
    <package name="noto-sans-fonts"/>
    <package name="luakit"/>
    <package name="uuid"/>
    <package name="kernel-firmware"/>
    <package name="command-not-found"/>
    <package name="pciutils"/>
    <package name="psmisc"/>
    <package name="twin"/>
    <package name="gpm"/>
    <package name="sensors"/>
    <package name="lsof"/>
    <package name="wget"/>
    <package name="shellinabox"/>
    <package name="dejavu-fonts"/>
    <packages type="iso">
        <package name="gfxboot-branding-openSUSE"/>
        <package name="dracut-kiwi-live"/>
    <packages type="bootstrap">
        <package name="udev"/>
        <package name="filesystem"/>
        <package name="glibc-locale"/>
        <package name="cracklib-dict-full"/>
        <package name="ca-certificates"/>
    <package name="ca-certificates-mozilla"/>
        <package name="openSUSE-release"/>

The above contains luakit for a webbrowser and cage to run a wayland session for luakit :wink:

To build I use;

kiwi --type iso system build --description /stuff/kiwi_images/JeOS-Tumbleweed --target-dir /stuff/kiwi_images/

Haha, “twin” is great! I’ve never heard of it even though I’ve been using Linux for a looong time. lol!

I guess I’ll give it another try with kiwi and a configuration similar to yours.

Thanks a lot!

I know the answer, check out now GB WhatsApp Download