mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-12-26 15:02:55 +00:00
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>
49 lines
1.3 KiB
Makefile
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
|