rootfs-overlay/lib/firmware/jailhouse.bin: ../jailhouse/hypervisor/jailhouse.bin
rootfs-overlay/lib/firmware/jailhouse.bin: $(wildcard ../jailhouse/configs/arm64/*.cell)
- $(MAKE) -C ../jailhouse -j$(NPROC) install KDIR=$(CURDIR)/linux-4.4 ARCH=arm64 DESTDIR=$(CURDIR)/rootfs-overlay prefix=/usr
- mkdir -p rootfs-overlay/jailhouse/configs/ rootfs-overlay/jailhouse/demos/
-# cp ../jailhouse/inmates/demos/arm64/my-demo.bin rootfs-overlay/jailhouse/demos/
- cp ../jailhouse/configs/arm64/jetson-tx2.cell rootfs-overlay/jailhouse/configs/
- cp ../jailhouse/configs/arm64/jetson-tx2-demo.cell rootfs-overlay/jailhouse/configs/
+ $(MAKE) jailhouse-install
jailhouse: ../jailhouse/hypervisor/jailhouse.bin
+JAILHOUSE_DESTDIR=$(CURDIR)/rootfs-overlay
+
+jailhouse-install: FORCE
+ $(MAKE) -C ../jailhouse -j$(NPROC) install KDIR=$(CURDIR)/linux-4.4 ARCH=arm64 DESTDIR=$(abspath $(JAILHOUSE_DESTDIR)) prefix=/usr
+ mkdir -p $(JAILHOUSE_DESTDIR)/jailhouse/configs/ $(JAILHOUSE_DESTDIR)/jailhouse/demos/
+# cp ../jailhouse/inmates/demos/arm64/my-demo.bin rootfs-overlay/jailhouse/demos/
+ cp ../jailhouse/configs/arm64/jetson-tx2.cell $(JAILHOUSE_DESTDIR)/jailhouse/configs/
+ cp ../jailhouse/configs/arm64/jetson-tx2-demo.cell $(JAILHOUSE_DESTDIR)/jailhouse/configs/
+
+# Add something like this to ~/.ssh/config for
+# jailhouse-install-remote to work out of the box:
+#
+# Host tx2
+# Hostname 192.168.1.54
+INSTALL_HOST ?= root@tx2
+
+jailhouse-install-remote: JAILHOUSE_DESTDIR=jailhouse-install
+jailhouse-install-remote: jailhouse-install
+ rsync -rlptD jailhouse-install/ $(INSTALL_HOST):/
+ rsync -rlptD rootfs-overlay/lib/modules/ $(INSTALL_HOST):/lib/modules
+
../jailhouse/hypervisor/jailhouse.bin: ../jailhouse/include/jailhouse/config.h
../jailhouse/hypervisor/jailhouse.bin: linux-4.4/vmlinux
../jailhouse/hypervisor/jailhouse.bin: $(addprefix ../jailhouse/,$(shell cd ../jailhouse && git ls-files))
$(MAKE) -C ../test
clean:
- rm buildroot/images/rootfs.cpio.uboot linux-4.4/vmlinux
+ rm -rf buildroot/images/rootfs.cpio.uboot linux-4.4/vmlinux buildroot/target `find buildroot/ -name .stamp_target_installed` jailhouse-install
deploy: ../test/prem-test
#deploy: ../jailhouse/hypervisor/jailhouse.bin