Search notes:

init/main.c

Then it spawns the idle process, the process scheduler and the init process
Apparently, main.c also processes the bootparams (such as root=, init= etc.)

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.
start_kernel is defined with asmlinkage and declared in include/linux/start_kernel.h.
Compare with x86_64_start_kernel() (defined in arch/x86/kernel/head64.c)

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.

kernel_init_freeable()

This function opens, among others, /dev/console.

See also

boot process

Index

Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error: 8 attempt to write a readonly database in /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php:78 Stack trace: #0 /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php(78): PDOStatement->execute(Array) #1 /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php(30): insert_webrequest_('/notes/Linux/ke...', 1759398260, '216.73.216.42', 'Mozilla/5.0 App...', NULL) #2 /home/httpd/vhosts/renenyffenegger.ch/httpsdocs/notes/Linux/kernel/source/init/main_c(76): insert_webrequest() #3 {main} thrown in /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php on line 78