aboutsummaryrefslogtreecommitdiff
path: root/nix/iso.nix
blob: ab56ad9a396c46e507d1c14b8cc2891abe59e522 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{ stdenv, fetchgit, kernel, initramfs, limine, rootfs, xorriso }:

stdenv.mkDerivation {
	name = "iso-yerba";
	src = ./.;
	buildInputs = [ xorriso ];
	nativeBuildInputs = [ xorriso ];
	buildPhase = ''
		mkdir -p $out
		mkdir -p iso/boot/limine 
		mkdir -p iso/EFI/BOOT 
		mkdir -p iso/yerba
		cp ${kernel} iso/boot/bzImage
		cp ${initramfs} iso/boot/initramfs.cpio.gz
		cp ${../limine.conf} iso/boot/limine/limine.conf
		cp ${limine}/limine-bios.sys ${limine}/limine-bios-cd.bin ${limine}/limine-uefi-cd.bin iso/boot/limine/
		cp ${limine}/BOOTX64.EFI ${limine}/BOOTIA32.EFI iso/EFI/BOOT/
		cp ${rootfs} iso/yerba/rootfs.squashfs
		xorriso -as mkisofs -R -r -J -b boot/limine/limine-bios-cd.bin -no-emul-boot -boot-load-size 4 -boot-info-table -hfsplus -apm-block-size 2048 --efi-boot boot/limine/limine-uefi-cd.bin -efi-boot-part --efi-boot-image --protective-msdos-label iso -o $out/yerba-linux.iso
	'';
	installPhase = ''
		echo "iso built"
	'';
}