Linux /boot folder

This is the first post on our series of Linux Directory structure posts. From today onwords we will deep dive you in some of the important directories in Linux. Knowing about these directories a Linux user will know what each directory meant for. Lets start with alphabetical order. Our first Directory is /boot

/boot

/boot is an important folder in Linux. /boot folder contains all the boot related info files and folders such as grub.conf, vmlinuz image aka kernel etc. In this post we will try to explore what each file is used for. This is just an informative post and no configuration of these files are covered. This folder contains following files in most of the Linux distributions. We taken Redhat based machines as an example when writing this post.

/boot/config-2.6.18-194.17.1.el5 file

/boot/config-2.6.18-194.17.1.el5 file: This config file contains kernel configuration settings. You no need to edit this file when compiling kernel. This file is created when we are building a kernel with “make menuconfig” command. The settings in this file get changed depending on the options we select in “make menuconfig” command. The contents of this file is are setting related to modules to be loaded at the time of boot into the kernel. Want to compile your own kernel? Have a look at our older post.

/boot/initrd-2.6.18-194.17.1.el5.img file

/boot/initrd-2.6.18-194.17.1.el5.img file: Initrd in other words called as Initializing RAM Disk which loads temporary file system in to RAM at the time of booting process before actual file system mounting. This file is loaded by your kernel image file at the time of booting. This initrd image knows only one configuration file /etc/inittab file. The inittab file contains what are run levels, what init has to do in each run level and what is the default runlevel etc.

Related concept:   How to create Linux Swap file?

/boot/initrd-2.6.18-194.17.1.el5.img file

/boot/vmlinuz-2.6.18-194.17.1.el5 file: vmlinuz is a compressed Linux Kernel image which is used at the time of booting Linux operating system. Vmlinuz stands for virtual memory Linux kernel zipped. /boot/System.map-2.6.18-194.17.1.el5 file: This is a map file used by kernel. This file contains memory location mapped to the kernel variables or functions. Again this file is used by vmlinuz kernel image at the time of booting to set symbol names. A good info on system.map can be found at Wikipedia article.

/boot/grub/grub.conf

/boot/grub/grub.conf or menu.lst file: This file is used for boot loader grub to load grub related configuration so that this is used at the time of booting. Please stay tuned to learn about /bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin in next post.