Skip to main content

How to get list of all the files which are touched by Red Hat Enterprise Linux during boot process?

Environment

  • Red Hat Enterprise Linux 6

Issue

  • How to get list of all the files which are touched by Red Hat Enterprise Linux during boot process?

Resolution

  • To get such a list, stap script is required.
  • There is an attachment with this Solution which is a zip file containing two programs, bootinit.sh and bootprobe2.1.stp file in stapscripts.zip file. Extract them and use as following. Make sure one has installed kernel-devel and kernel-debuginfo package of the currently booted kernel, otherwise it won't work at all.
  • Follow section 2.1. in the SystemTap Beginners Guide for the systemtap and kernel-debug installation - Run the test at 2.1.3 to verify the install.
1. Create /tmp/stap and /tmp/stap/data
# mkdir -p /tmp/stap/data 
2. Place bootprobe2.1.stp and bootinit.sh into /tmp/stap and make bootinit.sh executable.
# chmod +x /tmp/stap/boot*
3. Edit bootinit.sh and change exec /sbin/init 3 to exec /sbin/init 5 if 5 is the default runlevel.
4. Create the .ko module from bootprobe2.stp
# cd /tmp/stap
# stap bootprobe2.1.stp -m bootprobe2 -p4
5. Reboot.
6. Halt grub and press a on the default kernel. At the end of the kernel line enter the following and press enter:
init=/tmp/stap/bootinit.sh
7. Normal boot will resume. After logging in, kill the stapio process, copy bootprobe2.log out of the tmpfs /tmp/stap/data directory and unmount it.
# killall stapio
# cp /tmp/stap/data/bootprobe2.log /tmp/stap/
# umount /tmp/stap/data
8. Now check the file /tmp/stap/bootprobe2.log file for the list of all files which are read/wrote/touched during boot.

Attachments

Comments

Popular posts from this blog

Interpreting the output of lspci

On Linux, the lspci command lists all PCI devices connected to a host (a computer). Modern computers and PCI devices communicate with each other via PCI Express buses instead of the older Conventional PCI and PCI-X buses since the former buses offer many advantages such as higher throughput rates, smaller physical footprint and native hot plugging functionality. The high performance of the PCI Express bus has also led it to take over the role of other buses such as AGP ; it is also expected that SATA buses too will be replaced by PCI Express buses in the future as solid-state drives become faster and therefore demand higher throughputs from the bus they are attached to (see this article for more on this topic). As a first step, open a terminal and run lspci without any flags (note: lspci may show more information if executed with root privileges): lspci   This is the output I get on my laptop: 00:00.0 Host bridge: Intel Corporation Haswell-ULT DRA...

How to Remove a Storage Device (LUN)

Before removing access to the storage device itself, it is advisable to back up data from the device first. Afterwards, flush I/O and remove all operating system references to the device. Stop all access to the device that has to be removed. Unmount the device. Remove the device from any md and LVM volume that is using it. If a multipath device is being removed, run  multipath -l  and take note of all the paths to the device. When this has been done, remove the multipath device: # multipath -f device   Use the following command to flush any outstanding I/O to all paths to the device: # blockdev –flushbufs device   Remove any reference to the device's path-based name, like  /dev/sd  or  /dev/disk/by-path  or the major:minor number, in applications, scripts, or utilities on the system. This is important to ensure that a different device, when added in the future, will not be mistaken for the current device. The fi...

UNIX/Linux Advanced File Permissions - SUID,SGID and Sticky Bit

UNIX/Linux Advanced File Permissions - SUID,SGID and Sticky Bit After you have worked for a while with Linux you discover probably that there is much more to file permissions than just the "rwx" bits. When you look around in your file system you will see "s" and "t" $ ls -ld /tmp drwxrwxrwt 29 root root 36864 Mar 21 19:49 /tmp $ which passwd /usr/bin/passwd $ ls -l /usr/bin/passwd -rwsr-xr-x 1 root root 22984 Jan 6 2007 /usr/bin/passwd What is this "s" and "t" bit? The vector of permission bits is really 4 * 3 bits long. Yes there are 12 permission bits,not just 9.The first three bits are special and are frequently zero. And you almost always learn about the trailing 9 bits first.Some people stop there and never learn those first three bits. The forth permission bit is used only when a special mode of a file needs to be set. It has the value 4 for SUID, 2 for SGID and 1 for the sticky bit. The other 3 bits have ...