4. 커널 설정-C 루틴(start_kernel)

setup_nr_cpu_ids()
setup_per_cpu_areas()
smp_prepare_boot_cpu()
build_all_zonelists()
page_alloc_init()
parse_early_param()
parse_args()
jump_label_init()
setup_log_buf()
pidhash_init()
vfs_caches_init_early()
sort_main_extable()
mm_init()
page_ext_init_flatmem()
mem_init()
kmem_cache_init()
percpu_init_late()
pgtable_init()
vmalloc_init()
sched_init()
idr_init_cache()
rcu_init()
trace_init()
context_tracking_init()
radix_tree_init()
early_irq_init()
init_IRQ()
tick_init()
rcu_init_nohz()
init_timers()
hrtimers_init()
softirq_init()
timekeeping_init()
time_init()
sched_clock_postinit()
perf_event_init()
profile_init()
call_function_init()
kmem_cache_init_late()
console_init()
lockdep_info()
locking_selftest()
page_ext_init()
debug_objects_mem_init()
kmemleak_init()
setup_per_cpu_pageset()
numa_policy_init()
sched_clock_init()
calibrate_delay()
pidmap_init()
anon_vma_init()
acpi_early_init()
thread_info_cache_init()
cred_init()
fork_init()
proc_caches_init()
buffer_init()
key_init()
security_init()
dbg_late_init()
vfs_caches_init()
signals_init()
page_writeback_init()
proc_root_init()
nsfs_init()
cgroup_init()
cpuset_init()
taskstats_init_early()
delayacct_init()
check_bugs()
sfi_init_late()
efi_late_init()
efi_free_boot_services()
ftrace_init()
rest_init()
numa_default_policy()
—kernel_thread()
—cpu_startup_entry()

kernel_init() 스레드

kernel_init_freeable()
wait_for_completion()
set_mems_allowed()
—set_cpus_allowed_ptr()
—smp_prepare_cpus()
—do_pre_smp_initcalls()
—lockup_detector_init()
—smp_init()
—sched_init_smp()
—do_basic_setup()
——cpuset_init_smp()
——usermodehelper_init()
——shmem_init();
——driver_init();
——init_irq_proc();
——do_ctors();
——usermodehelper_enable();
——do_initcalls();
——random_int_secret_init();
—sys_open()
—sys_access()
—prepare_namespace()
——wait_for_device_probe()
——md_run_setup()
——mount_block_root()
——initrd_load()
——async_synchronize_full()
——rd_load_disk()
——mount_root()
——devtmpfs_mount()
——sys_mount()
——sys_chroot()
—integrity_load_keys()
—load_default_modules()
async_synchronize_full()
free_initmem()
mark_rodata_ro()
flush_delayed_fput()
run_init_process()
try_to_run_init_process()

기타 함수