]>
git.proxmox.com Git - proxmox-backup-restore-image.git/blob - src/Makefile
8b2aec0f5a9e320217cfb8ad4ee2134a8900a486
1 PACKAGE
=proxmox-restore-vm-data
4 INITRAMFS_BUILDDIR
=build
/initramfs
6 ZFSONLINUX_SUBMODULE
=submodules
/zfsonlinux
7 KERNEL_SUBMODULE
=submodules
/ubuntu-jammy
10 KERNEL_IMG
=${BUILDDIR}/bzImage
11 INITRAMFS_IMG
=${INITRAMFS_BUILDDIR}/initramfs.img
12 INITRAMFS_IMG_DBG
=${INITRAMFS_BUILDDIR}/initramfs-debug.img
14 ZFS_TOOLS
=${BUILDDIR}/zfstools
18 RUST_SRC
=$(wildcard ${SHIM_DIR}/**/*.rs
) ${SHIM_DIR}/Cargo.toml
20 all: ${KERNEL_IMG} ${INITRAMFS_IMG_DBG}
22 ${BUILDDIR}.prepared
: ${CONFIG}
25 cp
-a submodules patches
${BUILDDIR}/
26 cp
${CONFIG} ${BUILDDIR}/${KERNEL_SUBMODULE}
27 cd
${BUILDDIR}/${KERNEL_SUBMODULE}; \
28 for p in ..
/..
/patches
/kernel
/*.patch
; do \
33 kernel.prepared
: ${BUILDDIR}.prepared
34 cd
${BUILDDIR}/${KERNEL_SUBMODULE}; \
35 KCONFIG_ALLCONFIG
=${CONFIG} make allnoconfig
&& \
36 $(MAKE
) prepare scripts
39 zfs.prepared
: kernel.prepared
40 cd
${BUILDDIR}/${ZFSONLINUX_SUBMODULE}; \
41 for p in ..
/..
/patches
/zfs
/*.patch
; do \
44 cd
${BUILDDIR}/${ZFSONLINUX_SUBMODULE}; \
47 --enable-linux-builtin \
48 --with-linux
=..
/..
/${KERNEL_SUBMODULE} \
49 --with-linux-obj
=..
/..
/${KERNEL_SUBMODULE} && \
50 .
/copy-builtin ..
/..
/${KERNEL_SUBMODULE}
51 # only now can we enable CONFIG_ZFS
52 cd
${BUILDDIR}/${KERNEL_SUBMODULE}; \
53 .
/scripts
/config
-e CONFIG_ZFS
56 ${KERNEL_IMG}: zfs.prepared
57 cd
${BUILDDIR}/${KERNEL_SUBMODULE}; $(MAKE
)
58 mv
${BUILDDIR}/${KERNEL_SUBMODULE}/arch
/x86
/boot
/bzImage
${KERNEL_IMG}
60 ${ZFS_TOOLS}: zfs.prepared
61 cd
${BUILDDIR}/${ZFSONLINUX_SUBMODULE}; \
65 --libdir=/lib
/"$(DEB_HOST_MULTIARCH)" \
66 --with-zfsexecdir
=/usr
/lib
/zfs-linux \
70 # absolute path required for 'make install'
71 $(MAKE
) -C
${BUILDDIR}/${ZFSONLINUX_SUBMODULE} install DESTDIR
=${PWD}/${ZFS_TOOLS}
73 ${INITRAMFS_IMG}: ${BUILDDIR}.prepared
${RUST_SRC} build_initramfs.sh
${ZFS_TOOLS}
74 cd
${SHIM_DIR}; cargo build
--release
77 ${INITRAMFS_IMG_DBG}: ${INITRAMFS_IMG}
80 test-run
: ${KERNEL_IMG} ${INITRAMFS_IMG}
81 # note: this will always fail since /proxmox-restore-daemon is not
82 # included in the initramfs, but it can be used to test the
83 # kernel/init-shim-rs builds
84 qemu-system-x86_64
-serial stdio
-vnc none
-enable-kvm \
85 -kernel
${KERNEL_IMG} \
86 -initrd
${INITRAMFS_IMG}
90 rm -rf
*~
${BUILDDIR} ${INITRAMFS_BUILDDIR} *.prepared