diff --git a/config/linux.config b/config/linux.config index 3b701561..f5c33e35 100644 --- a/config/linux.config +++ b/config/linux.config @@ -54,7 +54,7 @@ CONFIG_THREAD_INFO_IN_TASK=y CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_CROSS_COMPILE="" # CONFIG_COMPILE_TEST is not set -CONFIG_LOCALVERSION="-heads_moc" +CONFIG_LOCALVERSION="-heads" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_HAVE_KERNEL_GZIP=y CONFIG_HAVE_KERNEL_BZIP2=y @@ -117,6 +117,8 @@ CONFIG_NO_HZ_IDLE=y CONFIG_TICK_CPU_ACCOUNTING=y # CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set # CONFIG_IRQ_TIME_ACCOUNTING is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set # # RCU Subsystem @@ -139,6 +141,7 @@ CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y CONFIG_ARCH_SUPPORTS_INT128=y # CONFIG_CGROUPS is not set # CONFIG_CHECKPOINT_RESTORE is not set +# CONFIG_NAMESPACES is not set # CONFIG_SCHED_AUTOGROUP is not set # CONFIG_SYSFS_DEPRECATED is not set # CONFIG_RELAY is not set @@ -159,7 +162,7 @@ CONFIG_SYSCTL_EXCEPTION_TRACE=y CONFIG_HAVE_PCSPKR_PLATFORM=y CONFIG_BPF=y CONFIG_EXPERT=y -# CONFIG_MULTIUSER is not set +CONFIG_MULTIUSER=y # CONFIG_SGETMASK_SYSCALL is not set # CONFIG_SYSFS_SYSCALL is not set CONFIG_KALLSYMS=y @@ -2021,6 +2024,8 @@ CONFIG_ARCH_HAS_GIGANTIC_PAGE=y # CONFIG_CONFIGFS_FS is not set # CONFIG_MISC_FILESYSTEMS is not set CONFIG_NETWORK_FILESYSTEMS=y +# CONFIG_NFS_FS is not set +# CONFIG_NFSD is not set # CONFIG_CEPH_FS is not set # CONFIG_CIFS is not set # CONFIG_NCP_FS is not set @@ -2284,6 +2289,7 @@ CONFIG_OPTIMIZE_INLINING=y # # CONFIG_KEYS is not set # CONFIG_SECURITY_DMESG_RESTRICT is not set +# CONFIG_SECURITY is not set CONFIG_SECURITYFS=y # CONFIG_INTEL_TXT is not set CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y diff --git a/config/qemu-moc.config b/config/qemu-moc.config index 7eaba317..95c337ea 100644 --- a/config/qemu-moc.config +++ b/config/qemu-moc.config @@ -15,6 +15,7 @@ CONFIG_QRENCODE=y CONFIG_TPMTOTP=y CONFIG_DROPBEAR=y CONFIG_XEN=y +CONFIG_ZFS=y CONFIG_LINUX_USB=y CONFIG_LINUX_E1000=y diff --git a/modules/spl b/modules/spl index 691b8466..f99b2242 100644 --- a/modules/spl +++ b/modules/spl @@ -1,6 +1,6 @@ modules-$(CONFIG_ZFS) += spl -spl_depends := $(musl_dep) +spl_depends := linux $(musl_dep) spl_version := 0.6.5.9 spl_dir := spl-$(spl_version) @@ -8,21 +8,31 @@ spl_tar := spl-$(spl_version).tar.gz spl_url := https://github.com/zfsonlinux/zfs/releases/download/zfs-$(spl_version)/$(spl_tar) spl_hash := d9ccd24786bb5a8616748a93a3c0b1270aa891175e2f5d726195b416f5c03b9c -spl_configure := ./configure \ - $(CROSS_TOOLS) \ +# these can't be a := variable since we can't guarantee that +# linux_dir has been defined yet. +spl_configure = \ + CROSS_COMPILE="$(CROSS)" \ + $(CROSS_TOOLS_NOCC) \ + CC="$(CROSS)gcc" \ + USER_KCFLAGS="-I$(build)/$(linux_dir)/include" \ + ./configure \ + --prefix / \ --host i386-elf-linux \ - PREFIX="/" \ - --with-linux=$(build)/linux-4.9.20 \ - --with-linux-obj=$(build)/linux-4.9.20 \ + --with-linux="$(build)/$(linux_dir)" \ + --with-linux-obj="$(build)/$(linux_dir)" \ spl_target := \ $(MAKE_JOBS) \ - $(CROSS_TOOLS) \ + CROSS_COMPILE="$(CROSS)" \ + CC="$(CROSS)gcc" \ DESTDIR="$(INSTALL)" \ + install -spl_output := \ - spl.ko +spl_output := cmd/splat -spl_libraries := \ +spl_libraries := + +linux_modules-$(CONFIG_ZFS) += module/spi/spi.ko +linux_modules-$(CONFIG_ZFS) += module/splat/splat.ko diff --git a/modules/zfs b/modules/zfs index 7e2cd095..d400a06f 100644 --- a/modules/zfs +++ b/modules/zfs @@ -8,18 +8,19 @@ zfs_tar := zfs-$(zfs_version).tar.gz zfs_url := https://github.com/zfsonlinux/zfs/releases/download/zfs-$(zfs_version)/$(zfs_tar) zfs_hash := b724b57dbddae59246fdc15f88f1224061c712945bb36412a2087e0c7760d77f -zfs_configure := ./configure \ - $(CROSS_TOOLS) \ +zfs_configure := \ + CROSS_COMPILE="$(CROSS)" \ + ./configure \ --host i386-elf-linux \ - PREFIX="/" \ + --prefix / \ --with-linux=../linux-4.9.20 \ --with-linux-obj=../linux-4.9.20 \ --with-spl=../spl-$(zfs_version) \ + --with-spl-obj=../spl-$(zfs_version) \ zfs_target := \ $(MAKE_JOBS) \ - $(CROSS_TOOLS) \ DESTDIR="$(INSTALL)" \ zfs_output := \