all: buildroot/images/rootfs.cpio.uboot linux-4.4/vmlinux NPROC:=$(shell nproc) # TX2 U-Boot does not support FIT images image.fit: buildroot/images/rootfs.cpio.uboot linux-4.4/vmlinux mkimage -f auto -d linux-4.4/arch/arm64/boot/Image -i buildroot/images/rootfs.cpio.uboot -b linux-4.4/arch/arm64/boot/dts/tegra186-quill-p3310-1000-c03-00-base.dtb image.fit buildroot/images/rootfs.cpio.uboot: ./buildroot/.config buildroot/images/rootfs.cpio.uboot: rootfs-overlay/lib/firmware/jailhouse.bin rootfs-overlay/lib/modules/4.4.38+/modules.dep buildroot/images/rootfs.cpio.uboot: $(shell find rootfs-overlay) buildroot/images/rootfs.cpio.uboot: rootfs-overlay/bin/prem-test $(MAKE) -j1 -C buildroot ROOTFS_CPIO_COMPRESS_CMD="gzip --fast -c" rootfs-overlay/bin/prem-test: ../test/prem-test install -D $< $@ rootfs-overlay/lib/firmware/jailhouse.bin: ../jailhouse/hypervisor/jailhouse.bin rootfs-overlay/lib/firmware/jailhouse.bin: $(wildcard ../jailhouse/configs/arm64/*.cell) $(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 ../jailhouse -j$(NPROC) KDIR=$(CURDIR)/linux-4.4 ARCH=arm64 prefix=/usr ../jailhouse/include/jailhouse/config.h: Makefile rm -f $@.tmp echo '#define CONFIG_TRACE_ERROR 1' >> $@.tmp echo '#define CONFIG_ARM_GIC_V2 1' >> $@.tmp echo '#define CONFIG_MACH_JETSON_TX2 1' >> $@.tmp mv --update $@.tmp $@ rootfs-overlay/lib/modules/4.4.38+/modules.dep: linux-4.4/vmlinux $(MAKE) -C linux-4.4 -j$(NPROC) modules_install INSTALL_MOD_PATH=$(CURDIR)/rootfs-overlay linux-4.4/vmlinux: $(MAKE) -C $(@D) -j$(NPROC) .PHONY: FORCE ../test/prem-test: FORCE $(MAKE) -C ../test clean: 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 scp ../test/prem-test tx2:/bin # scp ../jailhouse/hypervisor/jailhouse.bin tx2:/lib/firmware # ssh tx2 'sh /etc/init.d/S20jailhouse.sh stop && sh /etc/init.d/S20jailhouse.sh start'