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"
'';
}
|