start_kernel()
start_kernel() performs most of the kernel setup:
start_kernel() also prints (
pr_notice()) the value of
linux_banner (defined in
init/version.c and
init/version-timestamp.c).
At least in my current Linux environment, this is the first message visible to dmesg.
The last function that start_kernel calls is arch_call_rest_init() which in turn calls rest_init() which apparently does not return.
do_basic_setup()
This function is called when the machine is initialized and the CPU subsystem is started.
None of the devices have been touched at this moment.