Been powering through Embedded Linux Primer. A few high-level things I’ve learned:
- initrd is old, initramfs is new
- initramfs uses a CPIO image (a type of archive that was new to me) to hold the initial filesystem contents
- Using TFTP to boot from a remote kernel and ramdisk sounds like fun, not to mention provides great flexibility for debugging.
- It’s not so hard to add extra items to the kernel config menu
- Learned some ins and outs of Das U-boot, and that support for using RAM has to be initialized by the bootloader otherwise you can only use stack memory.
- JFFS2 can help increase the lifetime of flash memory
- The kernel boot process … through hardware-specific assembly files, common files, to the kernel C code, kernel subsystems, init.