Files
linuxkit/alpine/Makefile
Rolf Neugebauer f785d0d448 moby: add support for building EFI bootable Moby images
Wrap a EFI stub loader with vmlinuz, initrd, and a short commandline
inside a single EFI binary.

Two files are generated:
- mobylinux.efi is a raw EFI file which some hypervisors can boot directly
- mobylinux-efi.iso: ISO image with just MobyLinux in the EFI partition

also:
- rename legacy BIOS mobylinux.iso to mobylinux-bios.iso
- Build mobylinux-efi.iso as part of the standard mobylinux build

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
2016-04-16 16:38:45 +01:00

49 lines
1.3 KiB
Makefile

all: initrd.img.gz mobylinux-efi.iso
ETCFILES=etc/issue etc/motd etc/network/interfaces
ETCFILES+=etc/securetty
initrd.img: Dockerfile mkinitrd.sh repositories $(ETCFILES)
rm -f initrd.img
$(MAKE) -C packages
$(MAKE) -C kernel
cp inittab.x86_64 etc/inittab
docker-compose build moby
docker-compose run --rm -T moby /bin/mkinitrd.sh
initrd.img.gz: initrd.img
cat initrd.img | gzip -9 > initrd.img.gz
mobylinux-efi.iso: initrd.img.gz Dockerfile.efi
docker-compose build efi
docker-compose run --rm -T efi \
cp /tmp/efi/mobylinux.efi /tmp/efi/mobylinux-efi.iso /mnt
mobylinux-bios.iso: initrd.img Dockerfile.bios isolinux.cfg
docker-compose build bios
docker-compose run --rm -T bios \
cp /tmp/mobylinux-bios.iso /mnt
arm: initrd-arm.img
Dockerfile.armhf: Dockerfile
cat Dockerfile | \
sed '/hv_/d' | \
sed '/hvtools/d' | \
sed 's/syslinux//' | \
grep -v 'rc-update add binfmt_misc sysinit' > $@
initrd-arm.img: Dockerfile.armhf
rm -f initrd-arm.img
$(MAKE) -C packages arm
$(MAKE) -C kernel arm
cp inittab.armhf etc/inittab
docker-compose build arm
docker-compose run --rm -T arm /bin/mkinitrd.sh > $@
clean:
rm -f initrd.img initrd.img.gz initrd-arm.img Dockerfile.armhf etc/inittab
rm -f mobylinux-bios.iso mobylinux-efi.iso mobylinux.efi
$(MAKE) -C packages clean
$(MAKE) -C kernel clean