BLU Discuss list archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Discuss] Running things from initramfs
- Subject: [Discuss] Running things from initramfs
- From: worley at alum.mit.edu (Dale R. Worley)
- Date: Wed, 17 Mar 2021 22:33:17 -0400
Thanks to everyone for ideas! Out of cussedness, I dug enough to figure out how to get at the disk partitions from the initramfs environment. The details of the procedure depend on your initramfs environment and disk configuration, but the pattern is simple enough that having seen an example, you can probably make it work on lots of systems. I'm sure there are better ways of getting "single user" mode working, but this method is very quick for the things it works for. Dale ---------- Reboot the host. Once the boot menu shows, type down-arrow to stop the boot countdown timer and then up-arrow to return to the boot menu entry that normally boots. Type "e" to edit the boot commands for the menu entry. This puts you into a simple editor. Go down to the command starting "linux16", "lunuxuefi", or similar. Go to its end and add a parameter "rdinit=/bin/bash". Type control-x to cause the edited boot commands to be executed. After a few seconds, you will get a shell prompt "#". The system is running from the initramfs with a very impoverished set of utilities. If the builders of the initramfs have been smart, the partition-repair utility for the root partition's filesystem (e.g. xfs_repair, fsck.ext4) is present. Add /usr/sbin to the path for convenience: # PATH=$PATH:/usr/sbin Set up the internal utility filesystems: # mount -t devtmpfs devtmpfs /dev # mount -t proc proc /proc # mount -t sysfs sysfs /sys Further steps are to install kernel modules needed for disk access. There seems to be no reliable way to determine the modules that are needed. I have done "lsmod" on a running system, examined the listed modules (with non-zero use counts), and guessed from their names which ones are relevant. There seems to be no downside to loading unneeded modules, so exploration should work OK. Install the kernel modules for the disk's hardware attachment. I have used: # modprobe ata_piix # modprobe libata # modprobe megaraid_sas Install the SCSI disk driver: # modprobe sd_mod At this point, you should be able to see the disk devices: # ls /dev/sda* /dev/sda /dev/sda1 /dev/sda2 If the root partition is an LVM partition, set up LVM: # lvm vgchange -ay # lvm vgscan --mknodes # ls /dev/mapper control ol_oracle7-root ol_oracle7-swap If you need to mount the partition, load the modules for the filesystem type: # modprobe xfs # modprobe ext4 You can now do management operations like: # xfs_repair /dev/sda1 # mkdir /mnt ; mount /dev/mapper/ol_oracle7-root /mnt To exit the initramfs environment, use "shutdown". In my experience, this "shutdown" accepts the normal shutdown options but always reboots: # ./shutdown now
- Prev by Date: [Discuss] Boston Linux VIRTUAL Meeting reminder, tomorrow Wednesday, March 17, 2021 - Linux Soup XVII
- Next by Date: [Discuss] bluetooth
- Previous by thread: [Discuss] Running things from initramfs
- Next by thread: [Discuss] bluetooth
- Index(es):