moby: add support for building an ISO image for Moby

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
This commit is contained in:
Rolf Neugebauer 2016-01-22 17:13:11 +00:00
parent 3361963d6c
commit 6827b99b55
4 changed files with 36 additions and 0 deletions

1
alpine/.gitignore vendored
View File

@ -1,3 +1,4 @@
*.img
mobylinux.iso
Dockerfile.armhf
etc/inittab

24
alpine/Dockerfile.iso Normal file
View File

@ -0,0 +1,24 @@
FROM ubuntu:15.10
RUN apt-get update && apt-get -y upgrade && apt-get -y install \
genisoimage \
xorriso \
syslinux \
syslinux-utils \
isolinux
RUN mkdir -p /tmp/iso/isolinux && \
cp /usr/lib/ISOLINUX/isolinux.bin /tmp/iso/isolinux && \
cp usr/lib/syslinux/modules/bios/ldlinux.c32 /tmp/iso/isolinux
COPY initrd.img /tmp/iso
COPY kernel/vmlinuz64 /tmp/iso
COPY isolinux.cfg /tmp/iso/isolinux
RUN cd /tmp/iso && \
genisoimage -o ../output.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 ../output.iso

View File

@ -12,6 +12,10 @@ initrd.img: Dockerfile mkinitrd.sh repositories $(ETCFILES)
docker build -t mobyinitrd:build .
docker run mobyinitrd:build /bin/mkinitrd.sh > $@
mobylinux.iso: initrd.img Dockerfile.iso isolinux.cfg
docker build -f Dockerfile.iso -t mobyiso:build .
docker run mobyiso:build cat /tmp/output.iso > $@
arm: initrd-arm.img
Dockerfile.armhf: Dockerfile
@ -28,6 +32,8 @@ initrd-arm.img: Dockerfile.armhf
clean:
rm -f initrd.img initrd-arm.img Dockerfile.armhf etc/inittab
rm -f mobylinux.iso
$(MAKE) -C packages clean
$(MAKE) -C kernel clean
docker images -q mobyinitrd:build | xargs docker rmi -f
docker images -q mobyiso:build | xargs docker rmi -f

5
alpine/isolinux.cfg Normal file
View File

@ -0,0 +1,5 @@
DEFAULT linux
LABEL linux
KERNEL /vmlinuz64
INITRD /initrd.img
APPEND earlyprintk=serial console=ttyS0