Всем доброго времени суток! Пытаюсь собрать ядро для данного аппарата с оф. репозитория (https://github.com/realme-kernel-opensource/realme_C21Y-AndroidR-kernel-source)
Подготовка окружения
export CC=/home/fck/dev/android_prebuilts_clang_host_linux-x86_clang-6573524/bin/clang
export CROSS_COMPILE=/home/fck/dev/android-ndk-r10e/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-
export ARCH=arm64
export SUBARCH=arm64
Использован компилятор llvm clang 11.0.2, тулчейн aarch64-linux-android-4.9
Попытка сборки
make sprd_all_defconfig O=../c21y-kernel
make O=../c21y-kernel -j12
Спустя некоторое время
CC drivers/gpu/drm/sprd/oplus_engine/oplus_display_private_api.o
/home/fck/dev/realme_C21Y-AndroidR-kernel-source/drivers/gpu/drm/sprd/oplus_engine/oplus_display_private_api.c: In function 'lcd_id_get':
/home/fck/dev/realme_C21Y-AndroidR-kernel-source/drivers/gpu/drm/sprd/oplus_engine/oplus_display_private_api.c:17:2: error: format '%u' expects argument of type 'unsigned int', but argument 2 has type 'long unsigned int' [-Werror=format=]
DRM_INFO("lcd_id from uboot: %u, ret: %d\n", lcd_id, ret);
^
/home/fck/dev/realme_C21Y-AndroidR-kernel-source/drivers/gpu/drm/sprd/oplus_engine/oplus_display_private_api.c: In function 'lcd_id_show':
/home/fck/dev/realme_C21Y-AndroidR-kernel-source/drivers/gpu/drm/sprd/oplus_engine/oplus_display_private_api.c:30:3: error: format '%x' expects argument of type 'unsigned int', but argument 5 has type 'long unsigned int' [-Werror=format=]
ret = scnprintf(buf, PAGE_SIZE, "LCM ID[%x]: 0x%x 0x%x\n", 0, lcd_id, 0);
^
cc1: all warnings being treated as errors
make[6]: *** [/home/fck/dev/realme_C21Y-AndroidR-kernel-source/scripts/Makefile.build:362: drivers/gpu/drm/sprd/oplus_engine/oplus_display_private_api.o] Error 1
make[5]: *** [/home/fck/dev/realme_C21Y-AndroidR-kernel-source/scripts/Makefile.build:676: drivers/gpu/drm/sprd/oplus_engine] Error 2
make[4]: *** [/home/fck/dev/realme_C21Y-AndroidR-kernel-source/scripts/Makefile.build:676: drivers/gpu/drm/sprd] Error 2
make[3]: *** [/home/fck/dev/realme_C21Y-AndroidR-kernel-source/scripts/Makefile.build:676: drivers/gpu/drm] Error 2
make[2]: *** [/home/fck/dev/realme_C21Y-AndroidR-kernel-source/scripts/Makefile.build:676: drivers/gpu] Error 2
make[1]: *** [/home/fck/dev/realme_C21Y-AndroidR-kernel-source/Makefile:1163: drivers] Error 2
make[1]: Leave directory «/home/fck/dev/c21y-kernel»
make: *** [Makefile:146: sub-make] Error 2
Попытка сборки без warnings as errors
make O=../c21y-kernel KCFLAGS="-Wno-error -mcmodel=small -fno-pic" KBUILD_CFLAGS+="-Wno-error -mcmodel=small -fno-pic" EXTRA_CFLAGS="-Wno-error -mcmodel=small -fno-pic"
Спустя некоторое время
make[1]: Enter directory «/home/fck/dev/c21y-kernel»
arch/arm64/Makefile:49: LSE atomics not supported by binutils
arch/arm64/Makefile:57: Detected assembler with broken .inst; disassembly will be unreliable
CHK include/config/kernel.release
Using /home/fck/dev/realme_C21Y-AndroidR-kernel-source as source for kernel
GEN ./Makefile
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
CHK include/generated/bounds.h
CHK include/generated/timeconst.h
CHK include/generated/asm-offsets.h
CALL /home/fck/dev/realme_C21Y-AndroidR-kernel-source/scripts/checksyscalls.sh
CHK scripts/mod/devicetable-offsets.h
CHK include/generated/compile.h
CHK kernel/config_data.h
CHK kernel/kheaders_data.tar.xz
GEN .version
CHK include/generated/compile.h
UPD include/generated/compile.h
CC init/version.o
AR init/built-in.o
AR built-in.o
LD vmlinux.o
MODPOST vmlinux.o
WARNING: "pic_op" [vmlinux] is COMMON symbol
WARNING: "of_aliases" [vmlinux] is COMMON symbol
WARNING: "himax_proc_limit_area_file" [vmlinux] is COMMON symbol
WARNING: "private_ts" [vmlinux] is COMMON symbol
WARNING: "arm_pm_restart" [vmlinux] is COMMON symbol
WARNING: "irq_err_count" [vmlinux] is COMMON symbol
WARNING: "CID_VER_MAJ_FLASH_ADDR" [vmlinux] is COMMON symbol
WARNING: "points_info" [vmlinux] is COMMON symbol
WARNING: "cts_tpmodule" [vmlinux] is COMMON symbol
WARNING: "g_hx_chip_inited" [vmlinux] is COMMON symbol
WARNING: "cfg_flag" [vmlinux] is COMMON symbol
WARNING: "reclaim_avg_efficiency" [vmlinux] is COMMON symbol
WARNING: "fts_proc_baseline_test_file" [vmlinux] is COMMON symbol
WARNING: "selinuxfs_mount" [vmlinux] is COMMON symbol
WARNING: "plat_dev" [vmlinux] is COMMON symbol
WARNING: "ring_buffer_expanded" [vmlinux] is COMMON symbol
WARNING: "FAT_cache_hash_list" [vmlinux] is COMMON symbol
WARNING: "sighand_cachep" [vmlinux] is COMMON symbol
WARNING: "dns_resolver_cache" [vmlinux] is COMMON symbol
WARNING: "functionmask" [vmlinux] is COMMON symbol
WARNING: "vm_dirty_bytes" [vmlinux] is COMMON symbol
WARNING: "soc_temp_sensor" [vmlinux] is COMMON symbol
WARNING: "fscrypt_info_cachep" [vmlinux] is COMMON symbol
WARNING: "tracepoint_print_iter" [vmlinux] is COMMON symbol
WARNING: "ilits" [vmlinux] is COMMON symbol
WARNING: "HX_RX_NUM_2" [vmlinux] is COMMON symbol
WARNING: "diag_mutual" [vmlinux] is COMMON symbol
WARNING: "hugetlb_fault_mutex_table" [vmlinux] is COMMON symbol
WARNING: "memblock_debug" [vmlinux] is COMMON symbol
WARNING: "g_charger_info" [vmlinux] is COMMON symbol
WARNING: "mem_map" [vmlinux] is COMMON symbol
WARNING: "dbg_func_ptr_r" [vmlinux] is COMMON symbol
WARNING: "g_core_fp" [vmlinux] is COMMON symbol
WARNING: "memcg_nr_cache_ids" [vmlinux] is COMMON symbol
WARNING: "max_low_pfn" [vmlinux] is COMMON symbol
WARNING: "reg_read_data" [vmlinux] is COMMON symbol
WARNING: "lsm_names" [vmlinux] is COMMON symbol
WARNING: "vm_total_pages" [vmlinux] is COMMON symbol
WARNING: "flash_buffer" [vmlinux] is COMMON symbol
WARNING: "usb_serial_tty_driver" [vmlinux] is COMMON symbol
WARNING: "total_forks" [vmlinux] is COMMON symbol
WARNING: "sysctl_compact_memory" [vmlinux] is COMMON symbol
WARNING: "page_cluster" [vmlinux] is COMMON symbol
WARNING: "Y_NUM" [vmlinux] is COMMON symbol
WARNING: "def_rt_bandwidth" [vmlinux] is COMMON symbol
WARNING: "CID_VER_MIN_FLASH_ADDR" [vmlinux] is COMMON symbol
WARNING: "ras_debugfs_dir" [vmlinux] is COMMON symbol
WARNING: "sysdump_status" [vmlinux] is COMMON symbol
WARNING: "devices_kset" [vmlinux] is COMMON symbol
WARNING: "proc_dir_oplus" [vmlinux] is COMMON symbol
WARNING: "g_core_cmd_op" [vmlinux] is COMMON symbol
WARNING: "cgroup_threadgroup_rwsem" [vmlinux] is COMMON symbol
WARNING: "kcrypto_wq" [vmlinux] is COMMON symbol
WARNING: "ipi_custom_irq_domain" [vmlinux] is COMMON symbol
WARNING: "regs" [vmlinux] is COMMON symbol
WARNING: "__boot_cpu_id" [vmlinux] is COMMON symbol
WARNING: "hx_ED_event_flag" [vmlinux] is COMMON symbol
WARNING: "g_max_mutual" [vmlinux] is COMMON symbol
WARNING: "sched_domains_tmpmask2" [vmlinux] is COMMON symbol
WARNING: "timeEnd" [vmlinux] is COMMON symbol
WARNING: "udp_memory_allocated" [vmlinux] is COMMON symbol
WARNING: "cpu_isolated_map" [vmlinux] is COMMON symbol
WARNING: "handshaking_result" [vmlinux] is COMMON symbol
WARNING: "gsp_enabled_layer_count" [vmlinux] is COMMON symbol
WARNING: "swap_slot_cache_enabled" [vmlinux] is COMMON symbol
WARNING: "psram_op" [vmlinux] is COMMON symbol
WARNING: "egisfp_class" [vmlinux] is COMMON symbol
WARNING: "calc_load_tasks" [vmlinux] is COMMON symbol
WARNING: "corner_info" [vmlinux] is COMMON symbol
WARNING: "max_user_congthresh" [vmlinux] is COMMON symbol
WARNING: "panic_blink" [vmlinux] is COMMON symbol
WARNING: "selinux_null" [vmlinux] is COMMON symbol
WARNING: "sys_tz" [vmlinux] is COMMON symbol
WARNING: "dns_resolver_debug" [vmlinux] is COMMON symbol
WARNING: "alternatives_applied" [vmlinux] is COMMON symbol
WARNING: "marlin_callback_para" [vmlinux] is COMMON symbol
WARNING: "max_segment" [vmlinux] is COMMON symbol
WARNING: "file_w_flag" [vmlinux] is COMMON symbol
WARNING: "gsp_tipc" [vmlinux] is COMMON symbol
WARNING: "kmem_cache" [vmlinux] is COMMON symbol
WARNING: "HX_CRITERIA_SIZE" [vmlinux] is COMMON symbol
WARNING: "key_user_tree" [vmlinux] is COMMON symbol
WARNING: "autotest" [vmlinux] is COMMON symbol
WARNING: "himax_proc_backscreen_baseline_file" [vmlinux] is COMMON symbol
WARNING: "fw_update_complete" [vmlinux] is COMMON symbol
WARNING: "no_irq_affinity" [vmlinux] is COMMON symbol
WARNING: "g_zero_event_count" [vmlinux] is COMMON symbol
WARNING: "reboot_force" [vmlinux] is COMMON symbol
WARNING: "__i2c_first_dynamic_bus_num" [vmlinux] is COMMON symbol
WARNING: "initrd_start" [vmlinux] is COMMON symbol
WARNING: "fw_update_going" [vmlinux] is COMMON symbol
WARNING: "drm_class" [vmlinux] is COMMON symbol
WARNING: "ge2_completion" [vmlinux] is COMMON symbol
WARNING: "ip6_ra_chain" [vmlinux] is COMMON symbol
WARNING: "gpdev" [vmlinux] is COMMON symbol
WARNING: "diag_mutual_2" [vmlinux] is COMMON symbol
WARNING: "nf_nat_sip_hooks" [vmlinux] is COMMON symbol
WARNING: "cts_fw" [vmlinux] is COMMON symbol
WARNING: "__highest_present_section_nr" [vmlinux] is COMMON symbol
WARNING: "pm_dma" [vmlinux] is COMMON symbol
WARNING: "percpu_pagelist_fraction" [vmlinux] is COMMON symbol
WARNING: "himax_ksym_lookup" [vmlinux] is COMMON symbol
WARNING: "hx_EC_event_flag" [vmlinux] is COMMON symbol
WARNING: "musb_dma_controller_create" [vmlinux] is COMMON symbol
WARNING: "codec_instance_count" [vmlinux] is COMMON symbol
WARNING: "tcp_hashinfo" [vmlinux] is COMMON symbol
WARNING: "himax_proc_self_test_file" [vmlinux] is COMMON symbol
WARNING: "ip_ra_chain" [vmlinux] is COMMON symbol
WARNING: "tty_class" [vmlinux] is COMMON symbol
WARNING: "ic_boot_done" [vmlinux] is COMMON symbol
WARNING: "pregs_die_g" [vmlinux] is COMMON symbol
WARNING: "mem_sleep_states" [vmlinux] is COMMON symbol
WARNING: "minidump_regs_g" [vmlinux] is COMMON symbol
WARNING: "argv" [vmlinux] is COMMON symbol
WARNING: "mm_kobj" [vmlinux] is COMMON symbol
WARNING: "gnss_ops" [vmlinux] is COMMON symbol
WARNING: "ctx_power" [vmlinux] is COMMON symbol
WARNING: "missed_req" [vmlinux] is COMMON symbol
WARNING: "block_dump" [vmlinux] is COMMON symbol
WARNING: "musb_readb" [vmlinux] is COMMON symbol
WARNING: "mpidr_hash" [vmlinux] is COMMON symbol
WARNING: "CFG_VER_MAJ_FLASH_ADDR" [vmlinux] is COMMON symbol
WARNING: "shub_stream_processor" [vmlinux] is COMMON symbol
WARNING: "not_ready_time" [vmlinux] is COMMON symbol
WARNING: "IC_CHECKSUM" [vmlinux] is COMMON symbol
WARNING: "hxfw" [vmlinux] is COMMON symbol
WARNING: "raw_data_array" [vmlinux] is COMMON symbol
WARNING: "HX_EXCP_RESET_ACTIVATE" [vmlinux] is COMMON symbol
WARNING: "pm_freezing" [vmlinux] is COMMON symbol
WARNING: "g_diag_arr_num" [vmlinux] is COMMON symbol
WARNING: "shub_stream_processor_nwu" [vmlinux] is COMMON symbol
WARNING: "psinfo" [vmlinux] is COMMON symbol
WARNING: "proc_dir_debug_info" [vmlinux] is COMMON symbol
WARNING: "suspend_stats" [vmlinux] is COMMON symbol
WARNING: "initrd_end" [vmlinux] is COMMON symbol
WARNING: "lcd_str" [vmlinux] is COMMON symbol
WARNING: "swapper_spaces" [vmlinux] is COMMON symbol
WARNING: "cmd_set" [vmlinux] is COMMON symbol
WARNING: "X_NUM" [vmlinux] is COMMON symbol
WARNING: "g_inspection_criteria" [vmlinux] is COMMON symbol
WARNING: "secondary_data" [vmlinux] is COMMON symbol
WARNING: "himax_proc_diag_dir" [vmlinux] is COMMON symbol
WARNING: "swiotlb_force" [vmlinux] is COMMON symbol
WARNING: "usb_hcds_loaded" [vmlinux] is COMMON symbol
WARNING: "cpuidle_curr_governor" [vmlinux] is COMMON symbol
WARNING: "selinux_state" [vmlinux] is COMMON symbol
WARNING: "mbox_ops" [vmlinux] is COMMON symbol
WARNING: "snd_cards" [vmlinux] is COMMON symbol
WARNING: "vm_highmem_is_dirtyable" [vmlinux] is COMMON symbol
WARNING: "avenrun" [vmlinux] is COMMON symbol
WARNING: "cfg80211_regdomain" [vmlinux] is COMMON symbol
WARNING: "blk_requestq_cachep" [vmlinux] is COMMON symbol
WARNING: "kp_putname_kernel" [vmlinux] is COMMON symbol
WARNING: "cpus_stuck_in_kernel" [vmlinux] is COMMON symbol
WARNING: "blkcg_root" [vmlinux] is COMMON symbol
WARNING: "g_i_FW_VER" [vmlinux] is COMMON symbol
WARNING: "cluster1_temp_sensor" [vmlinux] is COMMON symbol
WARNING: "initcall_debug" [vmlinux] is COMMON symbol
WARNING: "aio_nr" [vmlinux] is COMMON symbol
WARNING: "tcp_sockets_allocated" [vmlinux] is COMMON symbol
WARNING: "pzf_op" [vmlinux] is COMMON symbol
WARNING: "mem_section" [vmlinux] is COMMON symbol
WARNING: "blk_max_pfn" [vmlinux] is COMMON symbol
WARNING: "pm_power_off" [vmlinux] is COMMON symbol
WARNING: "diag_self_old" [vmlinux] is COMMON symbol
WARNING: "dirty_background_bytes" [vmlinux] is COMMON symbol
WARNING: "fb_mode_option" [vmlinux] is COMMON symbol
WARNING: "root_task_group" [vmlinux] is COMMON symbol
WARNING: "reboot_cpu" [vmlinux] is COMMON symbol
WARNING: "reg_cmd" [vmlinux] is COMMON symbol
WARNING: "request_cachep" [vmlinux] is COMMON symbol
WARNING: "sysctl_panic_on_oom" [vmlinux] is COMMON symbol
WARNING: "pdriver_op" [vmlinux] is COMMON symbol
WARNING: "musb_writeb" [vmlinux] is COMMON symbol
WARNING: "g_switch_mode" [vmlinux] is COMMON symbol
WARNING: "pm_wq" [vmlinux] is COMMON symbol
WARNING: "himax_proc_stack_file" [vmlinux] is COMMON symbol
WARNING: "g_i_CID_MAJ" [vmlinux] is COMMON symbol
WARNING: "hx_ctpmodule" [vmlinux] is COMMON symbol
WARNING: "irq_default_affinity" [vmlinux] is COMMON symbol
WARNING: "hx_state_info" [vmlinux] is COMMON symbol
WARNING: "max_pfn" [vmlinux] is COMMON symbol
WARNING: "cgrp_dfl_root" [vmlinux] is COMMON symbol
WARNING: "default_hstate_idx" [vmlinux] is COMMON symbol
WARNING: "CFG_VER_MIN_FLASH_ADDR" [vmlinux] is COMMON symbol
WARNING: "system_serial" [vmlinux] is COMMON symbol
WARNING: "cfg80211_rdev_list_generation" [vmlinux] is COMMON symbol
WARNING: "tick_next_period" [vmlinux] is COMMON symbol
WARNING: "USB_detect_flag" [vmlinux] is COMMON symbol
WARNING: "vm_committed_as" [vmlinux] is COMMON symbol
WARNING: "ovl_idx" [vmlinux] is COMMON symbol
WARNING: "initrd_below_start_ok" [vmlinux] is COMMON symbol
WARNING: "uuid_null" [vmlinux] is COMMON symbol
WARNING: "vm_area_cachep" [vmlinux] is COMMON symbol
WARNING: "sysctl_oom_kill_allocating_task" [vmlinux] is COMMON symbol
WARNING: "sysctl_sched_sync_hint_enable" [vmlinux] is COMMON symbol
WARNING: "__icache_flags" [vmlinux] is COMMON symbol
WARNING: "cpufreq_datas" [vmlinux] is COMMON symbol
WARNING: "sleep_save_stash" [vmlinux] is COMMON symbol
WARNING: "emmc_resetting_when_cmdq" [vmlinux] is COMMON symbol
WARNING: "fs_cachep" [vmlinux] is COMMON symbol
WARNING: "module_sysfs_initialized" [vmlinux] is COMMON symbol
WARNING: "cpuhp_tasks_frozen" [vmlinux] is COMMON symbol
WARNING: "nr_threads" [vmlinux] is COMMON symbol
WARNING: "musb_readl" [vmlinux] is COMMON symbol
WARNING: "snd_seq_root" [vmlinux] is COMMON symbol
WARNING: "debug_locks_silent" [vmlinux] is COMMON symbol
WARNING: "dbg_func_ptr_w" [vmlinux] is COMMON symbol
WARNING: "rcutorture_testseq" [vmlinux] is COMMON symbol
WARNING: "HX_TOUCH_INFO_POINT_CNT" [vmlinux] is COMMON symbol
WARNING: "FAT_cache_lru_list" [vmlinux] is COMMON symbol
WARNING: "jbd2_inode_cache" [vmlinux] is COMMON symbol
WARNING: "max_mapnr" [vmlinux] is COMMON symbol
WARNING: "FW_VER_MAJ_FLASH_ADDR" [vmlinux] is COMMON symbol
WARNING: "rtc_class" [vmlinux] is COMMON symbol
WARNING: "perf_guest_cbs" [vmlinux] is COMMON symbol
WARNING: "buf_cache_lru_list" [vmlinux] is COMMON symbol
WARNING: "g_mmi_refcnt" [vmlinux] is COMMON symbol
WARNING: "sd_gpio" [vmlinux] is COMMON symbol
WARNING: "block_depr" [vmlinux] is COMMON symbol
WARNING: "pfw_op" [vmlinux] is COMMON symbol
WARNING: "g_sensor" [vmlinux] is COMMON symbol
WARNING: "lcd_name" [vmlinux] is COMMON symbol
WARNING: "wdd" [vmlinux] is COMMON symbol
WARNING: "snd_ecards_limit" [vmlinux] is COMMON symbol
WARNING: "fsnotify_mark_srcu" [vmlinux] is COMMON symbol
WARNING: "timeStart" [vmlinux] is COMMON symbol
WARNING: "rc_core_debug" [vmlinux] is COMMON symbol
WARNING: "g_f_0f_updat" [vmlinux] is COMMON symbol
WARNING: "min_cap_cpu_mask" [vmlinux] is COMMON symbol
WARNING: "g_flash_cmd" [vmlinux] is COMMON symbol
WARNING: "slab_state" [vmlinux] is COMMON symbol
WARNING: "of_chosen" [vmlinux] is COMMON symbol
WARNING: "manufacture_information" [vmlinux] is COMMON symbol
WARNING: "HX_TX_NUM_2" [vmlinux] is COMMON symbol
WARNING: "sge_array" [vmlinux] is COMMON symbol
WARNING: "cpu_hwcaps" [vmlinux] is COMMON symbol
WARNING: "taskstats_cache" [vmlinux] is COMMON symbol
WARNING: "max_threads" [vmlinux] is COMMON symbol
WARNING: "console_set_on_cmdline" [vmlinux] is COMMON symbol
WARNING: "blk_max_low_pfn" [vmlinux] is COMMON symbol
WARNING: "dual_role_class" [vmlinux] is COMMON symbol
WARNING: "fsnotify_mark_connector_cachep" [vmlinux] is COMMON symbol
WARNING: "himax_proc_flash_dump_file" [vmlinux] is COMMON symbol
WARNING: "debug_data" [vmlinux] is COMMON symbol
WARNING: "buffer_heads_over_limit" [vmlinux] is COMMON symbol
WARNING: "usb_debug_root" [vmlinux] is COMMON symbol
WARNING: "key_serial_tree" [vmlinux] is COMMON symbol
WARNING: "sysfs_dev_char_kobj" [vmlinux] is COMMON symbol
WARNING: "audit_inode_hash" [vmlinux] is COMMON symbol
WARNING: "minidump_info_desc_g" [vmlinux] is COMMON symbol
WARNING: "of_stdout" [vmlinux] is COMMON symbol
WARNING: "pm_suspend_target_state" [vmlinux] is COMMON symbol
WARNING: "real_root_dev" [vmlinux] is COMMON symbol
WARNING: "min_low_pfn" [vmlinux] is COMMON symbol
WARNING: "pm_nosig_freezing" [vmlinux] is COMMON symbol
WARNING: "g_i_CID_MIN" [vmlinux] is COMMON symbol
WARNING: "key_jar" [vmlinux] is COMMON symbol
WARNING: "reset_devices" [vmlinux] is COMMON symbol
WARNING: "total_swap_pages" [vmlinux] is COMMON symbol
WARNING: "g_i_CFG_VER" [vmlinux] is COMMON symbol
WARNING: "kp_file_open_name" [vmlinux] is COMMON symbol
WARNING: "debug_level_cmd" [vmlinux] is COMMON symbol
WARNING: "pdata" [vmlinux] is COMMON symbol
WARNING: "tcp_orphan_count" [vmlinux] is COMMON symbol
WARNING: "__fib6_flush_trees" [vmlinux] is COMMON symbol
WARNING: "def_dl_bandwidth" [vmlinux] is COMMON symbol
WARNING: "autotest_class" [vmlinux] is COMMON symbol
WARNING: "uidhash_table" [vmlinux] is COMMON symbol
WARNING: "le_ctx_power" [vmlinux] is COMMON symbol
WARNING: "CFG_TABLE_FLASH_ADDR_T" [vmlinux] is COMMON symbol
WARNING: "rcu_expedited" [vmlinux] is COMMON symbol
WARNING: "schedtune_spc_rdiv" [vmlinux] is COMMON symbol
WARNING: "sysctl_hugetlb_shm_group" [vmlinux] is COMMON symbol
WARNING: "trace_instance_dir" [vmlinux] is COMMON symbol
WARNING: "dummy_regulator_rdev" [vmlinux] is COMMON symbol
WARNING: "ftrace_dump_on_oops" [vmlinux] is COMMON symbol
WARNING: "sysctl_emem_trigger" [vmlinux] is COMMON symbol
WARNING: "power_shutdown" [vmlinux] is COMMON symbol
WARNING: "hd_thread" [vmlinux] is COMMON symbol
WARNING: "argc" [vmlinux] is COMMON symbol
WARNING: "g_inspt_crtra_flag" [vmlinux] is COMMON symbol
WARNING: "tp_gesture" [vmlinux] is COMMON symbol
WARNING: "rcutorture_vernum" [vmlinux] is COMMON symbol
WARNING: "byte_length" [vmlinux] is COMMON symbol
WARNING: "kp_getname_kernel" [vmlinux] is COMMON symbol
WARNING: "perf_swevent_enabled" [vmlinux] is COMMON symbol
WARNING: "gpu_tz" [vmlinux] is COMMON symbol
WARNING: "g_hx_inspt_setting_val" [vmlinux] is COMMON symbol
WARNING: "g_flash_progress" [vmlinux] is COMMON symbol
WARNING: "dumpmem_complete" [vmlinux] is COMMON symbol
WARNING: "minors" [vmlinux] is COMMON symbol
WARNING: "pingv6_ops" [vmlinux] is COMMON symbol
WARNING: "g_ts_dbg" [vmlinux] is COMMON symbol
WARNING: "himax_proc_pen_pos_file" [vmlinux] is COMMON symbol
WARNING: "pm_suspend_global_flags" [vmlinux] is COMMON symbol
WARNING: "test_force_stop" [vmlinux] is COMMON symbol
WARNING: "f2fs_inode_entry_slab" [vmlinux] is COMMON symbol
WARNING: "kthreadd_task" [vmlinux] is COMMON symbol
WARNING: "hang_info" [vmlinux] is COMMON symbol
WARNING: "crash_kexec_post_notifiers" [vmlinux] is COMMON symbol
WARNING: "musb_writel" [vmlinux] is COMMON symbol
WARNING: "HX_PROC_SEND_FLAG" [vmlinux] is COMMON symbol
WARNING: "mode_flag" [vmlinux] is COMMON symbol
WARNING: "himax_proc_delta_file" [vmlinux] is COMMON symbol
WARNING: "silfp_class" [vmlinux] is COMMON symbol
WARNING: "memcg_kmem_cache_wq" [vmlinux] is COMMON symbol
WARNING: "avc_backtrace_enable" [vmlinux] is COMMON symbol
WARNING: "irq_stat" [vmlinux] is COMMON symbol
WARNING: "nr_swap_pages" [vmlinux] is COMMON symbol
WARNING: "binder_alloc_lru" [vmlinux] is COMMON symbol
WARNING: "files_cachep" [vmlinux] is COMMON symbol
WARNING: "cluster_data" [vmlinux] is COMMON symbol
WARNING: "marlin_reset_func" [vmlinux] is COMMON symbol
WARNING: "ROOT_DEV" [vmlinux] is COMMON symbol
WARNING: "power_s" [vmlinux] is COMMON symbol
WARNING: "power_supply_class" [vmlinux] is COMMON symbol
WARNING: "irqchip_fwnode_ops" [vmlinux] is COMMON symbol
WARNING: "sysfs_root_kn" [vmlinux] is COMMON symbol
WARNING: "swap_avail_heads" [vmlinux] is COMMON symbol
WARNING: "himax_proc_baseline_test_file" [vmlinux] is COMMON symbol
WARNING: "tick_period" [vmlinux] is COMMON symbol
WARNING: "fs_kobj" [vmlinux] is COMMON symbol
WARNING: "swap_info" [vmlinux] is COMMON symbol
WARNING: "bdi_wq" [vmlinux] is COMMON symbol
WARNING: "sysfs_dev_block_kobj" [vmlinux] is COMMON symbol
WARNING: "buf_cache_hash_list" [vmlinux] is COMMON symbol
WARNING: "reservation_seqcount_class" [vmlinux] is COMMON symbol
WARNING: "max_user_bgreq" [vmlinux] is COMMON symbol
WARNING: "himax_proc_game_switch_en_file" [vmlinux] is COMMON symbol
WARNING: "tick_nsec" [vmlinux] is COMMON symbol
WARNING: "fb_class" [vmlinux] is COMMON symbol
WARNING: "mdbg_wait" [vmlinux] is COMMON symbol
WARNING: "timeDelta" [vmlinux] is COMMON symbol
WARNING: "configfs_dir_cachep" [vmlinux] is COMMON symbol
WARNING: "CFG_TABLE_FLASH_ADDR" [vmlinux] is COMMON symbol
WARNING: "g_flash_dump_rst" [vmlinux] is COMMON symbol
WARNING: "__disable_trace_on_warning" [vmlinux] is COMMON symbol
WARNING: "dbg_cmd_par" [vmlinux] is COMMON symbol
WARNING: "diag_self" [vmlinux] is COMMON symbol
WARNING: "regmap" [vmlinux] is COMMON symbol
WARNING: "g_boot_upgrade_flag" [vmlinux] is COMMON symbol
WARNING: "high_memory" [vmlinux] is COMMON symbol
WARNING: "diag_mutual_old" [vmlinux] is COMMON symbol
WARNING: "rcu_normal" [vmlinux] is COMMON symbol
WARNING: "pt_data_len" [vmlinux] is COMMON symbol
WARNING: "kernfs_node_cache" [vmlinux] is COMMON symbol
WARNING: "fts_proc_touchpanel_dir" [vmlinux] is COMMON symbol
WARNING: "esphs" [vmlinux] is COMMON symbol
WARNING: "preset_lpj" [vmlinux] is COMMON symbol
WARNING: "himax_proc_limit_enable_file" [vmlinux] is COMMON symbol
WARNING: "tcp_fastopen_ctx" [vmlinux] is COMMON symbol
WARNING: "crypto_default_rng" [vmlinux] is COMMON symbol
WARNING: "flag_reset" [vmlinux] is COMMON symbol
WARNING: "tracepoint_printk" [vmlinux] is COMMON symbol
WARNING: "fts_ftest" [vmlinux] is COMMON symbol
WARNING: "pcpu_nr_empty_pop_pages" [vmlinux] is COMMON symbol
WARNING: "__smp_cross_call" [vmlinux] is COMMON symbol
WARNING: "scsi_logging_level" [vmlinux] is COMMON symbol
WARNING: "nfc_devlist_generation" [vmlinux] is COMMON symbol
WARNING: "nvdimm_major" [vmlinux] is COMMON symbol
WARNING: "isolation_global_kobject" [vmlinux] is COMMON symbol
WARNING: "g_test_item_flag" [vmlinux] is COMMON symbol
WARNING: "HX_HW_RESET_ACTIVATE" [vmlinux] is COMMON symbol
WARNING: "ext4__ioend_wq" [vmlinux] is COMMON symbol
WARNING: "persistent_clock_is_local" [vmlinux] is COMMON symbol
WARNING: "firmware_kobj" [vmlinux] is COMMON symbol
WARNING: "saved_command_line" [vmlinux] is COMMON symbol
WARNING: "himax_proc_dc_file" [vmlinux] is COMMON symbol
WARNING: "pipe_user_pages_hard" [vmlinux] is COMMON symbol
WARNING: "sound_class" [vmlinux] is COMMON symbol
WARNING: "dqstats" [vmlinux] is COMMON symbol
WARNING: "smsg_ipcs" [vmlinux] is COMMON symbol
WARNING: "enable" [vmlinux] is COMMON symbol
WARNING: "pm_power_off_prepare" [vmlinux] is COMMON symbol
WARNING: "himax_mcu_cmd_struct_free" [vmlinux] is COMMON symbol
WARNING: "g_aud_ipc" [vmlinux] is COMMON symbol
WARNING: "power_l" [vmlinux] is COMMON symbol
WARNING: "FAT_cache_array" [vmlinux] is COMMON symbol
WARNING: "mutual_set_flag" [vmlinux] is COMMON symbol
WARNING: "cpu_context" [vmlinux] is COMMON symbol
WARNING: "hx_fw" [vmlinux] is COMMON symbol
WARNING: "vsp_pw_domain_info" [vmlinux] is COMMON symbol
WARNING: "dbg_cmd_flag" [vmlinux] is COMMON symbol
WARNING: "ic_data" [vmlinux] is COMMON symbol
WARNING: "unix_tot_inflight" [vmlinux] is COMMON symbol
WARNING: "calibration_mode" [vmlinux] is COMMON symbol
WARNING: "himax_proc_touchpanel_dir" [vmlinux] is COMMON symbol
WARNING: "refined_jiffies" [vmlinux] is COMMON symbol
WARNING: "def_root_domain" [vmlinux] is COMMON symbol
WARNING: "dsram_flag" [vmlinux] is COMMON symbol
WARNING: "nf_nat_ftp_hook" [vmlinux] is COMMON symbol
WARNING: "hx_touch_data" [vmlinux] is COMMON symbol
WARNING: "cpu_topology" [vmlinux] is COMMON symbol
WARNING: "musb_readw" [vmlinux] is COMMON symbol
WARNING: "avc_dump_all" [vmlinux] is COMMON symbol
WARNING: "display_class" [vmlinux] is COMMON symbol
WARNING: "lpj_fine" [vmlinux] is COMMON symbol
WARNING: "musb_dma_controller_destroy" [vmlinux] is COMMON symbol
WARNING: "tp_interface" [vmlinux] is COMMON symbol
WARNING: "regmap_ctx" [vmlinux] is COMMON symbol
WARNING: "die_notify_flag" [vmlinux] is COMMON symbol
WARNING: "process_type" [vmlinux] is COMMON symbol
WARNING: "total_cpus" [vmlinux] is COMMON symbol
WARNING: "mm_percpu_wq" [vmlinux] is COMMON symbol
WARNING: "inodes_stat" [vmlinux] is COMMON symbol
WARNING: "oops_in_progress" [vmlinux] is COMMON symbol
WARNING: "le_ctx_enable" [vmlinux] is COMMON symbol
WARNING: "himax_touch_proc_dir" [vmlinux] is COMMON symbol
WARNING: "power_iso" [vmlinux] is COMMON symbol
WARNING: "pm_print_times_enabled" [vmlinux] is COMMON symbol
WARNING: "module_kset" [vmlinux] is COMMON symbol
WARNING: "global_wb_domain" [vmlinux] is COMMON symbol
WARNING: "jbd2_handle_cache" [vmlinux] is COMMON symbol
WARNING: "himax_proc_baseline_file" [vmlinux] is COMMON symbol
WARNING: "core_pipe_limit" [vmlinux] is COMMON symbol
WARNING: "imsbr_stats" [vmlinux] is COMMON symbol
WARNING: "Ctp_name" [vmlinux] is COMMON symbol
WARNING: "fuse_conn_list" [vmlinux] is COMMON symbol
WARNING: "nf_nat_decode_session_hook" [vmlinux] is COMMON symbol
WARNING: "console_drivers" [vmlinux] is COMMON symbol
WARNING: "HX_CRITERIA_ITEM" [vmlinux] is COMMON symbol
WARNING: "max_possible_pfn" [vmlinux] is COMMON symbol
WARNING: "fts_data" [vmlinux] is COMMON symbol
WARNING: "uevent_seqnum" [vmlinux] is COMMON symbol
WARNING: "audit_n_rules" [vmlinux] is COMMON symbol
WARNING: "fwupgrade" [vmlinux] is COMMON symbol
WARNING: "cluster0_temp_sensor" [vmlinux] is COMMON symbol
WARNING: "cur_lp_state" [vmlinux] is COMMON symbol
WARNING: "sipc_ap" [vmlinux] is COMMON symbol
WARNING: "unix_socket_table" [vmlinux] is COMMON symbol
WARNING: "cpufreq_global_kobject" [vmlinux] is COMMON symbol
WARNING: "debug_guardpage_ops" [vmlinux] is COMMON symbol
WARNING: "guid_null" [vmlinux] is COMMON symbol
WARNING: "hash_table" [vmlinux] is COMMON symbol
WARNING: "overflow" [vmlinux] is COMMON symbol
WARNING: "synproxy_net_id" [vmlinux] is COMMON symbol
WARNING: "mmap_min_addr" [vmlinux] is COMMON symbol
WARNING: "fts_proc_backscreen_baseline_file" [vmlinux] is COMMON symbol
WARNING: "pflash_op" [vmlinux] is COMMON symbol
WARNING: "FW_VER_MIN_FLASH_ADDR" [vmlinux] is COMMON symbol
WARNING: "pm_states" [vmlinux] is COMMON symbol
WARNING: "lcd_id" [vmlinux] is COMMON symbol
WARNING: "of_kset" [vmlinux] is COMMON symbol
WARNING: "hx_EB_event_flag" [vmlinux] is COMMON symbol
WARNING: "diag_coor" [vmlinux] is COMMON symbol
WARNING: "g_fgu_data" [vmlinux] is COMMON symbol
WARNING: "binder_transaction_log_failed" [vmlinux] is COMMON symbol
WARNING: "g_target_report_data" [vmlinux] is COMMON symbol
WARNING: "himax_proc_debug_file" [vmlinux] is COMMON symbol
WARNING: "tcp_memory_allocated" [vmlinux] is COMMON symbol
WARNING: "cfg80211_wq" [vmlinux] is COMMON symbol
WARNING: "sysctl_legacy_va_layout" [vmlinux] is COMMON symbol
WARNING: "dvfs_class" [vmlinux] is COMMON symbol
WARNING: "core_uses_pid" [vmlinux] is COMMON symbol
WARNING: "default_vdev" [vmlinux] is COMMON symbol
WARNING: "snd_major" [vmlinux] is COMMON symbol
WARNING: "wdt_fiq" [vmlinux] is COMMON symbol
WARNING: "spi" [vmlinux] is COMMON symbol
WARNING: "ctx_enable" [vmlinux] is COMMON symbol
WARNING: "of_root" [vmlinux] is COMMON symbol
WARNING: "power_kobj" [vmlinux] is COMMON symbol
WARNING: "hstates" [vmlinux] is COMMON symbol
WARNING: "heaps" [vmlinux] is COMMON symbol
WARNING: "fts_proc_oplus_tp_direction" [vmlinux] is COMMON symbol
WARNING: "mdbg_dev" [vmlinux] is COMMON symbol
WARNING: "s_buf_done_count" [vmlinux] is COMMON symbol
WARNING: "kernel_kobj" [vmlinux] is COMMON symbol
WARNING: "do_lpwg_test" [vmlinux] is COMMON symbol
WARNING: "g_max_self" [vmlinux] is COMMON symbol
WARNING: "cad_pid" [vmlinux] is COMMON symbol
WARNING: "diag_mutual_new" [vmlinux] is COMMON symbol
WARNING: "sched_domains_tmpmask" [vmlinux] is COMMON symbol
WARNING: "fs_struct" [vmlinux] is COMMON symbol
WARNING: "calc_load_update" [vmlinux] is COMMON symbol
WARNING: "buf_cache_array" [vmlinux] is COMMON symbol
WARNING: "g_rslt_data" [vmlinux] is COMMON symbol
WARNING: "fs_bio_set" [vmlinux] is COMMON symbol
WARNING: "audit_signals" [vmlinux] is COMMON symbol
WARNING: "crash_notes" [vmlinux] is COMMON symbol
WARNING: "reboot_mode" [vmlinux] is COMMON symbol
WARNING: "Is_2T2R" [vmlinux] is COMMON symbol
WARNING: "sysctl_drop_caches" [vmlinux] is COMMON symbol
WARNING: "i2c_error_count" [vmlinux] is COMMON symbol
WARNING: "sched_domain_level_max" [vmlinux] is COMMON symbol
WARNING: "initial_boot_params" [vmlinux] is COMMON symbol
WARNING: "diag_self_new" [vmlinux] is COMMON symbol
WARNING: "himax_proc_vendor_file" [vmlinux] is COMMON symbol
WARNING: "musb_writew" [vmlinux] is COMMON symbol
WARNING: "g_rslt_data_len" [vmlinux] is COMMON symbol
WARNING: "laptop_mode" [vmlinux] is COMMON symbol
WARNING: "sprd_log_buf" [vmlinux] is COMMON symbol
WARNING: "binder_transaction_log" [vmlinux] is COMMON symbol
WARNING: "hugepages_treat_as_movable" [vmlinux] is COMMON symbol
WARNING: modpost: Found 1 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
mm/gup.o: In function `follow_pud_mask':
gup.c:(.text+0x4344): undefined reference to `follow_devmap_pud'
mm/memory.o: In function `copy_page_range':
memory.c:(.text+0x81cc): undefined reference to `copy_huge_pud'
mm/memory.o: In function `unmap_page_range':
memory.c:(.text+0xaf10): undefined reference to `__split_huge_pud'
memory.c:(.text+0xaf28): undefined reference to `zap_huge_pud'
mm/memory.o: In function `insert_pfn':
memory.c:(.text+0xeac8): undefined reference to `pte_mkdevmap'
mm/pagewalk.o: In function `walk_pud_range':
pagewalk.c:(.text+0x608): undefined reference to `__split_huge_pud'
mm/page_io.o: In function `swap_writepage':
page_io.c:(.text+0xf18): undefined reference to `__frontswap_store'
mm/page_io.o: In function `swap_readpage':
page_io.c:(.text+0x2b5c): undefined reference to `__frontswap_load'
mm/swapfile.o: In function `swap_range_free':
swapfile.c:(.text+0x1828): undefined reference to `__frontswap_invalidate_page'
mm/swapfile.o: In function `SyS_swapoff':
swapfile.c:(.text+0xb8f8): undefined reference to `__frontswap_invalidate_area'
mm/migrate.o: In function `remove_migration_pte':
migrate.c:(.text+0x267c): undefined reference to `pte_mkdevmap'
mm/huge_memory.o: In function `insert_pfn_pmd':
huge_memory.c:(.text+0x51c0): undefined reference to `pmd_mkdevmap'
drivers/base/dma-mapping.o: In function `dma_configure':
dma-mapping.c:(.text+0x1104): undefined reference to `pci_put_host_bridge_device'
drivers/nvdimm/bus.o: In function `nd_pmem_forget_poison_check':
bus.c:(.text+0x22b4): undefined reference to `to_nd_pfn'
bus.c:(.text+0x22dc): undefined reference to `to_nd_dax'
drivers/nvdimm/region_devs.o: In function `nd_region_notify_driver_action':
region_devs.c:(.text+0x1e6c): undefined reference to `to_nd_pfn'
region_devs.c:(.text+0x1ef8): undefined reference to `to_nd_dax'
drivers/nvdimm/namespace_devs.o: In function `is_uuid_busy':
namespace_devs.c:(.text+0x35c): undefined reference to `to_nd_pfn'
drivers/nvdimm/namespace_devs.o: In function `nvdimm_namespace_common_probe':
namespace_devs.c:(.text+0x4868): undefined reference to `to_nd_pfn'
namespace_devs.c:(.text+0x4898): undefined reference to `to_nd_dax'
drivers/nvdimm/claim.o: In function `to_nd_pfn_safe':
claim.c:(.text+0x4e0): undefined reference to `to_nd_pfn'
claim.c:(.text+0x500): undefined reference to `to_nd_dax'
drivers/nvdimm/pmem.o: In function `pmem_attach_disk':
pmem.c:(.text+0x11bc): undefined reference to `to_nd_pfn'
pmem.c:(.text+0x11d0): undefined reference to `nvdimm_setup_pfn'
drivers/nvdimm/pmem.o: In function `nd_pmem_notify':
pmem.c:(.text+0x1f08): undefined reference to `to_nd_pfn'
make[1]: *** [/home/fck/dev/realme_C21Y-AndroidR-kernel-source/Makefile:1144: vmlinux] Error 1
make[1]: выход из каталога «/home/fck/dev/c21y-kernel»
make: *** [Makefile:146: sub-make] Error 2
Если пытаюсь собирать в директорию в которой сам исходный код - очень много ошибок, связанных с отсутствующими файлами. Компилятор linux-android-4.9
и clang version 11.0.2
. Все это я узнал из cat /proc/version
в самом телефоне
Linux version 4.14.193+ (root@ubuntu-134-43) (Android (6573524 based on r383902b) clang version 11.0.2 (https://android.googlesource.com/toolchain/llvm-project b397f81060ce6d701042b782172ed13bee898b79), LLD 11.0.2 (/buildbot/tmp/tmpF3FjA8 b397f81060ce6d701042b782172ed13bee898b79)) #1 SMP PREEMPT Wed Feb 8 21:48:43 CST 2023
Что мне дала информация file magisk_patched-27006_zOerm.img
magisk_patched-27006_zOerm.img: Android bootimg, kernel (0x8000), ramdisk (0x5400000), page size: 2048, cmdline (console=ttyS1,115200n8 video=HDMI-A-1:1280x800@60 buildvariant=user)
Ссылка на issues
раздел в репозитории: https://github.com/ahmedshahin9/realme-c21y-kernel/issues/1 (один)
https://github.com/realme-kernel-opensource/realme_C21Y-AndroidR-kernel-source/issues/1 (два)
В репозитории от ahmedshahin9 есть файл RMX3261_defconfig, с ним такие-же проблемы в сборке. Так-же есть файл sprd_minimum_defconfig, с ним ядро собирается. Процесс сборки нового boot.img с помощью abootimg
abootimg -x boot.img
writing boot image config in bootimg.cfg
extracting kernel in zImage
extracting ramdisk in initrd.img
После извлечения меняем файл zImage из папки с новым ядром и собираем обратно boot.img
в файле boot.cfg меняем параметр pagesize = 0x1000, ибо page size нового ядра выходит 4К, в то время как стандартное ядро телефона имеет 2K
abootimg --create new_boot.img -f bootimg.cfg -k zImage -r initrd.img
В итоге прошиваем телефон новым new_boot.img и получаем бутлуп. Причем даже до анимации не доходит. Видимо в sprd_minimum_defconfig исключены почти все модули и работает только базовая система, загрузкой андроид там и не пахнет. Видимо для дальнейшего анализа нужно будет приделать туда UART