Compare commits

..

40 Commits

Author SHA1 Message Date
Mauro Morales
6e7bcc882b works 2024-02-09 17:44:57 +01:00
Itxaka
7c417e773f Merge pull request #131 from ci-forks/create-pull-request/patch 2024-02-08 09:35:35 +01:00
mudler
ba9290acb7 ⬆️ Update repositories
Signed-off-by: GitHub <noreply@github.com>
2024-02-07 20:07:19 +00:00
Itxaka
627d7e87ed Merge pull request #130 from ci-forks/create-pull-request/patch 2024-02-07 16:10:17 +01:00
Itxaka
f00b095ec1 ⬆️ Update repositories
Signed-off-by: GitHub <noreply@github.com>
2024-02-07 15:10:04 +00:00
Itxaka
10b1baff0d Merge pull request #129 from kairos-io/fix_arm64_build 2024-02-07 11:20:28 +01:00
Itxaka
5c13bd2bdc Fix arm64 build for os tools
Signed-off-by: Itxaka <itxaka@kairos.io>
2024-02-07 11:10:17 +01:00
Itxaka
c86be82d66 Merge pull request #128 from kairos-io/move_tools_fedora 2024-02-07 10:03:21 +01:00
Itxaka
104eb89548 Merge branch 'master' into move_tools_fedora 2024-02-06 11:16:38 +01:00
Itxaka
815a9e2898 Move tool image to fedora
Signed-off-by: Itxaka <itxaka@kairos.io>
2024-02-06 10:31:09 +01:00
Mauro Morales
52475cf069 Merge pull request #126 from ci-forks/create-pull-request/patch
⬆️ Update repositories
2024-02-05 22:08:40 +01:00
mudler
f30e9a6a6a ⬆️ Update repositories
Signed-off-by: GitHub <noreply@github.com>
2024-02-05 20:15:37 +00:00
renovate[bot]
7005550b32 Update quay.io/kairos/enki Docker tag to v0.0.16 2024-02-05 16:21:35 +00:00
Itxaka
18959ee26a Merge pull request #121 from ci-forks/create-pull-request/patch
⬆️ Update repositories
2024-02-02 22:34:40 +01:00
Itxaka
cbc6ca3fc0 ⬆️ Update repositories
Signed-off-by: GitHub <noreply@github.com>
2024-02-02 20:49:19 +00:00
Itxaka
44fb9dc165 Merge pull request #124 from kairos-io/Itxaka-patch-1 2024-02-02 21:48:05 +01:00
Itxaka
902c311c17 Update Dockerfile
Signed-off-by: Itxaka <itxakaserrano@gmail.com>
2024-02-02 21:11:57 +01:00
renovate[bot]
f8a2ff5531 Update quay.io/kairos/enki Docker tag to v0.0.13 2024-02-01 01:23:20 +00:00
Itxaka
ca2d1fc9cc Merge pull request #119 from ci-forks/create-pull-request/patch 2024-01-30 17:49:38 +01:00
renovate[bot]
c2748aecad Update quay.io/kairos/enki Docker tag to v0.0.12 2024-01-30 16:49:15 +00:00
Itxaka
b834974606 ⬆️ Update repositories
Signed-off-by: GitHub <noreply@github.com>
2024-01-30 16:48:37 +00:00
Itxaka
30f8b9cb1c Merge pull request #112 from ci-forks/create-pull-request/patch 2024-01-30 15:32:08 +01:00
Itxaka
2b601c1420 Merge pull request #118 from kairos-io/nodepair_enable 2024-01-30 15:29:52 +01:00
Itxaka
e5cded4980 Rename modepair.enable to install-mode
Signed-off-by: Itxaka <itxaka@kairos.io>
2024-01-30 14:39:07 +01:00
renovate[bot]
a482917a27 Update quay.io/kairos/enki Docker tag to v0.0.11 2024-01-30 00:40:16 +00:00
mudler
48c41866ed ⬆️ Update repositories
Signed-off-by: GitHub <noreply@github.com>
2024-01-26 20:07:08 +00:00
renovate[bot]
89f39c7ada Update quay.io/kairos/enki Docker tag to v0.0.10 2024-01-25 22:06:52 +00:00
renovate[bot]
5158b5b7f3 Update quay.io/kairos/enki Docker tag to v0.0.8 2024-01-24 22:20:35 +00:00
Itxaka
d73c9528b1 Merge pull request #110 from ci-forks/create-pull-request/patch 2024-01-12 16:07:50 +01:00
Itxaka
b54cac66b7 ⬆️ Update repositories
Signed-off-by: GitHub <noreply@github.com>
2024-01-12 15:07:30 +00:00
Itxaka
754ac31929 Bump enki version
Signed-off-by: Itxaka <itxakaserrano@gmail.com>
2024-01-12 15:43:13 +01:00
Itxaka
87c309421d Merge pull request #108 from ci-forks/create-pull-request/patch 2024-01-12 15:42:08 +01:00
Itxaka
939857b201 Merge pull request #109 from kairos-io/renovate/github.com-onsi-ginkgo-v2-2.x 2024-01-12 15:41:42 +01:00
renovate[bot]
b82332d9bf fix(deps): update module github.com/onsi/ginkgo/v2 to v2.14.0 2024-01-11 22:51:44 +00:00
mudler
f0cec49b08 ⬆️ Update repositories
Signed-off-by: GitHub <noreply@github.com>
2024-01-11 20:07:22 +00:00
Itxaka
f32d1c4baa Merge pull request #106 from ci-forks/create-pull-request/patch 2024-01-11 10:14:40 +01:00
Itxaka
1a34dc98f2 ⬆️ Update repositories
Signed-off-by: GitHub <noreply@github.com>
2024-01-11 09:11:32 +00:00
Itxaka
b7af88b618 Do not hardcode enki version when building tools image
Signed-off-by: Itxaka <itxakaserrano@gmail.com>
2024-01-11 10:00:16 +01:00
Itxaka
275bbf8871 Merge pull request #107 from kairos-io/efi_secureboot_enki 2024-01-11 09:39:15 +01:00
Itxaka
866dc42c48 Drop usage of system/grub2-efi package as a source
Now rootfs needs to provide their artifacts from packages so the dir is
no longer used, so the config needs to change

The package is still there as alpine will need it as a last resort but
it wont support secureboot

Signed-off-by: Itxaka <itxaka@kairos.io>
2023-12-30 12:53:33 +01:00
12 changed files with 68 additions and 19 deletions

View File

@@ -64,5 +64,3 @@ jobs:
platforms: linux/amd64,linux/arm64
push: true
tags: ${{ steps.prep.outputs.tags }}
build-args: |
ENKI_VERSION=v0.0.3

14
go.mod
View File

@@ -3,7 +3,7 @@ module github.com/kairos-io/osbuilder
go 1.18
require (
github.com/onsi/ginkgo/v2 v2.13.2
github.com/onsi/ginkgo/v2 v2.14.0
github.com/onsi/gomega v1.30.0
github.com/phayes/freeport v0.0.0-20220201140144-74d24b5ae9f5
k8s.io/api v0.24.0
@@ -60,14 +60,14 @@ require (
go.uber.org/atomic v1.7.0 // indirect
go.uber.org/multierr v1.6.0 // indirect
go.uber.org/zap v1.21.0 // indirect
golang.org/x/crypto v0.14.0 // indirect
golang.org/x/net v0.17.0 // indirect
golang.org/x/crypto v0.16.0 // indirect
golang.org/x/net v0.19.0 // indirect
golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 // indirect
golang.org/x/sys v0.14.0 // indirect
golang.org/x/term v0.13.0 // indirect
golang.org/x/text v0.13.0 // indirect
golang.org/x/sys v0.15.0 // indirect
golang.org/x/term v0.15.0 // indirect
golang.org/x/text v0.14.0 // indirect
golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 // indirect
golang.org/x/tools v0.14.0 // indirect
golang.org/x/tools v0.16.1 // indirect
gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect
google.golang.org/appengine v1.6.7 // indirect
google.golang.org/protobuf v1.28.0 // indirect

14
go.sum
View File

@@ -395,6 +395,8 @@ github.com/onsi/ginkgo/v2 v2.13.0 h1:0jY9lJquiL8fcf3M4LAXN5aMlS/b2BV86HFFPCPMgE4
github.com/onsi/ginkgo/v2 v2.13.0/go.mod h1:TE309ZR8s5FsKKpuB1YAQYBzCaAfUgatB/xlT/ETL/o=
github.com/onsi/ginkgo/v2 v2.13.2 h1:Bi2gGVkfn6gQcjNjZJVO8Gf0FHzMPf2phUei9tejVMs=
github.com/onsi/ginkgo/v2 v2.13.2/go.mod h1:XStQ8QcGwLyF4HdfcZB8SFOS/MWCgDuXMSBe6zrvLgM=
github.com/onsi/ginkgo/v2 v2.14.0 h1:vSmGj2Z5YPb9JwCWT6z6ihcUvDhuXLc3sJiqd3jMKAY=
github.com/onsi/ginkgo/v2 v2.14.0/go.mod h1:JkUdW7JkN0V6rFvsHcJ478egV3XH9NxpD27Hal/PhZw=
github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
@@ -556,6 +558,8 @@ golang.org/x/crypto v0.11.0 h1:6Ewdq3tDic1mg5xRO4milcWCfMVQhI4NkqWWvqejpuA=
golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio=
golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc=
golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
golang.org/x/crypto v0.16.0 h1:mMMrFzRSCF0GvB7Ne27XVtVAaXLrPmgPC7/v0tkwHaY=
golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -648,6 +652,8 @@ golang.org/x/net v0.12.0 h1:cfawfvKITfUsFCeJIHJrbSxpeu/E81khclypR0GVT50=
golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA=
golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM=
golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c=
golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -751,6 +757,8 @@ golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q=
golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.8.0 h1:n5xxQn2i3PC0yLAbjTpNT85q/Kgzcr2gIoX9OrJUols=
@@ -759,6 +767,8 @@ golang.org/x/term v0.10.0 h1:3R7pNqamzBraeqj/Tj8qt1aQ2HpmlC+Cx/qL/7hn4/c=
golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o=
golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek=
golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4=
golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -774,6 +784,8 @@ golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4=
golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -849,6 +861,8 @@ golang.org/x/tools v0.12.0 h1:YW6HUoUmYBpwSgyaGaZq1fHjrBjX1rlpZ54T6mu2kss=
golang.org/x/tools v0.12.0/go.mod h1:Sc0INKfu04TlqNoRA1hgpFZbhYXHPr4V5DzpSBTPqQM=
golang.org/x/tools v0.14.0 h1:jvNa2pY0M4r62jkRQ6RwEZZyPcymeL9XZMLBbV7U2nc=
golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg=
golang.org/x/tools v0.16.1 h1:TLyB3WofjdOEepBHAU20JdNC1Zbg87elYofWYAY5oZA=
golang.org/x/tools v0.16.1/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=

View File

@@ -31,7 +31,7 @@ spec:
fi
menuentry "install" --class os --unrestricted {
echo Loading kernel...
$linux ($root)/boot/kernel.xz cdroot root=live:CDLABEL=COS_LIVE rd.live.dir=/ rd.live.squashimg=rootfs.squashfs console=tty1 console=ttyS0 rd.cos.disable vga=795 nomodeset nodepair.enable
$linux ($root)/boot/kernel.xz cdroot root=live:CDLABEL=COS_LIVE rd.live.dir=/ rd.live.squashimg=rootfs.squashfs console=tty1 console=ttyS0 rd.cos.disable vga=795 nomodeset install-mode
echo Loading initrd...
$initrd ($root)/boot/rootfs.xz
}

View File

@@ -1,7 +1,7 @@
# https://quay.io/repository/kairos/packages?tab=tags&tag=latest
ARG LEAP_VERSION=15.5
ARG LUET_VERSION=0.35.0
ARG ENKI_VERSION=v0.0.3
ARG ENKI_VERSION=v0.0.16
FROM quay.io/luet/base:$LUET_VERSION AS luet
FROM quay.io/kairos/enki:${ENKI_VERSION} as enki
@@ -10,6 +10,8 @@ FROM opensuse/leap:$LEAP_VERSION as default
RUN zypper ref && zypper dup -y
## ISO+ Arm image + Netboot + cloud images Build depedencies
RUN zypper ref && zypper in -y bc qemu-tools jq cdrtools docker git curl gptfdisk kpartx sudo xfsprogs parted util-linux-systemd e2fsprogs curl util-linux udev rsync grub2 dosfstools grub2-x86_64-efi squashfs mtools xorriso lvm2 zstd
COPY --from=luet /usr/bin/luet /usr/bin/luet
ENV LUET_NOLOCK=true
ENV TMPDIR=/tmp
@@ -26,7 +28,15 @@ RUN luet install -y livecd/grub2 --system-target /grub2
RUN luet install -y livecd/grub2-efi-image --system-target /efi
## RPI64
RUN luet install -y firmware/u-boot-rpi64 firmware/raspberrypi-firmware firmware/raspberrypi-firmware-config firmware/raspberrypi-firmware-dt --system-target /rpi/
RUN luet install -y firmware/raspberrypi-firmware firmware/raspberrypi-firmware-config firmware/raspberrypi-firmware-dt --system-target /rpi/
COPY luet-arm64-old.yaml /tmp/luet-arm64.yaml
COPY luet-amd64-old.yaml /tmp/luet-amd64.yaml
RUN cp /tmp/luet-${TARGETARCH}.yaml /etc/luet/luet.yaml
RUN luet install -y firmware/u-boot-rpi64 --system-target /rpi/
COPY luet-arm64.yaml /tmp/luet-arm64.yaml
COPY luet-amd64.yaml /tmp/luet-amd64.yaml
## PineBook64 Pro
RUN luet install -y arm-vendor-blob/u-boot-rockchip --system-target /pinebookpro/u-boot

View File

@@ -1,6 +1,3 @@
iso:
uefi:
- dir:/efi
image:
- dir:/efi
- dir:/grub2

View File

@@ -2,6 +2,6 @@
set dns 8.8.8.8
ifconf
kernel ${RELEASE_URL}/${VERSION}/${ISO_NAME}-kernel root=live:${RELEASE_URL}/${VERSION}/${ISO_NAME}.squashfs initrd=${ISO_NAME}-initrd rd.neednet=1 ip=dhcp rd.cos.disable netboot nodepair.enable config_url=${config} console=tty1 console=ttyS0 rd.live.overlay.overlayfs ${cmdline}
kernel ${RELEASE_URL}/${VERSION}/${ISO_NAME}-kernel root=live:${RELEASE_URL}/${VERSION}/${ISO_NAME}.squashfs initrd=${ISO_NAME}-initrd rd.neednet=1 ip=dhcp rd.cos.disable netboot install-mode config_url=${config} console=tty1 console=ttyS0 rd.live.overlay.overlayfs ${cmdline}
initrd ${RELEASE_URL}/${VERSION}/${ISO_NAME}-initrd
boot

View File

@@ -0,0 +1,15 @@
general:
debug: false
spinner_charset: 9
logging:
enable_emoji: false
repositories:
- name: "kairos"
description: "kairos repository"
type: "docker"
cached: true
enable: true
priority: 2
urls:
- "quay.io/kairos/packages"
reference: 20240202131847-repository.yaml

View File

@@ -12,4 +12,4 @@ repositories:
priority: 2
urls:
- "quay.io/kairos/packages"
reference: 20231201192424-repository.yaml
reference: 20240207153537-repository.yaml

View File

@@ -0,0 +1,15 @@
general:
debug: false
spinner_charset: 9
logging:
enable_emoji: false
repositories:
- name: "kairos-arm64"
description: "kairos repository arm64"
type: "docker"
cached: true
enable: true
priority: 2
urls:
- "quay.io/kairos/packages-arm64"
reference: 20240202135656-repository.yaml

View File

@@ -12,4 +12,4 @@ repositories:
priority: 2
urls:
- "quay.io/kairos/packages-arm64"
reference: 20231202000933-repository.yaml
reference: 20240207154912-repository.yaml

View File

@@ -19,7 +19,7 @@ set initrd $ARTIFACT_NAME-initrd
set rootfs $ARTIFACT_NAME.squashfs
# set config https://example.com/machine-config
# set cmdline extra.values=1
kernel \${url}/\${kernel} initrd=\${initrd} ip=dhcp rd.cos.disable root=live:\${url}/\${rootfs} netboot nodepair.enable config_url=\${config} console=tty1 console=ttyS0 \${cmdline}
kernel \${url}/\${kernel} initrd=\${initrd} ip=dhcp rd.cos.disable root=live:\${url}/\${rootfs} netboot install-mode config_url=\${config} console=tty1 console=ttyS0 \${cmdline}
initrd \${url}/\${initrd}
boot
EOF