Keith C. Perry via plug on 28 Jun 2020 12:21:56 -0700 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: [PLUG] Fixing /boot/ too small |
Awesome JP !! I could have sworn I mentioned that you had to do grub install to both mirror disks for true protection. That has to be done even when you just use LVM to do your RAID 1. ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Keith C. Perry, MS E.E. Managing Member, DAO Technologies LLC (O) +1.215.525.4165 x2033 (M) +1.215.432.5167 www.daotechnologies.com ----- Original Message ----- From: "JP Vossen via plug" <plug@lists.phillylinux.org> To: "Philadelphia Linux User's Group Discussion List" <plug@lists.phillylinux.org> Sent: Sunday, June 28, 2020 2:51:31 PM Subject: Re: [PLUG] Fixing /boot/ too small To close the loop on this one, I *finally* got out to NJ to fix this, and the following process *worked*! The process at the very bottom worked for the simple case but NOT with mdadm RAID-1. Note, special cases: 1. Old computer using BIOS, no UEFI 2. But it is using mdadm RAID-1, which is why it had a too-small /boot/ 3. Not tested with LVM, LUKS or anything else Have a good backup and a TESTED rescue USB stick before you start! Being near another computer with an internet connection is also a Good Thing. Process to swap /boot/ from partition onto /: sudo -s cd / cp -a /boot /boot.new mkdir /boot.old vi /etc/fstab # And change it to boot.old, see below umount /boot rmdir boot mv boot.new boot dpkg-reconfigure mdadm # Originally missed, pretty sure CRITICAL! #update-initramfs -u -k all # Probably not needed grub-install /dev/sda # Originally missed and this is CRITICAL! grub-install /dev/sdb # Originally missed and this is CRITICAL! update-grub Reboot with crossed fingers The /etc/fstab/ edit is something like commenting out line 11 and adding line 12, but it depends on your system. You don't need to call it "boot.old" actually, rename as appropriate to whatever you'll use it for, if anything. "Scratch" maybe? Whatever. ``` $ cat -n fstab ... 7 # <file system> <mount point> <type> <options> <dump> <pass> 8 # / was on /dev/md1 during installation 9 UUID=1c6962e0-7887-4900-bf3e-2dff7cfb47b6 / ext4 errors=remount-ro 0 1 10 # /boot was on /dev/md0 during installation 11 #UUID=2ec8d4f8-1510-4a5e-8f65-6e6d67a7a3d7 /boot ext4 defaults 0 2 12 UUID=2ec8d4f8-1510-4a5e-8f65-6e6d67a7a3d7 /boot.old ext4 defaults 0 2 ``` I have slightly mixed testing records for the `dpkg-reconfigure mdadm` and `grub-install /dev/sd{a,b}` parts. I know the `grub-install` is needed, which I found surprising given the `update-grub` but it just did not work without the re-installs. I *think* the `dpkg-reconfigure mdadm` is also needed, but I did not test without it. Bottom line, neither hurts and at least one is needed, so just do it. IF you muck it up and break it (like I did, a bunch of times), it's not hard to fix it! This is the fix for the mdadm RAID-1, if you have LVM or LUKS, you have to install and fiddle with them instead of `mdadm`. I booted from my Mint-19 USB stick and got a terminal, then: sudo -s apt install mdadm # [1] mdadm --assemble --scan mount /dev/md1 /mnt # Your numbers may vary for dir in dev proc run sys; do mount -o bind /$dir /mnt/$dir; done chroot /mnt # now either fix stuff or do the process as above...whatever reboot It gets tedious doing that again and again until you get it fixed right, so you can write a script to put someplace you can `scp` it from the Live-USB when you reboot into it. [1] Do NOT `apt update` before `apt install mdadm`! When I did that I got a too-new-for-USB-stick-system `mdadm` that hung on install and did not work! On 4/7/20 11:24 PM, JP Vossen wrote: > Summary: I need to fix some Mint-19 workstations where /boot/ is too small. > > Solution: below but needs sanity check. > > Details: > > I have some workstations I installed a long time ago and /boot/ is now > too small. 200M was fine when I built them, but not anymore. I did a > hacked RAID-1 mdadm install because whatever installer (Ubuntu or Mint) > didn't do RAID, but I didn't do LVM. I've never had to re-install > because...RAID-1! I've replaced all the disks over the years by > swapping over to bigger ones, re-mirroring, and growing /. > > The too small /boot/ is now causing a lot of problems because every time > I run OS updates that want `update-initramfs` it fails due to lack of > space, which fails the update, which fails the Ansible task. And then I > am sad. > > Fix: All the disk space is allocated, and they are not using LVM anyway, > so I can't just make /boot/ bigger. (Well, if I was swapping to bigger > disks I probably could, but that's not soon enough.) But I *CAN* just > move /boot/ from its own md device and partition into '/' where it > probably should have been in the first place. I'd then be wasting the > old /boot/ space, but I can live with that or find something else to put > in there. Maybe make it /tmp/. > > I've done the following process on a sacrificial Mint-19 VM and rebooted > and it Just Worked. BUT that VM was not running mdadm because I didn't > feel like hacking the install again. I've also done the *process* on 2 > of the workstations, but not *rebooted* yet. One node is 1.5 hours away > in NJ... > > On one hand, this is a very simple and straightforward process, even > with mdadm in the mix. OTOH, GRUB and the boot process are subtle and > quick to anger. > > Solution: This should work for a "simple" system, like without mdadm raid... > sudo -s > cp -a /boot /boot.new > mkdir /boot.old > touch /boot.new/z-boot.new /boot.old/z-boot.old /boot/z-boot.orig > # So I know what used to be where > vi /etc/fstab > # To change the mount for /boot/ to /boot.old/ > umount /boot > rmdir /boot > mv /boot.new /boot > update-initramfs -u -k all > update-grub > ### reboot?!? Later, JP -- ------------------------------------------------------------------- JP Vossen, CISSP | http://www.jpsdomain.org/ | http://bashcookbook.com/ ___________________________________________________________________________ Philadelphia Linux Users Group -- http://www.phillylinux.org Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce General Discussion -- http://lists.phillylinux.org/mailman/listinfo/plug ___________________________________________________________________________ Philadelphia Linux Users Group -- http://www.phillylinux.org Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce General Discussion -- http://lists.phillylinux.org/mailman/listinfo/plug