tools:remove unused kernel

本文记录了一系列命令用于从Linux系统中移除指定版本的内核,包括使用dpkg查询已安装的内核包、利用apt-get进行软件包的删除等操作。涉及的内核版本包括4.15.0-52、4.15.0-54及4.16.0-041600等。
  ls
  562  dpkg --get-selections |grep linux
  563  sduo apt-get remove linux-headers-4.15.0-52 linux-headers-4.15.0-52-generic linux-headers-4.15.0-54 linux-headers-4.15.0-54-generic
  564  sudu apt-get remove linux-headers-4.15.0-52 linux-headers-4.15.0-52-generic linux-headers-4.15.0-54 linux-headers-4.15.0-54-generic
  565  sudo apt-get remove linux-headers-4.15.0-52 linux-headers-4.15.0-52-generic linux-headers-4.15.0-54 linux-headers-4.15.0-54-generic
  566  sudo dpkg --get-selections |grep linux
  567  sudo apt remove linux-headers-4.16.0-041600 linux-headers-4.16.0-041600-generic linux-image-4.15.0-52-generic linux-image-4.15.0-54-generic linux-image-4.16.0-041600-generic linux-modules-4.15.0-52-generic linux-modules-4.15.0-54-generic linux-modules-extra-4.15.0-52-generic linux-modules-extra-4.15.0-54-generic
  568  sudo dpkg --get-selections |grep linux
  569  sudo dpkg -P linux-headers-4.16.0-041600 linux-headers-4.16.0-041600-generic linux-image-4.15.0-52-generic linux-image-4.15.0-54-generic linux-image-4.16.0-041600-generic linux-modules-4.15.0-52-generic linux-modules-4.15.0-54-generic linux-modules-extra-4.15.0-52-generic linux-modules-extra-4.15.0-54-generic
  570  sudo dpkg --get-selections |grep linux
  571  df -h

 

还是报错, nvidia-installer log file '/var/log/nvidia-installer.log' creation time: Mon Nov 10 13:26:24 2025 installer version: 560.35.03 PATH: /root/.local/bin:/root/bin:/usr/share/Modules/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin nvidia-installer command line: ./nvidia-installer --no-opengl-files Using: nvidia-installer ncurses v6 user interface -> Detected 48 CPUs online; setting concurrency level to 32. -> Scanning the initramfs with lsinitrd... -> /usr/bin/lsinitrd requires a file path argument, but none was given. -> Executing: /usr/bin/lsinitrd /boot/initramfs-5.14.0-570.12.1.el9_6.x86_64.img -> Nouveau detected in initramfs -> Initramfs scan complete. -> Multiple kernel module types are available for this system. Which would you like to use? (Answer: NVIDIA Proprietary) -> Installing NVIDIA driver version 560.35.03. -> Performing CC sanity check with CC="/usr/bin/cc". -> Performing CC check. -> Kernel source path: '/lib/modules/5.14.0-570.12.1.el9_6.x86_64/source' -> Kernel output path: '/lib/modules/5.14.0-570.12.1.el9_6.x86_64/build' -> Performing Compiler check. -> Performing Dom0 check. -> Performing Xen check. -> Performing PREEMPT_RT check. -> Performing vgpu_kvm check. -> Cleaning kernel module build directory. executing: 'cd kernel; /usr/bin/make -k -j32 NV_EXCLUDE_KERNEL_MODULES="" SYSSRC="/lib/modules/5.14.0-570.12.1.el9_6.x86_64/source" SYSOUT="/lib/modules/5.14.0-570.12.1.el9_6.x86_64/build" clean'... rm -f -r conftest make[1]: Entering directory '/usr/src/kernels/5.14.0-570.12.1.el9_6.x86_64' make[1]: Leaving directory '/usr/src/kernels/5.14.0-570.12.1.el9_6.x86_64' -> Building kernel modules executing: 'cd kernel; /usr/bin/make -k -j32 NV_EXCLUDE_KERNEL_MODULES="" SYSSRC="/lib/modules/5.14.0-570.12.1.el9_6.x86_64/source" SYSOUT="/lib/modules/5.14.0-570.12.1.el9_6.x86_64/build" '... make[1]: Entering directory '/usr/src/kernels/5.14.0-570.12.1.el9_6.x86_64' SYMLINK /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-kernel.o SYMLINK /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-modeset/nv-modeset-kernel.o CONFTEST: hash__remap_4k_pfn CONFTEST: set_pages_uc CONFTEST: list_is_first CONFTEST: set_memory_uc CONFTEST: set_memory_array_uc CONFTEST: set_pages_array_uc CONFTEST: ioremap_cache CONFTEST: ioremap_wc CONFTEST: ioremap_driver_hardened CONFTEST: ioremap_driver_hardened_wc CONFTEST: ioremap_cache_shared CONFTEST: pci_get_domain_bus_and_slot CONFTEST: get_num_physpages CONFTEST: pde_data CONFTEST: xen_ioemu_inject_msi CONFTEST: phys_to_dma CONFTEST: get_dma_ops CONFTEST: dma_attr_macros CONFTEST: dma_map_page_attrs CONFTEST: write_cr4 CONFTEST: of_find_node_by_phandle CONFTEST: of_node_to_nid CONFTEST: pnv_pci_get_npu_dev CONFTEST: of_get_ibm_chip_id CONFTEST: pci_bus_address CONFTEST: pci_stop_and_remove_bus_device CONFTEST: pci_rebar_get_possible_sizes CONFTEST: wait_for_random_bytes CONFTEST: register_cpu_notifier CONFTEST: cpuhp_setup_state CONFTEST: dma_map_resource CONFTEST: get_backlight_device_by_name CONFTEST: timer_setup CONFTEST: pci_enable_msix_range CONFTEST: kernel_read_has_pointer_pos_arg CONFTEST: kernel_write_has_pointer_pos_arg CONFTEST: dma_direct_map_resource CONFTEST: tegra_get_platform CONFTEST: tegra_bpmp_send_receive CONFTEST: flush_cache_all CONFTEST: vmf_insert_pfn CONFTEST: jiffies_to_timespec CONFTEST: ktime_get_raw_ts64 CONFTEST: ktime_get_real_ts64 CONFTEST: full_name_hash CONFTEST: pci_enable_atomic_ops_to_root CONFTEST: vga_tryget CONFTEST: cc_platform_has CONFTEST: seq_read_iter CONFTEST: follow_pfn CONFTEST: drm_gem_object_get CONFTEST: drm_gem_object_put_unlocked CONFTEST: add_memory_driver_managed CONFTEST: device_property_read_u64 CONFTEST: devm_of_platform_populate CONFTEST: of_dma_configure CONFTEST: of_property_count_elems_of_size CONFTEST: of_property_read_variable_u8_array CONFTEST: of_property_read_variable_u32_array CONFTEST: i2c_new_client_device CONFTEST: i2c_unregister_device CONFTEST: of_get_named_gpio CONFTEST: devm_gpio_request_one CONFTEST: gpio_direction_input CONFTEST: gpio_direction_output CONFTEST: gpio_get_value CONFTEST: gpio_set_value CONFTEST: gpio_to_irq CONFTEST: icc_get CONFTEST: icc_put CONFTEST: icc_set_bw CONFTEST: dma_buf_export_args CONFTEST: dma_buf_ops_has_kmap CONFTEST: dma_buf_ops_has_kmap_atomic CONFTEST: dma_buf_ops_has_map CONFTEST: dma_buf_ops_has_map_atomic CONFTEST: dma_buf_has_dynamic_attachment CONFTEST: dma_buf_attachment_has_peer2peer CONFTEST: dma_set_mask_and_coherent CONFTEST: devm_clk_bulk_get_all CONFTEST: get_task_ioprio CONFTEST: mdev_set_iommu_device CONFTEST: offline_and_remove_memory CONFTEST: stack_trace CONFTEST: crypto_tfm_ctx_aligned CONFTEST: wait_on_bit_lock_argument_count CONFTEST: radix_tree_empty CONFTEST: radix_tree_replace_slot CONFTEST: pnv_npu2_init_context CONFTEST: cpumask_of_node CONFTEST: ioasid_get CONFTEST: mm_pasid_drop CONFTEST: mmget_not_zero CONFTEST: mmgrab CONFTEST: iommu_sva_bind_device_has_drvdata_arg CONFTEST: vm_fault_to_errno CONFTEST: find_next_bit_wrap CONFTEST: iommu_is_dma_domain CONFTEST: acpi_video_backlight_use_native CONFTEST: drm_dev_unref CONFTEST: drm_reinit_primary_mode_group CONFTEST: get_user_pages_remote CONFTEST: get_user_pages CONFTEST: pin_user_pages_remote CONFTEST: pin_user_pages CONFTEST: drm_gem_object_lookup CONFTEST: drm_atomic_state_ref_counting CONFTEST: drm_driver_has_gem_prime_res_obj CONFTEST: drm_atomic_helper_connector_dpms CONFTEST: drm_connector_funcs_have_mode_in_name CONFTEST: drm_connector_has_vrr_capable_property CONFTEST: drm_framebuffer_get CONFTEST: drm_dev_put CONFTEST: drm_format_num_planes CONFTEST: drm_connector_for_each_possible_encoder CONFTEST: drm_rotation_available CONFTEST: drm_vma_offset_exact_lookup_locked CONFTEST: nvhost_dma_fence_unpack CONFTEST: dma_fence_set_error CONFTEST: fence_set_error CONFTEST: sync_file_get_fence CONFTEST: drm_aperture_remove_conflicting_pci_framebuffers CONFTEST: drm_fbdev_generic_setup CONFTEST: drm_connector_attach_hdr_output_metadata_property CONFTEST: drm_helper_crtc_enable_color_mgmt CONFTEST: drm_crtc_enable_color_mgmt CONFTEST: drm_atomic_helper_legacy_gamma_set CONFTEST: is_export_symbol_gpl_of_node_to_nid CONFTEST: is_export_symbol_gpl_sme_active CONFTEST: is_export_symbol_present_swiotlb_map_sg_attrs CONFTEST: is_export_symbol_present_swiotlb_dma_ops CONFTEST: is_export_symbol_present___close_fd CONFTEST: is_export_symbol_present_close_fd CONFTEST: is_export_symbol_present_get_unused_fd CONFTEST: is_export_symbol_present_get_unused_fd_flags CONFTEST: is_export_symbol_present_nvhost_get_default_device CONFTEST: is_export_symbol_present_nvhost_syncpt_unit_interface_get_byte_offset CONFTEST: is_export_symbol_present_nvhost_syncpt_unit_interface_get_aperture CONFTEST: is_export_symbol_present_tegra_dce_register_ipc_client CONFTEST: is_export_symbol_present_tegra_dce_unregister_ipc_client CONFTEST: is_export_symbol_present_tegra_dce_client_ipc_send_recv CONFTEST: is_export_symbol_present_dram_clk_to_mc_clk CONFTEST: is_export_symbol_present_get_dram_num_channels CONFTEST: is_export_symbol_present_tegra_dram_types CONFTEST: is_export_symbol_present_pxm_to_node CONFTEST: is_export_symbol_present_screen_info CONFTEST: is_export_symbol_gpl_screen_info CONFTEST: is_export_symbol_present_i2c_bus_status CONFTEST: is_export_symbol_present_tegra_fuse_control_read CONFTEST: is_export_symbol_present_tegra_get_platform CONFTEST: is_export_symbol_present_pci_find_host_bridge CONFTEST: is_export_symbol_present_tsec_comms_send_cmd CONFTEST: is_export_symbol_present_tsec_comms_set_init_cb CONFTEST: is_export_symbol_present_tsec_comms_clear_init_cb CONFTEST: is_export_symbol_present_tsec_comms_alloc_mem_from_gscco CONFTEST: is_export_symbol_present_tsec_comms_free_gscco_mem CONFTEST: is_export_symbol_present_memory_block_size_bytes CONFTEST: crypto CONFTEST: is_export_symbol_present_follow_pte CONFTEST: is_export_symbol_present_int_active_memcg CONFTEST: is_export_symbol_present_migrate_vma_setup CONFTEST: dma_ops CONFTEST: swiotlb_dma_ops CONFTEST: noncoherent_swiotlb_dma_ops CONFTEST: vm_fault_has_address CONFTEST: vm_insert_pfn_prot CONFTEST: vmf_insert_pfn_prot CONFTEST: vm_ops_fault_removed_vma_arg CONFTEST: kmem_cache_has_kobj_remove_work CONFTEST: sysfs_slab_unlink CONFTEST: proc_ops CONFTEST: timespec64 CONFTEST: vmalloc_has_pgprot_t_arg CONFTEST: mm_has_mmap_lock CONFTEST: pci_channel_state CONFTEST: pci_dev_has_ats_enabled CONFTEST: remove_memory_has_nid_arg CONFTEST: add_memory_driver_managed_has_mhp_flags_arg CONFTEST: num_registered_fb CONFTEST: pci_driver_has_driver_managed_dma CONFTEST: vm_area_struct_has_const_vm_flags CONFTEST: memory_failure_has_trapno_arg CONFTEST: foll_longterm_present CONFTEST: bus_type_has_iommu_ops CONFTEST: backing_dev_info CONFTEST: mm_context_t CONFTEST: vm_fault_t CONFTEST: mmu_notifier_ops_invalidate_range CONFTEST: mmu_notifier_ops_arch_invalidate_secondary_tlbs CONFTEST: migrate_vma_added_flags CONFTEST: migrate_device_range CONFTEST: handle_mm_fault_has_mm_arg CONFTEST: handle_mm_fault_has_pt_regs_arg CONFTEST: mempolicy_has_unified_nodes CONFTEST: mempolicy_has_home_node CONFTEST: mpol_preferred_many_present CONFTEST: mmu_interval_notifier CONFTEST: fault_flag_remote_present 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_device_list CONFTEST: drm_driver_has_legacy_dev_list CONFTEST: drm_driver_has_set_busid CONFTEST: drm_crtc_state_has_connectors_changed CONFTEST: drm_init_function_args CONFTEST: drm_helper_mode_fill_fb_struct CONFTEST: drm_master_drop_has_from_release_arg CONFTEST: drm_driver_unload_has_int_return_type CONFTEST: drm_atomic_helper_crtc_destroy_state_has_crtc_arg CONFTEST: drm_atomic_helper_plane_destroy_state_has_plane_arg CONFTEST: drm_mode_object_find_has_file_priv_arg CONFTEST: dma_buf_owner CONFTEST: drm_connector_list_iter CONFTEST: drm_atomic_helper_swap_state_has_stall_arg CONFTEST: drm_driver_prime_flag_present CONFTEST: drm_gem_object_has_resv CONFTEST: drm_crtc_state_has_async_flip CONFTEST: drm_crtc_state_has_pageflip_flags CONFTEST: drm_crtc_state_has_vrr_enabled CONFTEST: drm_format_modifiers_present CONFTEST: drm_vma_node_is_allowed_has_tag_arg CONFTEST: drm_vma_offset_node_has_readonly CONFTEST: drm_display_mode_has_vrefresh CONFTEST: drm_driver_master_set_has_int_return_type CONFTEST: drm_driver_has_gem_free_object CONFTEST: drm_prime_pages_to_sg_has_drm_device_arg CONFTEST: drm_driver_has_gem_prime_callbacks CONFTEST: drm_crtc_atomic_check_has_atomic_state_arg CONFTEST: drm_gem_object_vmap_has_map_arg CONFTEST: drm_plane_atomic_check_has_atomic_state_arg CONFTEST: drm_device_has_pdev CONFTEST: drm_crtc_state_has_no_vblank CONFTEST: drm_mode_config_has_allow_fb_modifiers CONFTEST: drm_has_hdr_output_metadata CONFTEST: dma_resv_add_fence CONFTEST: dma_resv_reserve_fences CONFTEST: reservation_object_reserve_shared_has_num_fences_arg CONFTEST: drm_connector_has_override_edid CONFTEST: drm_master_has_leases CONFTEST: drm_file_get_master CONFTEST: drm_modeset_lock_all_end CONFTEST: drm_connector_lookup CONFTEST: drm_connector_put CONFTEST: drm_driver_has_dumb_destroy CONFTEST: fence_ops_use_64bit_seqno CONFTEST: drm_aperture_remove_conflicting_pci_framebuffers_has_driver_arg CONFTEST: drm_mode_create_dp_colorspace_property_has_supported_colorspaces_arg CONFTEST: drm_syncobj_features_present CONFTEST: drm_unlocked_ioctl_flag_present CONFTEST: dom0_kernel_present CONFTEST: nvidia_vgpu_kvm_build CONFTEST: nvidia_grid_build CONFTEST: nvidia_grid_csp_build CONFTEST: pm_runtime_available CONFTEST: pci_class_multimedia_hd_audio CONFTEST: drm_available CONFTEST: vfio_pci_core_available CONFTEST: mdev_available CONFTEST: cmd_uphy_display_port_init CONFTEST: cmd_uphy_display_port_off CONFTEST: memory_failure_mf_sw_simulated_defined CONFTEST: drm_atomic_available CONFTEST: is_export_symbol_gpl_refcount_inc CONFTEST: is_export_symbol_gpl_refcount_dec_and_test CONFTEST: drm_alpha_blending_available CONFTEST: is_export_symbol_present_drm_gem_prime_fd_to_handle CONFTEST: is_export_symbol_present_drm_gem_prime_handle_to_fd CONFTEST: ib_peer_memory_symbols CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-pci.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-dmabuf.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-nano-timer.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-acpi.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-cray.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-dma.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-i2c.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-mmap.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-p2p.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-pat.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-procfs.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-usermap.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-vm.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-vtophys.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/os-interface.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/os-mlock.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/os-pci.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/os-registry.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/os-usermap.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-modeset-interface.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-pci-table.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-kthread-q.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-memdbg.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-ibmnpu.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-report-err.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-rsync.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-msi.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-caps.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-caps-imex.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-host1x.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv_uvm_interface.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/libspdm_aead.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/libspdm_ecc.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/libspdm_hkdf.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/libspdm_rand.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/libspdm_shash.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/libspdm_rsa.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/libspdm_aead_aes_gcm.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/libspdm_sha.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/libspdm_hmac_sha.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/libspdm_internal_crypt_lib.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/libspdm_hkdf_sha.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/libspdm_ec.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/libspdm_x509.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/libspdm_rsa_ext.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nvlink_linux.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nvlink_caps.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/linux_nvswitch.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/procfs_nvswitch.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/i2c_nvswitch.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_ats_sva.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_conf_computing.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_sec2_test.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_maxwell_sec2.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_hopper_sec2.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_blackwell.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_blackwell_fault_buffer.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_blackwell_mmu.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_blackwell_host.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_common.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_linux.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/nvstatus.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/nvCpuUuid.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/nv-kthread-q.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/nv-kthread-q-selftest.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_tools.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_global.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_gpu.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_gpu_isr.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_procfs.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_va_space.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_va_space_mm.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_gpu_semaphore.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_mem.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_rm_mem.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_channel.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_lock.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_hal.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_processors.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_range_tree.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_rb_tree.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_range_allocator.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_va_range.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_va_policy.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_va_block.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_range_group.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_gpu_replayable_faults.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_gpu_non_replayable_faults.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_gpu_access_counters.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_perf_events.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_perf_module.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_mmu.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_pte_batch.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_tlb_batch.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_push.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_pushbuffer.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_thread_context.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_tracker.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_maxwell.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_maxwell_host.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_maxwell_ce.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_maxwell_mmu.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_maxwell_fault_buffer.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_maxwell_access_counter_buffer.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_pascal.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_pascal_ce.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_pascal_host.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_pascal_mmu.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_pascal_fault_buffer.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_volta_ce.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_volta_host.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_volta_mmu.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_volta.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_volta_fault_buffer.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_volta_access_counter_buffer.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_turing.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_turing_access_counter_buffer.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_turing_fault_buffer.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_turing_mmu.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_turing_host.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_ampere.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_ampere_ce.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_ampere_host.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_ampere_fault_buffer.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_ampere_mmu.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_hopper.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_hopper_fault_buffer.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_hopper_ce.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_hopper_host.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_hopper_mmu.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_ada.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_policy.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_perf_utils.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_kvmalloc.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_pmm_sysmem.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_pmm_gpu.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_migrate.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_populate_pageable.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_migrate_pageable.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_map_external.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_user_channel.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_hmm.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_perf_heuristics.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_perf_thrashing.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_perf_prefetch.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_ats.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_ats_ibm.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_ats_faults.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_test.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_test_rng.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_range_tree_test.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_range_allocator_test.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_gpu_semaphore_test.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_mem_test.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_rm_mem_test.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_page_tree_test.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_tracker_test.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_push_test.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_channel_test.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_ce_test.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_host_test.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_lock_test.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_perf_utils_test.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_kvmalloc_test.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_pmm_test.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_pmm_sysmem_test.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_perf_events_test.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_perf_module_test.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_get_rm_ptes_test.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_fault_buffer_flush_test.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_peer_identity_mappings_test.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_va_block_test.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_range_group_tree_test.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_thread_context_test.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm/uvm_rb_tree_test.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-modeset/nvidia-modeset-linux.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-modeset/nv-kthread-q.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-drm/nvidia-drm.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-drm/nvidia-drm-drv.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-drm/nvidia-drm-utils.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-drm/nvidia-drm-crtc.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-drm/nvidia-drm-encoder.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-drm/nvidia-drm-connector.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-drm/nvidia-drm-gem.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-drm/nvidia-drm-fb.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-drm/nvidia-drm-modeset.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-drm/nvidia-drm-fence.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-drm/nvidia-drm-helper.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-drm/nv-kthread-q.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-drm/nvidia-drm-drv.c:207:6: error: 'const struct drm_mode_config_funcs' has no member named 'output_poll_changed' 207 | .output_poll_changed = nv_drm_output_poll_changed, | ^~~~~~~~~~~~~~~~~~~ /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-drm/nvidia-drm-drv.c:207:28: error: initialization of 'struct drm_atomic_state * (*)(struct drm_device *)' from incompatible pointer type 'void (*)(struct drm_device *)' [-Werror=incompatible-pointer-types] 207 | .output_poll_changed = nv_drm_output_poll_changed, | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-drm/nvidia-drm-drv.c:207:28: note: (near initialization for 'nv_mode_config_funcs.atomic_state_alloc') cc1: some warnings being treated as errors CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-drm/nv-pci-table.o make[2]: *** [scripts/Makefile.build:249: /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-drm/nvidia-drm-drv.o] Error 1 CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-drm/nvidia-drm-gem-user-memory.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-drm/nvidia-drm-gem-dma-buf.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-drm/nvidia-drm-format.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-drm/nvidia-drm-os-interface.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-drm/nvidia-drm-linux.o CC [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-peermem/nvidia-peermem.o LD [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia.o ld -r -o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-interface.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-pci.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-dmabuf.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-nano-timer.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-acpi.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-cray.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-dma.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-i2c.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-mmap.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-p2p.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-pat. o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-procfs.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-usermap.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-vm.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-vtophys.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/os-interface.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/os-mlock.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/os-pci.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/os-registry.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/os-usermap.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-modeset-interface.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-pci-table.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-kthread-q.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-memdbg.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nv idia/nv-ibmnpu.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-report-err.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-rsync.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-msi.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-caps.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-caps-imex.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv-host1x.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nv_uvm_interface.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/libspdm_aead.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/libspdm_ecc.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/libspdm_hkdf.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/libspdm_rand.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/libspdm_shash.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/libspdm_rsa.o /tmp/selfgz29405/NVIDIA-Linux-x86 _64-560.35.03/kernel/nvidia/libspdm_aead_aes_gcm.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/libspdm_sha.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/libspdm_hmac_sha.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/libspdm_internal_crypt_lib.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/libspdm_hkdf_sha.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/libspdm_ec.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/libspdm_x509.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/libspdm_rsa_ext.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nvlink_linux.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/nvlink_caps.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/linux_nvswitch.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/procfs_nvswitch.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia/i2c_nvswitch.o LD [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-peermem.o ld -r -o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-modeset/nv-modeset-interface.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-modeset/nvidia-modeset-linux.o /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-modeset/nv-kthread-q.o LD [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-modeset.o LD [M] /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel/nvidia-uvm.o make[2]: Target '__build' not remade because of errors. make[1]: *** [Makefile:1947: /tmp/selfgz29405/NVIDIA-Linux-x86_64-560.35.03/kernel] Error 2 make[1]: Target 'modules' not remade because of errors. make[1]: Leaving directory '/usr/src/kernels/5.14.0-570.12.1.el9_6.x86_64' make: *** [Makefile:89: modules] Error 2 -> Error.
最新发布
11-11
gpiochip0 - 256 lines: line 0: unnamed unused input active-high line 1: unnamed unused input active-high line 2: unnamed "pcie_wake" input active-high [used] line 3: unnamed unused input active-high line 4: unnamed unused input active-high line 5: unnamed unused input active-high line 6: unnamed "system-suspend-gpio" output active-high [used] line 7: unnamed unused input active-high line 8: unnamed unused input active-high line 9: unnamed unused input active-high line 10: unnamed unused input active-high line 11: unnamed unused input active-high line 12: "SPI1_MOSI" unused input active-high line 13: "SPI1_MISO" unused input active-high line 14: "SPI1_SCK" "sysfs" output active-high [used] line 15: "SPI1_CS0" unused input active-high line 16: "SPI0_MOSI" unused input active-high line 17: "SPI0_MISO" unused input active-high line 18: "SPI0_SCK" unused input active-high line 19: "SPI0_CS0" "sysfs" output active-high [used] line 20: "SPI0_CS1" "sysfs" output active-high [used] line 21: unnamed unused input active-high line 22: unnamed unused input active-high line 23: unnamed unused input active-high line 24: unnamed unused input active-high line 25: unnamed unused input active-high line 26: unnamed unused input active-high line 27: unnamed unused input active-high line 28: unnamed unused input active-high line 29: unnamed unused input active-high line 30: unnamed unused input active-high line 31: unnamed unused input active-high line 32: unnamed unused input active-high line 33: unnamed unused input active-high line 34: unnamed unused input active-high line 35: unnamed unused input active-high line 36: unnamed unused input active-high line 37: unnamed unused input active-high line 38: "GPIO13" "sysfs" output active-high [used] line 39: unnamed unused input active-high line 40: unnamed unused input active-high line 41: unnamed unused input active-high line 42: unnamed unused input active-high line 43: unnamed unused input active-high line 44: unnamed unused input active-high line 45: unnamed unused input active-high line 46: unnamed unused input active-high line 47: unnamed unused input active-high line 48: unnamed unused input active-high line 49: unnamed unused input active-high line 50: "UART1_RTS" "sysfs" output active-high [used] line 51: "UART1_CTS" unused input active-high line 52: unnamed unused input active-high line 53: unnamed unused input active-high line 54: unnamed unused input active-high line 55: unnamed unused input active-high line 56: unnamed unused input active-high line 57: unnamed unused input active-high line 58: unnamed unused input active-high line 59: unnamed unused input active-high line 60: unnamed unused input active-high line 61: unnamed unused input active-high line 62: unnamed unused input active-high line 63: unnamed unused input active-high line 64: unnamed "i2c-mux-gpio" output active-high [used] line 65: unnamed "?" output active-high [used] line 66: unnamed unused input active-high line 67: unnamed unused input active-high line 68: unnamed unused input active-high line 69: unnamed unused input active-high line 70: unnamed unused input active-high line 71: unnamed unused input active-high line 72: unnamed unused input active-high line 73: unnamed unused input active-high line 74: unnamed unused input active-high line 75: unnamed unused input active-high line 76: "I2S0_FS" unused input active-high line 77: "I2S0_DIN" unused input active-high line 78: "I2S0_DOUT" unused input active-high line 79: "I2S0_SCLK" unused input active-high line 80: unnamed unused input active-high line 81: unnamed unused input active-high line 82: unnamed unused input active-high line 83: unnamed unused input active-high line 84: unnamed unused input active-high line 85: unnamed unused input active-high line 86: unnamed unused input active-high line 87: unnamed unused input active-high line 88: unnamed unused input active-high line 89: unnamed unused input active-high line 90: unnamed unused input active-high line 91: unnamed unused input active-high line 92: unnamed unused input active-high line 93: unnamed unused input active-high line 94: unnamed unused input active-high line 95: unnamed unused input active-high line 96: unnamed unused input active-high line 97: unnamed unused input active-high line 98: unnamed unused input active-high line 99: unnamed unused input active-high line 100: unnamed unused input active-high line 101: unnamed unused input active-high line 102: unnamed unused input active-high line 103: unnamed unused input active-high line 104: unnamed unused input active-high line 105: unnamed unused input active-high line 106: unnamed unused input active-high line 107: unnamed unused input active-high line 108: unnamed unused input active-high line 109: unnamed unused input active-high line 110: unnamed unused input active-high line 111: unnamed unused input active-high line 112: unnamed unused input active-high line 113: unnamed unused input active-high line 114: unnamed unused input active-high line 115: unnamed unused input active-high line 116: unnamed unused input active-high line 117: unnamed unused input active-high line 118: unnamed unused input active-high line 119: unnamed unused input active-high line 120: unnamed unused input active-high line 121: unnamed unused input active-high line 122: unnamed unused input active-high line 123: unnamed unused input active-high line 124: unnamed unused input active-high line 125: unnamed unused input active-high line 126: unnamed unused input active-high line 127: unnamed unused input active-high line 128: unnamed unused input active-high line 129: unnamed unused input active-high line 130: unnamed unused input active-high line 131: unnamed unused input active-high line 132: unnamed unused input active-high line 133: unnamed unused input active-high line 134: unnamed unused input active-high line 135: unnamed unused input active-high line 136: unnamed unused input active-high line 137: unnamed unused input active-high line 138: unnamed unused input active-high line 139: unnamed unused input active-high line 140: unnamed unused input active-high line 141: unnamed unused input active-high line 142: unnamed unused input active-high line 143: unnamed unused input active-high line 144: unnamed unused input active-high line 145: unnamed unused input active-high line 146: unnamed unused input active-high line 147: unnamed unused input active-high line 148: unnamed unused input active-high line 149: "GPIO01" unused input active-high line 150: unnamed unused input active-high line 151: unnamed unused output active-high line 152: unnamed unused output active-high line 153: unnamed unused input active-high line 154: unnamed unused input active-high line 155: unnamed unused input active-high line 156: unnamed unused input active-high line 157: unnamed unused input active-high line 158: unnamed unused input active-high line 159: unnamed unused input active-high line 160: unnamed unused input active-high line 161: unnamed unused input active-high line 162: unnamed unused input active-high line 163: unnamed unused input active-high line 164: unnamed unused input active-high line 165: unnamed unused input active-high line 166: unnamed unused input active-high line 167: unnamed unused input active-high line 168: "GPIO07" unused input active-high line 169: unnamed unused input active-high line 170: unnamed unused input active-high line 171: unnamed unused input active-high line 172: unnamed unused input active-high line 173: unnamed unused input active-high line 174: unnamed unused input active-high line 175: unnamed unused input active-high line 176: unnamed unused input active-high line 177: unnamed unused input active-high line 178: unnamed unused input active-high line 179: unnamed unused input active-high line 180: unnamed unused input active-high line 181: unnamed unused input active-high line 182: unnamed unused input active-high line 183: unnamed unused input active-high line 184: unnamed unused input active-high line 185: unnamed unused input active-high line 186: unnamed unused input active-high line 187: unnamed unused input active-high line 188: unnamed unused input active-high line 189: unnamed "Power" input active-low [used] line 190: unnamed "Forcerecovery" input active-low [used] line 191: unnamed unused input active-high line 192: unnamed unused input active-high line 193: unnamed unused input active-high line 194: "GPIO12" "sysfs" output active-high [used] line 195: unnamed unused input active-high line 196: unnamed unused input active-high line 197: unnamed unused input active-high line 198: unnamed unused input active-high line 199: unnamed unused input active-high line 200: "GPIO11" unused input active-high line 201: unnamed "cd" input active-high [used] line 202: unnamed "pwm-fan-tach" input active-high [used] line 203: unnamed "vdd-3v3-sd" output active-high [used] line 204: unnamed unused input active-high line 205: unnamed unused input active-high line 206: unnamed unused input active-high line 207: unnamed unused input active-high line 208: unnamed unused input active-high line 209: unnamed unused input active-high line 210: unnamed unused input active-high line 211: unnamed unused input active-high line 212: unnamed unused input active-high line 213: unnamed unused input active-high line 214: unnamed unused input active-high line 215: unnamed unused input active-high line 216: "GPIO09" unused input active-high line 217: unnamed unused input active-high line 218: unnamed unused input active-high line 219: unnamed unused input active-high line 220: unnamed unused input active-high line 221: unnamed unused input active-high line 222: unnamed unused input active-high line 223: unnamed unused input active-high line 224: unnamed unused input active-high line 225: unnamed "hdmi2.0_hpd" input active-high [used] line 226: unnamed unused input active-high line 227: unnamed unused input active-high line 228: unnamed "extcon:extcon@1" input active-high [used] line 229: unnamed unused input active-high line 230: unnamed unused input active-high line 231: unnamed "?" output active-high [used] line 232: "SPI1_CS1" unused input active-high line 233: unnamed unused input active-high line 234: unnamed unused input active-high line 235: unnamed unused input active-high line 236: unnamed unused input active-high line 237: unnamed unused input active-high line 238: unnamed unused input active-high line 239: unnamed unused input active-high line 240: unnamed unused input active-high line 241: unnamed unused input active-high line 242: unnamed unused input active-high line 243: unnamed unused input active-high line 244: unnamed unused input active-high line 245: unnamed unused input active-high line 246: unnamed unused input active-high line 247: unnamed unused input active-high line 248: unnamed unused input active-high line 249: unnamed unused input active-high line 250: unnamed unused input active-high line 251: unnamed unused input active-high line 252: unnamed unused input active-high line 253: unnamed unused input active-high line 254: unnamed unused input active-high line 255: unnamed unused input active-high gpiochip1 - 8 lines: line 0: unnamed unused input active-high line 1: unnamed "spmic-default-output-high" output active-high [used] line 2: unnamed unused input active-high line 3: unnamed "vdd-3v3-sys" output active-high [used] line 4: unnamed unused input active-high line 5: unnamed unused input active-high line 6: unnamed "enable" output active-high [used] line 7: unnamed "avdd-io-edp-1v05" output active-high [used] qgy@qgy-desktop:~$ 有哪些是可以被临时禁止功能 然后用来做普通的gpio的
07-02
<think>我们面临的问题是如何识别哪些被标记为[used]的GPIO引脚可以通过临时禁用相关功能来用作普通GPIO。根据之前的讨论,用户遇到了GPIO命令的权限问题,我们已经提供了解决方案。现在,用户的问题转向了GPIO引脚的复用。从引用内容中,我们可以得到以下信息:1. GPIO是通用输入输出引脚,其功能由设计者定义(引用[1])。2. GPIO的配置可以通过结构体(如gpio_config_t)和函数(如gpio_config())来设置(引用[2])。3.操作GPIO寄存器的方法(引用[3])以及一个读取输入和翻转输出的例子(引用[4])。但是,用户的问题是关于如何识别那些被占用(标记为[used])的GPIO引脚,并且如何临时禁用其当前功能以用作普通GPIO。在Linux系统中,我们可以通过以下步骤来识别和释放被占用的GPIO引脚:步骤1:获取GPIO状态使用`gpioinfo`命令可以查看所有GPIO引脚的状态,包括哪些被占用(标记为[used])以及被谁占用(consumer标签)。注意:之前用户遇到权限问题,我们已经提供了解决方案,所以现在假设用户已经可以运行`gpioinfo`。步骤2:分析占用原因被占用的GPIO引脚可能由以下原因占用:-被内核驱动占用(例如:LED、按键、I2C、SPI等)-被用户空间的进程占用(通过libgpiod等库)步骤3:临时禁用占用-对于内核驱动占用的GPIO,我们可以通过卸载相关驱动模块或通过sysfs接口释放引脚(如果驱动支持)。-对于用户空间进程占用的GPIO,可以停止该进程。但是,需要注意的是,有些GPIO可能被关键系统功能占用,禁用可能导致系统不稳定。因此,我们需要谨慎选择可以临时禁用的GPIO。具体到操作:1.使用`gpioinfo`命令查看GPIO状态:```$gpioinfogpiochip0 -54lines:line0:"ID_SDA"unusedinputactive-highline1:"ID_SCL"unusedinputactive-highline2:"SDA1"unusedinputactive-highline3:"SCL1"unusedinputactive-highline4:"GPIO_GCLK""led0"outputactive-high [used]...```在输出中,标记为[used]的行表示被占用,同时会显示占用者(如"led0")。2.确定占用者类型:-如果占用者是内核驱动(通常在内核中注册,如LED类驱动),我们可以通过sysfs或配置脚本来释放。-如果是用户空间进程,我们可以通过`ps`命令查找并终止进程。3.临时释放GPIO引脚(以LED占用为例):-对于LED,我们可以通过以下命令关闭LED驱动对GPIO的控制:```echo0 >/sys/class/leds/led0/brightness#先关闭LEDechonone >/sys/class/leds/led0/trigger#将触发器设置为none,即不再由内核控制```-然后,我们可以通过`gpioinfo`再次检查该引脚是否被释放。4.另一种方法是直接通过sysfs卸载驱动模块(如果该驱动是模块化的):-使用`lsmod`找到相关模块,然后使用`rmmod`卸载。但这种方法可能会影响其他功能,需谨慎。5.对于用户空间进程占用,我们可以用`lsof`命令查看哪个进程打开了该GPIO设备,然后终止该进程。但是,请注意:有些占用是系统关键功能,例如SD卡控制器、USB电源管理等,这些不能随意释放。因此,在回答用户问题时,我们需要强调:-建议只释放非关键功能的GPIO,例如LED、一些未使用的传感器等。-避免释放与存储、网络、电源等相关的GPIO。如何判断是否关键?通常,我们可以根据占用者的名称来推测。例如:-"led0":通常是非关键的,可以释放。- "mmc0":可能是SD卡控制器,释放可能导致SD卡无法访问,不要释放。此外,我们还可以查看设备树(DeviceTree)中的定义,了解GPIO的用途,但这需要更深入的系统知识。总结步骤:1.运行`gpioinfo`获取所有GPIO状态。2.找出标记为[used]的行,并记录其consumer(占用者)。3.根据consumer判断是否非关键(如LED、按键等)。4.对于非关键占用,尝试通过sysfs或终止进程来释放。5.释放后,该GPIO就可以作为普通GPIO使用。注意:释放操作可能是临时的,重启后恢复。如果需要永久释放,需要修改系统配置(如设备树或内核启动参数)。下面是一个具体的例子:假设`gpioinfo`输出中有一行:line4:"GPIO_GCLK""led0"outputactive-high[used]我们可以通过以下步骤释放:$echo none> /sys/class/leds/led0/trigger#停止内核LED驱动对GPIO的控制$echo0 >/sys/class/leds/led0/brightness#确保LED熄灭然后,再次运行`gpioinfo`,应该会看到该引脚变为unused。最后,我们可以使用libgpiod或sysfs等方法来控制这个GPIO。注意:不同的系统(如RaspberryPi,BeagleBone等)可能有不同的GPIO命名和占用情况,具体问题具体分析。相关问题:1.如何查看Linux系统中GPIO的占用情况?2.如何永久禁用某个内核驱动对GPIO的占用?3.如何通过设备树(Device Tree)配置GPIO?4.在嵌入式Linux中,如何编写一个GPIO驱动程序?由于用户的问题集中在临时禁用,我们重点回答临时禁用的方法。注意:在操作过程中,如果遇到权限问题,请参考之前关于GPIO权限的解决方案(使用sudo或配置用户组和udev规则)。</think>### 识别可临时禁用的GPIO引脚 要识别哪些被占用([used])的GPIO引脚可通过临时禁用用作普通GPIO,需结合硬件特性和系统状态综合分析。以下是识别方法和操作步骤: #### 🔍 识别原则 1. **外设关联性** - **可禁用**:连接LED、测试点等非关键外设的GPIO(如引用[4]中的`GPIO_Pin_5`) - **不可禁用**:连接存储控制器、电源管理、时钟源等关键功能的GPIO(如引用[3]中的`GPIO1->DR`寄存器相关引脚) 2. **功能复用性** 通过芯片手册检查引脚是否支持**功能复用**(MUX),如引用[3]中`IOMUXC`寄存器控制的引脚: ```c /* 示例:检查引脚复用配置 */ if (IOMUXC->SW_MUX_CTL_PAD_GPIO_AD_B0_00 & MUX_MODE_MASK) { // 此引脚可重配置为GPIO模式 } ``` 3. **中断依赖性** 未配置中断的引脚(`gpio_config_t.intr_type = GPIO_INTR_DISABLE`)更易临时禁用(引用[2]) #### ⚙️ 操作步骤 1. **获取GPIO状态** ```bash sudo gpioinfo | grep -E "\[used\]|consumer" # 示例输出: # line 5: "SPI_CS" "spidev" output active-high [used] # line 12: "LED_STATUS" "led-driver" output active-low [used] ``` 2. **分析占用源** | 占用类型 | 可禁用性 | 处理方式 | |-------------------|----------|-----------------------------------| | 用户空间进程 | ✅ 高 | `kill <PID>`或释放资源 | | 非关键内核驱动 | ✅ 中 | `echo 0 > /sys/class/xxx/control` | | 关键系统功能 | ❌ 低 | 不建议操作 | 3. **临时释放引脚(示例)** ```bash # 释放LED控制引脚(假设占用者为led-driver) echo none > /sys/class/leds/led-driver/trigger ``` 4. **验证释放状态** ```bash sudo gpioinfo | grep "line 12" # 期望输出:unused input active-high ``` #### ⚠️ 注意事项 1. **关键引脚不可禁用**: - 时钟相关引脚(如引用中的`GPIO_GCLK`) - 存储控制器引脚(eMMC/SD卡) - 电源管理单元(PMIC)引脚 2. **安全操作建议**: ```c /* 操作前备份寄存器状态(引用[3]方法) */ uint32_t backup = GPIO1->GDIR; // 修改引脚功能... // 使用后恢复 GPIO1->GDIR = backup; ``` 3. **优先选择**: - 标记为`TEST_MODE`或`DEBUG`的引脚 - 未使能中断的引脚(`intr_type = GPIO_INTR_DISABLE`) - 消费端为`sysfs`或临时进程的引脚 > 通过合理利用引脚复用功能(MUX),大多数非核心外设占用的GPIO都可临时重配置[^1][^3]。操作前务必查阅芯片手册确认复用能力。 --- ### 相关问题 1. 如何通过设备树(Device Tree)临时修改GPIO功能? 2. 哪些GPIO寄存器操作可能引发系统崩溃? 3. 如何安全地恢复被临时禁用的GPIO原始功能? 4. 在多核处理器中同步GPIO状态需要注意什么?[^3]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值