Hi all -
I haven’t had time to upgrade my install to Fedora 27 (that’s on my todo…), but prior to that I went with a basic compile which largely followed instructions at -
https://fedoraproject.org/wiki/BuildingUpstreamKernel
I grabbed the config from rawhide, used that and largely didn’t have any issues with a bog standard compile & installing modules.
Booting up was painless, although being on Threadripper I had to switch to another tty and kicks things up to init 3
(bump the run level) just to stop the errors from the PCI issues messing with a glitching console. I was prompted by the installer though that I couldn’t locate kernel sources, so I pointed it to my local path where I had previously cloned the source repo (git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git) using the --kernel-source-path=/mnt/wdblack/kernel-hacking/linux
Here’s the full error log, there are various compilation errors hmm -
nvidia-installer log file '/var/log/nvidia-installer.log'
creation time: Sun Dec 3 22:19:26 2017
installer version: 384.69
PATH: /usr/lib64/ccache:/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
nvidia-installer command line:
./nvidia-installer
--kernel-source-path
/mnt/wdblack/kernel-hacking/linux
Using: nvidia-installer ncurses v6 user interface
-> Detected 32 CPUs online; setting concurrency level to 32.
-> Tagging shared libraries with chcon -t textrel_shlib_t.
-> License accepted.
-> Installing NVIDIA driver version 384.69.
-> There appears to already be a driver installed on your system (version: 384.69). As part of installing this driver (version: 384.69), the existing driver will be uninstalled. Are you sure you want to continue? (Answer: Continue installation)
-> Performing CC sanity check with CC="/usr/lib64/ccache/cc".
-> Using the kernel source path '/mnt/wdblack/kernel-hacking/linux' as specified by the '--kernel-source-path' commandline option.
-> Kernel source path: '/mnt/wdblack/kernel-hacking/linux'
-> Kernel output path: '/mnt/wdblack/kernel-hacking/linux'
-> Performing Compiler check.
-> Performing Dom0 check.
-> Performing Xen check.
-> Performing PREEMPT_RT check.
-> Cleaning kernel module build directory.
executing: 'cd ./kernel; /bin/make -k -j32 clean NV_EXCLUDE_KERNEL_MODULES="" SYSSRC="/mnt/wdblack/kernel-hacking/linux" SYSOUT="/mnt/wdblack/kernel-hacking/linux"'...
rm -f -r conftest
/bin/make "CC=cc" KBUILD_VERBOSE= -C /mnt/wdblack/kernel-hacking/linux M=/tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel ARCH=x86_64 NV_KERNEL_SOURCES=/mnt/wdblack/kernel-hacking/linux NV_KERNEL_OUTPUT=/mnt/wdblack/kernel-hacking/linux NV_KERNEL_MODULES="nvidia nvidia-uvm nvidia-modeset nvidia-drm" INSTALL_MOD_DIR=kernel/drivers/video clean
make[1]: Entering directory '/mnt/wdblack/kernel-hacking/linux'
make[1]: Leaving directory '/mnt/wdblack/kernel-hacking/linux'
-> Building kernel modules
executing: 'cd ./kernel; /bin/make -k -j32 NV_EXCLUDE_KERNEL_MODULES="" SYSSRC="/mnt/wdblack/kernel-hacking/linux" SYSOUT="/mnt/wdblack/kernel-hacking/linux"'...
/bin/make "CC=cc" KBUILD_VERBOSE= -C /mnt/wdblack/kernel-hacking/linux M=/tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel ARCH=x86_64 NV_KERNEL_SOURCES=/mnt/wdblack/kernel-hacking/linux NV_KERNEL_OUTPUT=/mnt/wdblack/kernel-hacking/linux NV_KERNEL_MODULES="nvidia nvidia-uvm nvidia-modeset nvidia-drm" INSTALL_MOD_DIR=kernel/drivers/video modules
make[1]: Entering directory '/mnt/wdblack/kernel-hacking/linux'
SYMLINK /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-kernel.o
SYMLINK /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-modeset/nv-modeset-kernel.o
CONFTEST: remap_pfn_range
CONFTEST: INIT_WORK
CONFTEST: hash__remap_4k_pfn
CONFTEST: vmap
CONFTEST: follow_pfn
CONFTEST: set_pages_uc
CONFTEST: set_memory_uc
CONFTEST: set_memory_array_uc
CONFTEST: pci_get_class
CONFTEST: change_page_attr
CONFTEST: pci_choose_state
CONFTEST: vm_insert_page
CONFTEST: acpi_device_id
CONFTEST: acquire_console_sem
CONFTEST: kmem_cache_create
CONFTEST: console_lock
CONFTEST: on_each_cpu
CONFTEST: smp_call_function
CONFTEST: acpi_evaluate_integer
CONFTEST: ioremap_cache
CONFTEST: ioremap_wc
CONFTEST: acpi_walk_namespace
CONFTEST: pci_domain_nr
CONFTEST: pci_dma_mapping_error
CONFTEST: sg_alloc_table
CONFTEST: pci_get_domain_bus_and_slot
CONFTEST: sg_init_table
CONFTEST: get_num_physpages
CONFTEST: efi_enabled
CONFTEST: proc_create_data
CONFTEST: pde_data
CONFTEST: proc_remove
CONFTEST: pm_vt_switch_required
CONFTEST: xen_ioemu_inject_msi
CONFTEST: phys_to_dma
CONFTEST: get_dma_ops
CONFTEST: write_cr4
CONFTEST: of_get_property
CONFTEST: of_find_node_by_phandle
CONFTEST: of_node_to_nid
CONFTEST: pnv_pci_get_npu_dev
CONFTEST: for_each_online_node
CONFTEST: node_end_pfn
CONFTEST: pci_bus_address
CONFTEST: pci_stop_and_remove_bus_device
CONFTEST: pci_remove_bus_device
CONFTEST: request_threaded_irq
CONFTEST: register_cpu_notifier
CONFTEST: cpuhp_setup_state
CONFTEST: remap_page_range
CONFTEST: address_space_init_once
CONFTEST: kbasename
CONFTEST: fatal_signal_pending
CONFTEST: list_cut_position
CONFTEST: vzalloc
CONFTEST: wait_on_bit_lock_argument_count
CONFTEST: bitmap_clear
CONFTEST: usleep_range
CONFTEST: radix_tree_empty
CONFTEST: drm_dev_unref
CONFTEST: drm_reinit_primary_mode_group
CONFTEST: drm_atomic_set_mode_for_crtc
CONFTEST: drm_atomic_clean_old_fb
CONFTEST: get_user_pages_remote
CONFTEST: drm_gem_object_lookup
CONFTEST: drm_atomic_state_free
CONFTEST: drm_driver_has_gem_prime_res_obj
CONFTEST: is_export_symbol_gpl_of_node_to_nid
CONFTEST: pm_message_t
CONFTEST: i2c_adapter
CONFTEST: irq_handler_t
CONFTEST: acpi_device_ops
CONFTEST: acpi_op_remove
CONFTEST: outer_flush_all
CONFTEST: proc_dir_entry
CONFTEST: scatterlist
CONFTEST: sg_table
CONFTEST: file_operations
CONFTEST: vm_operations_struct
CONFTEST: atomic_long_type
CONFTEST: pci_save_state
CONFTEST: file_inode
CONFTEST: task_struct
CONFTEST: kuid_t
CONFTEST: dma_ops
CONFTEST: dma_map_ops
CONFTEST: noncoherent_swiotlb_dma_ops
CONFTEST: vm_fault_present
CONFTEST: vm_fault_has_address
CONFTEST: fault_flags
CONFTEST: atomic64_type
CONFTEST: address_space
CONFTEST: backing_dev_info
CONFTEST: kernel_write
CONFTEST: strnstr
CONFTEST: iterate_dir
CONFTEST: kstrtoull
CONFTEST: mm_context_t
CONFTEST: vm_ops_fault_removed_vma_arg
CONFTEST: pnv_npu2_init_context
CONFTEST: drm_bus_present
CONFTEST: drm_bus_has_bus_type
CONFTEST: drm_bus_has_get_irq
CONFTEST: drm_bus_has_get_name
CONFTEST: drm_driver_has_legacy_dev_list
CONFTEST: drm_driver_has_set_busid
CONFTEST: drm_crtc_state_has_connectors_changed
CONFTEST: drm_init_functions_have_name_arg
CONFTEST: drm_mode_connector_list_update_has_merge_type_bits_arg
CONFTEST: drm_helper_mode_fill_fb_struct
CONFTEST: drm_master_drop_has_from_release_arg
CONFTEST: drm_mode_config_funcs_has_atomic_state_alloc
CONFTEST: drm_driver_unload_has_int_return_type
CONFTEST: dom0_kernel_present
CONFTEST: nvidia_vgpu_kvm_build
CONFTEST: nvidia_grid_build
CONFTEST: drm_available
CONFTEST: drm_atomic_available
CONFTEST: drm_atomic_modeset_nonblocking_commit_available
CONFTEST: is_export_symbol_gpl_refcount_inc
CONFTEST: is_export_symbol_gpl_refcount_dec_and_test
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-frontend.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-instance.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-acpi.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-chrdev.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-cray.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-dma.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-gvi.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-i2c.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-mempool.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-mmap.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-p2p.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-pat.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-procfs.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-usermap.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-vm.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-vtophys.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/os-interface.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/os-mlock.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/os-pci.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/os-registry.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/os-usermap.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-modeset-interface.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-pci-table.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-kthread-q.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-kthread-q-selftest.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv-memdbg.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv_uvm_interface.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nvlink_linux.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_volta_host.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_volta.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_volta_fault_buffer.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_volta_access_counter_buffer.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_ats_numa.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_gpu_non_replayable_faults.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_gpu_access_counters.o
/tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv.c: In function ‘nv_start_rc_timer’:
/tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv.c:3206:5: error: implicit declaration of function ‘init_timer’; did you mean ‘init_timers’? [-Werror=implicit-function-declaration]
init_timer(&nvl->rc_timer);
^~~~~~~~~~
init_timers
/tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv.c:3207:28: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
nvl->rc_timer.function = nvidia_rc_timer;
^
/tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv.c:3208:18: error: ‘struct timer_list’ has no member named ‘data’
nvl->rc_timer.data = (unsigned long) nvl;
^
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:310: /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia/nv.o] Error 1
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm_utils.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm_common.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm_linux.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/nvstatus.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/nv-kthread-q.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/nv-kthread-q-selftest.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_tools.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_global.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_gpu.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_gpu_isr.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_procfs.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_va_space.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_gpu_semaphore.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_mem.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_rm_mem.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_channel.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_lock.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_hal.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_range_tree.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_range_allocator.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_va_range.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_va_block.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_range_group.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_gpu_replayable_faults.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_perf_events.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_perf_module.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_mmu.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_pte_batch.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_tlb_batch.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_push.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_pushbuffer.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_thread_context.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_tracker.o
/tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_ats_numa.c: In function ‘bad_idea_read_string_from_file’:
/tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_ats_numa.c:134:39: warning: passing argument 3 of ‘kernel_read’ makes integer from pointer without a cast [-Wint-conversion]
read_count = kernel_read(filp, 0, read_buffer, read_buffer_size - 1);
^~~~~~~~~~~
In file included from ./include/linux/huge_mm.h:7:0,
from ./include/linux/mm.h:462,
from /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/common/inc/nv-pgprot.h:17,
from /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/common/inc/nv-linux.h:20,
from /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm_linux.h:39,
from /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/common/inc/nv_uvm_interface.h:30,
from /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_ats_numa.c:24:
./include/linux/fs.h:2842:16: note: expected ‘size_t {aka long unsigned int}’ but argument is of type ‘char *’
extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *);
^~~~~~~~~~~
/tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_ats_numa.c:134:52: warning: passing argument 4 of ‘kernel_read’ makes pointer from integer without a cast [-Wint-conversion]
read_count = kernel_read(filp, 0, read_buffer, read_buffer_size - 1);
^~~~~~~~~~~~~~~~
In file included from ./include/linux/huge_mm.h:7:0,
from ./include/linux/mm.h:462,
from /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/common/inc/nv-pgprot.h:17,
from /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/common/inc/nv-linux.h:20,
from /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm_linux.h:39,
from /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/common/inc/nv_uvm_interface.h:30,
from /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_ats_numa.c:24:
./include/linux/fs.h:2842:16: note: expected ‘loff_t * {aka long long int *}’ but argument is of type ‘size_t {aka long unsigned int}’
extern ssize_t kernel_read(struct file *, void *, size_t, loff_t *);
^~~~~~~~~~~
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_kepler.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_kepler_ce.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_kepler_host.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_kepler_mmu.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_maxwell.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_maxwell_host.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_pascal.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_pascal_ce.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_pascal_host.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_pascal_mmu.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_pascal_fault_buffer.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_policy.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_perf_utils.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_kvmalloc.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_pmm_gpu.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_migrate.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_map_external.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_user_channel.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_hmm.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_perf_heuristics.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_perf_thrashing.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_perf_prefetch.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_test.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_test_rng.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_range_tree_test.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_range_allocator_test.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_gpu_semaphore_test.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_mem_test.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_rm_mem_test.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_page_tree_test.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_tracker_test.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_push_test.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_channel_test.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_ce_test.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_lock_test.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_perf_utils_test.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_kvmalloc_test.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_pmm_test.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_perf_events_test.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_perf_module_test.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_get_rm_ptes_test.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_fault_buffer_flush_test.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_mmu_test.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_peer_identity_mappings_test.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_va_block_test.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_range_group_tree_test.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-modeset/nvidia-modeset-linux.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-drm/nvidia-drm.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-drm/nvidia-drm-drv.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-drm/nvidia-drm-utils.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-drm/nvidia-drm-crtc.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-drm/nvidia-drm-encoder.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-drm/nvidia-drm-connector.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-drm/nvidia-drm-gem.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-drm/nvidia-drm-fb.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-drm/nvidia-drm-modeset.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-drm/nvidia-drm-prime-fence.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-drm/nvidia-drm-linux.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-drm/nvidia-drm-helper.o
CC [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-drm/nv-pci-table.o
/tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-modeset/nvidia-modeset-linux.c: In function ‘nvkms_init_timer’:
/tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-modeset/nvidia-modeset-linux.c:591:9: error: implicit declaration of function ‘init_timer’; did you mean ‘init_timers’? [-Werror=implicit-function-declaration]
init_timer(&timer->kernel_timer);
^~~~~~~~~~
init_timers
/tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-modeset/nvidia-modeset-linux.c:593:38: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
timer->kernel_timer.function = nvkms_timer_callback;
^
/tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-modeset/nvidia-modeset-linux.c:594:28: error: ‘struct timer_list’ has no member named ‘data’
timer->kernel_timer.data = (unsigned long) timer;
^
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:310: /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-modeset/nvidia-modeset-linux.o] Error 1
In file included from ./arch/x86/include/asm/cpufeature.h:5:0,
from ./arch/x86/include/asm/thread_info.h:53,
from ./include/linux/thread_info.h:38,
from ./arch/x86/include/asm/preempt.h:7,
from ./include/linux/preempt.h:81,
from ./include/linux/spinlock.h:51,
from /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/common/inc/nv-lock.h:16,
from /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/common/inc/nv-linux.h:19,
from /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm_linux.h:39,
from /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_va_block.c:24:
/tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_va_block.c: In function ‘block_cpu_fault_locked’:
./arch/x86/include/asm/processor.h:812:39: error: implicit declaration of function ‘task_stack_page’; did you mean ‘task_stack_vm_area’? [-Werror=implicit-function-declaration]
unsigned long __ptr = (unsigned long)task_stack_page(task); \
^
./arch/x86/include/asm/processor.h:886:26: note: in expansion of macro ‘task_pt_regs’
#define KSTK_EIP(task) (task_pt_regs(task)->ip)
^~~~~~~~~~~~
/tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_va_block.c:8771:41: note: in expansion of macro ‘KSTK_EIP’
KSTK_EIP(current));
^~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:310: /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-uvm/uvm8_va_block.o] Error 1
/tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-drm/nvidia-drm-gem.c: In function ‘nvidia_drm_gem_free’:
/tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-drm/nvidia-drm-gem.c:106:5: warning: enumeration value ‘NV_DRM_GEM_OBJECT_TYPE_DUMB_BUFFER’ not handled in switch [-Wswitch]
switch (nv_gem->type)
^~~~~~
/tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-drm/nvidia-drm-gem.c:106:5: warning: enumeration value ‘NV_DRM_GEM_OBJECT_TYPE_MEMORY_NVKMS_IMPORTED’ not handled in switch [-Wswitch]
LD [M] /tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel/nvidia-drm.o
make[2]: Target '__build' not remade because of errors.
make[1]: *** [Makefile:1502: _module_/tmp/selfgz23048/NVIDIA-Linux-x86_64-384.69/kernel] Error 2
make[1]: Target 'modules' not remade because of errors.
make[1]: Leaving directory '/mnt/wdblack/kernel-hacking/linux'
make: *** [Makefile:81: modules] Error 2
-> Error.
ERROR: An error occurred while performing the step: "Building kernel modules". See /var/log/nvidia-installer.log for details.
-> The command `cd ./kernel; /bin/make -k -j32 NV_EXCLUDE_KERNEL_MODULES="" SYSSRC="/mnt/wdblack/kernel-hacking/linux" SYSOUT="/mnt/wdblack/kernel-hacking/linux"` failed with the following output:
If anyone has any ideas as to what I’ve missed here, do please let me know - thanks!