- SYNOPSIS
This documentation is written about how to make a CoreOS's ISO file from pxe boot image.
- REQUIREMENTS
This method is required to mkisofs
So, you need an environment that can execute mkisofs
. (e.g. on Linux)
- HOW TO MAKE ISO
# Make working directory
$ mkdir ~/tmp && cd ~/tmp
$ mkdir -p coreos/{isolinux,syslinux,coreos}
# Download pxe boot files from CoreOS Repository (dev-channel)
$ cd coreos/coreos
$ curl -O http://storage.core-os.net/coreos/amd64-generic/dev-channel/coreos_production_pxe.vmlinuz
$ mv coreos_production_pxe.vmlinuz vmlinuz
$ curl -O http://storage.core-os.net/coreos/amd64-generic/dev-channel/coreos_production_pxe_image.cpio.gz
$ mv coreos_production_pxe_image.cpio.gz cpio.gz
$ cd ~/tmp/coreos/coreos && ls
cpio.gz vmlinuz
# Download syslinux binaries
$ cd ~/tmp
$ curl -O https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-6.02.tar.gz
$ tar zxvf syslinux-6.02.tar.gz
# Copy syslinux binaries to work directory
$ cd ~/tmp
$ cp syslinux-6.02/bios/com32/chain/chain.c32 coreos/syslinux/
$ cp syslinux-6.02/bios/com32/lib/libcom32.c32 coreos/syslinux/
$ cp syslinux-6.02/bios/com32/libutil/libutil.c32 coreos/syslinux/
$ cp syslinux-6.02/bios/memdisk/memdisk coreos/syslinux/
$ ls coreos/syslinux
chain.c32 libcom32.c32 libutil.c32 memdisk
$ cp syslinux-6.02/bios/core/isolinux.bin coreos/isolinux/
$ cp syslinux-6.02/bios/com32/elflink/ldlinux/ldlinux.c32 coreos/isolinux/
$ ls coreos/isolinux
isolinux.bin ldlinux.c32
INCLUDE /syslinux/syslinux.cfg
prompt 0
default coreos
LABEL coreos
KERNEL /coreos/vmlinuz
APPEND initrd=/coreos/cpio.gz root=squashfs: state=tmpfs: sshkey="{YOUR SSH PUBLIC KEY} coreos pxe demo"
$ cd ~/tmp/coreos/
$ mkisofs -v -l -r -J -o ../coreos.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table .
Yay !
- Author and Copyright
How are you meant to login?