mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-23 19:05:37 +00:00
Standalone make iso image, rather than build+run
Simpler to have an image that takes the kernel and initrd as input, rather than building them into the image. The rest need converting. Signed-off-by: Justin Cormack <justin.cormack@docker.com>
This commit is contained in:
parent
340f37d93c
commit
2d483a20b0
@ -1,18 +0,0 @@
|
||||
# Create a legacy BIOS bootable ISO
|
||||
FROM mobylinux/alpine-bios:626757290dbb54109514af22108645cae9ea40c3
|
||||
|
||||
WORKDIR /tmp/iso
|
||||
|
||||
COPY initrd.img ./
|
||||
COPY kernel/x86_64/vmlinuz64 ./
|
||||
COPY isolinux.cfg ./isolinux/
|
||||
|
||||
RUN cp /usr/share/syslinux/isolinux.bin ./isolinux/ && \
|
||||
cp /usr/share/syslinux/ldlinux.c32 ./isolinux/
|
||||
|
||||
RUN genisoimage -o ../mobylinux-bios.iso -l -J -R \
|
||||
-c isolinux/boot.cat \
|
||||
-b isolinux/isolinux.bin \
|
||||
-no-emul-boot -boot-load-size 4 -boot-info-table \
|
||||
-V MobyLinux . && \
|
||||
isohybrid ../mobylinux-bios.iso
|
@ -39,9 +39,9 @@ mobylinux-efi.iso: Dockerfile.efi initrd.img kernel/x86_64/vmlinuz64
|
||||
docker run --net=none --log-driver=none --rm --cap-add sys_admin moby-efi:build cat /tmp/efi/mobylinux.efi > mobylinux.efi
|
||||
docker run --net=none --log-driver=none --rm --cap-add sys_admin moby-efi:build cat /tmp/efi/mobylinux-efi.iso > $@
|
||||
|
||||
mobylinux-bios.iso: Dockerfile.bios initrd.img kernel/x86_64/vmlinuz64 isolinux.cfg
|
||||
tar cf - $^ | docker build -t moby-bios:build -f Dockerfile.bios -
|
||||
docker run --net=none --log-driver=none --rm moby-bios:build cat /tmp/mobylinux-bios.iso > $@
|
||||
mobylinux-bios.iso: initrd.img kernel/x86_64/vmlinuz64
|
||||
tar cf - initrd.img -C kernel/x86_64 vmlinuz64 | \
|
||||
docker run --net=none --log-driver=none --rm -i mobylinux/alpine-bios:67236852ecf950af0486ac22b0963b404d16c348 >$@
|
||||
|
||||
common: initrd.img
|
||||
$(MAKE) -C kernel
|
||||
|
@ -2,7 +2,15 @@ FROM alpine:3.4
|
||||
|
||||
RUN \
|
||||
apk update && apk upgrade && \
|
||||
apk add \
|
||||
apk add --no-cache \
|
||||
cdrkit \
|
||||
syslinux \
|
||||
&& rm -rf /var/cache/apk/*
|
||||
&& true
|
||||
|
||||
WORKDIR /tmp/iso
|
||||
|
||||
COPY isolinux.cfg ./isolinux/
|
||||
|
||||
COPY make-iso /usr/bin
|
||||
|
||||
CMD [ "/usr/bin/make-iso" ]
|
||||
|
@ -7,7 +7,7 @@ default: push
|
||||
|
||||
hash:
|
||||
docker pull $(BASE)
|
||||
tar cf - Dockerfile | docker build --no-cache -t $(IMAGE):build -
|
||||
tar cf - Dockerfile make-iso isolinux.cfg | docker build --no-cache -t $(IMAGE):build -
|
||||
docker run --rm $(IMAGE):build sha1sum /lib/apk/db/installed | sed 's/ .*//' > hash
|
||||
|
||||
push: hash
|
||||
|
19
alpine/base/alpine-bios/make-iso
Executable file
19
alpine/base/alpine-bios/make-iso
Executable file
@ -0,0 +1,19 @@
|
||||
#!/bin/sh
|
||||
|
||||
# input is a tarball of vmlinuz64 and initrd.img on stdin
|
||||
# output is an iso on stdout
|
||||
|
||||
cp /usr/share/syslinux/isolinux.bin ./isolinux/
|
||||
cp /usr/share/syslinux/ldlinux.c32 ./isolinux/
|
||||
|
||||
tar xf -
|
||||
|
||||
genisoimage -o ../mobylinux-bios.iso -l -J -R \
|
||||
-c isolinux/boot.cat \
|
||||
-b isolinux/isolinux.bin \
|
||||
-no-emul-boot -boot-load-size 4 -boot-info-table \
|
||||
-V MobyLinux .
|
||||
|
||||
isohybrid ../mobylinux-bios.iso
|
||||
|
||||
cat ../mobylinux-bios.iso
|
Loading…
Reference in New Issue
Block a user