Linux: the first second
Alison Chaiken http://lca2018.linux.org.au/schedule/... In 2013, the U.S. National Highway Transportation Safety Administration proposed a new rule requiring a rear-view video camera system for new cars. The new regulation stipulated that passenger vehicle cockpit displays should show detect hazards behind a vehicle and be capable of producing video composited with warnings within 2 seconds of a driver placing the shifter into reverse. Achieving this goal was quite a challenge for a Linux system starting from a powered-off state! Carmakers who planned to ship Linux responded with an all-out effort to understand the boot process and reduce the time-to-video. Those engineers who participated learned a great deal about how Linux starts. What does actually happen when the power button is pushed on a Linux device? What are initrd's, BIOSes and bootloaders, and why do we need them? There has been much controversy about PID 1 and SecureBoot, but much less discussion about the work the kernel performs before reaching userspace: probing devices, allocating memory and starting per-core housekeeping threads. The kernel actually does have a main.c, but what's in it? How does initialization of the kernel compare to that of normal Linux processes, and how do normal processes actually start anyway? Kernel actions are sequenced via a series of 'initcall' stages. Why do devices show multiple different boot animations and screen resolutions? How are 'suspend' and 'hibernate' different? The talk will lightly touch on topics like initialization of hardware, how resume after hibernation differs from a fresh boot, what 'warm boot' and 'cold boot' are, and x86_64 versus ARM initialization. As time permits, the talk will include simple demos of how to examine your kernel with GDB, how to survive the rescue shell, how to build your own initrd and why you might want to do so, and a few ways to pass information between the kernel and the bootloader. The technical level will be appropriate for system administrators and developers who have some familiarity with installing Linux systems or recovering them when they are stuck. The talk will include brief anecdotes from experiences during vehicular Linux development. This talk was given at Linux.conf.au 2018 (LCA2018) which was held on 22-26 January 2018 in Sydney Australia. linux.conf.au is a conference about the Linux operating system, and all aspects of the thriving ecosystem of Free and Open Source Software that has grown up around it. Run since 1999, in a different Australian or New Zealand city each year, by a team of local volunteers, LCA invites more than 500 people to learn from the people who shape the future of Open Source. For more information on the conference see https://linux.conf.au/ #linux.conf.au #linux #foss #opensource

The Tragedy of systemd

Mass Production: Open-source Testing in Manufacturing

David Hand _ "Linux initramfs for fun, and, uh..."

Embedded Linux Booting Process (Multi-Stage Bootloaders, Kernel, Filesystem)

Remote Work: My first decade working from the far end of the earth

Linus Torvalds: AI Is Changing Linux Fast

The Linux Boot Process (Linux+ Objective 1.1.2)

The Mind Behind Linux | Linus Torvalds | TED

micro-Linux init (PID1) in Golang

Emulating 1wire and creating new devices and drivers

How Linux Boots

Systemd Explained: How to Manage Linux Services Easily

Please Contain Me: Practical LXC on the Desktop

Linus Torvalds: AI Can’t Think Like a Programmer

Turing Award Winner: Disagreeing with Google, Postgres, Future Problems | Mike Stonebraker

Linux 7.2 Review: MAJOR Performance, GPU, CPU, and Networking Upgrades

Unix vs Linux

Building the PERFECT Linux PC with Linus Torvalds

Linux Full Course for Beginners | Learn Linux System Administration

