Howto mkosi: Difference between revisions

From Vidalinux Wiki
Jump to navigation Jump to search
Line 85: Line 85:
boot image using qemu/kvm:
boot image using qemu/kvm:
  mkosi --output rhel9.img --qemu-smp 2 qemu
  mkosi --output rhel9.img --qemu-smp 2 qemu
= build image using mkosi.conf =
create mkosi.conf:
cat >mkosi.conf <<'EOF'
[Output]
Format=disk
Output=centos-stream
ImageVersion=0.0.1
ImageId=centos-stream 
[Distribution]
Distribution=centos
Release=9
Architecture=x86_64
Mirror=https://centos-stream.excellmedia.net/
RepositoryKeyCheck=no
[Content]
Packages=
basesystem
kernel
bash
coreutils
util-linux
systemd
systemd-boot
systemd-udev
dnf
Bootable=yes
Bootloader=systemd-boot
WithNetwork=yes
CleanPackageMetadata=yes
Locale=en_US.UTF-8
Timezone=America/Puerto_Rico
Hostname=centos-stream
RootPassword=centos
RootShell=/usr/bin/bash
Autologin=no
WithDocs=no
EOF


= references =
= references =
* https://github.com/systemd/mkosi
* https://github.com/systemd/mkosi
* http://0pointer.net/blog/mkosi-a-tool-for-generating-os-images.html
* http://0pointer.net/blog/mkosi-a-tool-for-generating-os-images.html

Revision as of 04:34, 15 May 2024

installation

install package on archlinux:

pacman -S mkosi mtools systemd-ukify --noconfirm

create temporary directory to store images:

mkdir mkosimages && cd mkosimages

create debian img

install packages:

pacman -S debootstrap debian-archive-keyring apt --noconfirm

create image:

mkosi \
--distribution debian \
--release bookworm \
--format disk \
--bootable \
--checksum \
--root-password debian \
--package linux-image-generic,systemd,systemd-boot,systemd-sysv,udev,dbus \
--package openssh-client,vim \
--output debian.img

boot image using systemd:

systemd-nspawn --boot --image debian.img

boot image using qemu/kvm:

mkosi --output debian.img --qemu-smp 2 qemu

create arch img

install packages:

pacman -S  arch-install-scripts --noconfirm

create image:

mkosi \
--distribution arch \
--format disk \
--bootable \
--checksum \
--root-password arch \
--package linux,systemd,udev,dbus \
--package openssh-client,vim \
--output arch.img

boot image using systemd:

systemd-nspawn --boot --image arch.img

boot image using qemu/kvm:

mkosi --output arch.img --qemu-smp 2 qemu

create ubuntu img

install packages:

pacman -S debootstrap ubuntu-keyring apt --noconfirm

create image:

mkosi \
--distribution ubuntu \
--release noble \
--format disk \
--bootable \
--checksum \
--root-password ubuntu \ 
--package linux-image-generic,systemd,systemd-boot,systemd-sysv,udev,dbus \
--package openssh-client,vim \
--output ubuntu.img

boot image using systemd:

systemd-nspawn --boot --image ubuntu.img

boot image using qemu/kvm:

mkosi --output ubuntu.img --qemu-smp 2 qemu

create almalinux img

install the following package using yay:

yay -S dnf-legacy-utils 

create image:

mkosi --distribution alma --release 9 --format disk --bootable --checksum --root-password password --package bash,coreutils,util-linux,systemd,rpm --output almalinux.img

boot image using systemd:

systemd-nspawn --boot --image almalinux.img

boot image using qemu/kvm:

mkosi --output almalinux.img --qemu-smp 2 qemu

create rhel image

create image:

mkosi \
 --distribution rhel-ubi \
 --release 9 \
 --format disk \
 --bootable \
 --checksum \
 --root-password redhat \
 --package bash,coreutils,util-linux,systemd,rpm \
 --output rhel9.img

boot image using systemd:

systemd-nspawn --boot --image rhel9.img

boot image using qemu/kvm:

mkosi --output rhel9.img --qemu-smp 2 qemu

build image using mkosi.conf

create mkosi.conf:

cat >mkosi.conf <<'EOF'
[Output]
Format=disk
Output=centos-stream
ImageVersion=0.0.1
ImageId=centos-stream  

[Distribution]
Distribution=centos
Release=9
Architecture=x86_64
Mirror=https://centos-stream.excellmedia.net/
RepositoryKeyCheck=no

[Content]
Packages=
basesystem
kernel
bash
coreutils
util-linux
systemd
systemd-boot
systemd-udev
dnf

Bootable=yes
Bootloader=systemd-boot
WithNetwork=yes
CleanPackageMetadata=yes
Locale=en_US.UTF-8
Timezone=America/Puerto_Rico
Hostname=centos-stream
RootPassword=centos
RootShell=/usr/bin/bash
Autologin=no
WithDocs=no
EOF

references