makefiles tested on fresh system

Szymon Karpiński 7 years ago
parent 4c26a41a3c
commit 8f49275872
  1. 17
      Makefile
  2. 21
      linux/Makefile

@ -1,27 +1,30 @@
.PHONY: .FORCE .PHONY: .FORCE
files: files/pxelinux.0 files/initrd.img files/vmlinuz files/pxelinux.cfg/default files/ldlinux.c32 files/root.squashfs all: files/pxelinux.0 files/initrd.img files/vmlinuz files/pxelinux.cfg/default files/ldlinux.c32 files/root.squashfs
files/pxelinux.0: syslinux files/pxelinux.0: syslinux | files
cp syslinux/bios/core/pxelinux.0 files/pxelinux.0 cp syslinux/bios/core/pxelinux.0 files/pxelinux.0
files/initrd.img: linux/build/rootfs/initrd.img files/initrd.img: linux/build/rootfs/initrd.img | files
cp linux/build/rootfs/initrd.img files/initrd.img cp linux/build/rootfs/initrd.img files/initrd.img
files/vmlinuz: linux/build/rootfs/vmlinuz files/vmlinuz: linux/build/rootfs/vmlinuz | files
cp linux/build/rootfs/vmlinuz files/vmlinuz cp linux/build/rootfs/vmlinuz files/vmlinuz
files/pxelinux.cfg/default: pxelinux.cfg files/pxelinux.cfg/default: pxelinux.cfg | files
mkdir -p files/pxelinux.cfg mkdir -p files/pxelinux.cfg
cp pxelinux.cfg files/pxelinux.cfg/default cp pxelinux.cfg files/pxelinux.cfg/default
files/ldlinux.c32: syslinux files/ldlinux.c32: syslinux | files
cp syslinux/bios/com32/elflink/ldlinux/ldlinux.c32 files/ldlinux.c32 cp syslinux/bios/com32/elflink/ldlinux/ldlinux.c32 files/ldlinux.c32
files/root.squashfs: .FORCE files/root.squashfs: .FORCE | files
rm files/root.squashfs || true rm files/root.squashfs || true
mksquashfs linux/build/rootfs files/root.squashfs mksquashfs linux/build/rootfs files/root.squashfs
files:
mkdir -p files
syslinux: syslinux:
rm -r syslinux || true rm -r syslinux || true
rm syslinux-6.03.tar.gz|| true rm syslinux-6.03.tar.gz|| true

@ -3,38 +3,39 @@ CHROOT_CMD := chroot build/rootfs /bin/bash -c
FILES = $(shell find src/ -type f -print | sed -e 's|^src/|build/rootfs/|') FILES = $(shell find src/ -type f -print | sed -e 's|^src/|build/rootfs/|')
FILES_SRC = $(shell find src/ -type f -print) FILES_SRC = $(shell find src/ -type f -print)
.PHONY: .FORCE all: $(FILES) menu images build/rootfs/initrd.img
all: build/rootfs $(FILES) menu images build/rootfs/initrd.img
clean: clean:
rm -rf build/rootfs rm -rf build/rootfs
menu: menu: build/rootfs | build
$(CHROOT_CMD) "apt install dialog" $(CHROOT_CMD) "apt install dialog"
$(CHROOT_CMD) "chmod +x /scripts/menu.sh" $(CHROOT_CMD) "chmod +x /scripts/menu.sh"
$(CHROOT_CMD) "usermod -s /scripts/menu.sh root" $(CHROOT_CMD) "usermod -s /scripts/menu.sh root"
images: images: build/rootfs | build
$(CHROOT_CMD) "apt install -y udpcast" $(CHROOT_CMD) "apt install -y udpcast"
$(CHROOT_CMD) "apt install -y partclone" $(CHROOT_CMD) "apt install -y partclone"
$(CHROOT_CMD) "apt install -y lzop strace" $(CHROOT_CMD) "apt install -y lzop strace"
$(CHROOT_CMD) "touch /etc/mtab" $(CHROOT_CMD) "touch /etc/mtab"
build/rootfs/initrd.img: $(FILES) build/rootfs/initrd.img: build/rootfs $(FILES) | build
chmod +x build/rootfs/etc/initramfs-tools/scripts/local-top/download.sh chmod +x build/rootfs/etc/initramfs-tools/scripts/local-top/download.sh
$(CHROOT_CMD) "apt update && apt install -y linux-image-4.19.0-6-amd64" $(CHROOT_CMD) "apt update && apt install -y linux-image-4.19.0-*-amd64"
$(CHROOT_CMD) "update-initramfs -c -kall" $(CHROOT_CMD) "update-initramfs -c -kall"
$(FILES): .FORCE $(FILES): build/rootfs | build
mkdir -p $(@D) mkdir -p $(@D)
cp $(shell echo $@ | sed -e 's|^build/rootfs/|src/|') $@ cp $(shell echo $@ | sed -e 's|^build/rootfs/|src/|') $@
build/rootfs: build/cache build/rootfs: build/cache | build
rm -rf build/rootfs rm -rf build/rootfs
cp -r build/cache build/rootfs cp -r build/cache build/rootfs
rm -rf $(FILES) rm -rf $(FILES)
build/cache: build/cache: | build
rm -rf build/cache || true rm -rf build/cache || true
debootstrap buster build/cache debootstrap buster build/cache
build:
mkdir -p build

Loading…
Cancel
Save