Trisquel doesn't boot anymore after upgrading to Belenos

1 reply [Last post]
mYself
Offline
Joined: 01/18/2012

Hi folks!

Two days ago I decided to upgrade my workstation to Trisquel 7.0 in order to continue my work on the Trisquel Enhancement Project. The upgrading process had some minor issues but nothing important have happened until just before its completion. The configuration of grub-pc failed to install GRUB on /dev/dm-1, but since it happens to me regularly, I chose to continue the installation.

I tried to reinstall GRUB from chroot using a Trisquel 7.0 64-bit Live DVD which usually works for me except this time. With some investigation I have learnt that there was a transition from dmraid to mdadm upstream which presumably caused this problem as my laptop uses an Intel Matrix RAID array (aka "fakeraid" in RAID 0 configuration). I tried several ways to fix this issue including downgrading GRUB, removing dmraid/mdadm, and editing /etc/fstab (everything is back to normal now!) but nothing worked so far and since I have important data and configurations on different partitions, I don't want to mess up my computer.

Here's the Terminal output with some information to begin with:

trisquel@trisquel:~$ sudo mount /dev/md126p6 /mnt
trisquel@trisquel:~$ sudo mount -B /dev /mnt/dev
trisquel@trisquel:~$ sudo mount -B /proc /mnt/proc
trisquel@trisquel:~$ sudo mount -B /sys /mnt/sys
trisquel@trisquel:~$ sudo chroot /mnt
root@trisquel:/# dpkg-reconfigure grub-pc
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.13.0-39-generic
Found initrd image: /boot/initrd.img-3.13.0-39-generic
Found linux image: /boot/vmlinuz-3.5.0-54-generic
Found initrd image: /boot/initrd.img-3.5.0-54-generic
  No volume groups found
Found Windows Recovery Environment (loader) on /dev/md126p1
Found Windows 7 (loader) on /dev/md126p2
done
root@trisquel:/# grub-install /dev/sda
Installing for i386-pc platform.
grub-install: warning: attempt to read or write outside of disk `hostdisk//dev/sda'.
grub-install: error: embedding is not possible, but this is required for cross-disk install.
root@trisquel:/# grub-install /dev/sdb
Installing for i386-pc platform.
grub-install: error: unable to identify a filesystem in hostdisk//dev/sdb; safety check can't be performed.
root@trisquel:/# grub-install /dev/mapper/isw_cbghfjicjf_Volume0
Installing for i386-pc platform.
grub-install: error: cannot find a GRUB drive for /dev/mapper/isw_cbghfjicjf_Volume0.  Check your device.map.
root@trisquel:/# mdadm --assemble --scan
root@trisquel:/# mdadm --detail-platform
       Platform : Intel(R) Matrix Storage Manager
        Version : 9.5.0.1037
    RAID Levels : raid0
    Chunk Sizes : 4k 8k 16k 32k 64k 128k
    2TB volumes : supported
      2TB disks : not supported
      Max Disks : 7
    Max Volumes : 2 per array, 4 per controller
 I/O Controller : /sys/devices/pci0000:00/0000:00:1f.2 (SATA)
root@trisquel:/# blkid
/dev/md126p1: LABEL="Recovery" UUID="9A5A15B25A158BDF" TYPE="ntfs" 
/dev/md126p2: LABEL="System Reserved" UUID="36EC4F0CEC4EC639" TYPE="ntfs" 
/dev/md126p3: LABEL="Windows" UUID="01CC6417DE53A1B0" TYPE="ntfs" 
/dev/md126p7: UUID="adc1aaf9-f89b-4944-bd80-26e2124d49ea" TYPE="swap" 
/dev/md126p8: UUID="7ee49041-4fd1-47f4-a2dd-c6542e45ee94" TYPE="xfs" 
/dev/loop0: TYPE="squashfs" 
/dev/sr0: LABEL="trisquel 7.0 amd64" TYPE="iso9660" 
/dev/sdb: TYPE="isw_raid_member" 
/dev/sdc: TYPE="isw_raid_member" 
/dev/sdd: TYPE="isw_raid_member" 
/dev/md126p5: LABEL="Data" UUID="01CC6422D8D560B0" TYPE="ntfs" 
/dev/md126p6: UUID="13f3be54-44d5-469e-8331-a498ee451b04" TYPE="ext4" 
root@trisquel:/# cat /run/mdadm/map
md127 /md0/0 546fe38b:d83a118a:07739669:3d0edc37 /dev/md/imsm0
md126 /md0/0 546fe38b:d83a118a:07739669:3d0edc37 /dev/md/Volume0_0
root@trisquel:/# cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system>				<mount point>	<type>	<options>			<dump>	<pass>
proc					/proc		proc	nodev,noexec,nosuid		0	0
/dev/mapper/isw_cbghfjicjf_Volume0p3	/mnt/windows	ntfs	defaults			0	0
/dev/mapper/isw_cbghfjicjf_Volume0p5	/mnt/data	ntfs	defaults			0	0
/dev/mapper/isw_cbghfjicjf_Volume0p6	/		ext4	relatime,errors=remount-ro	0	1
/dev/mapper/isw_cbghfjicjf_Volume0p7	none		swap	sw				0	0
/dev/mapper/isw_cbghfjicjf_Volume0p8	/home		xfs	relatime			0	2

root@trisquel:/# cat /etc/default/grub
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomdmonddf nomdmonisw"
GRUB_CMDLINE_LINUX="i8042.nopnp acpi_osi="

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux-Libre (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

# Trisquel comes without kernel recovery entries to improve security.
GRUB_DISABLE_RECOVERY=true
root@trisquel:/# cat /etc/mdadm/mdadm.conf
# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default (built-in), scan all partitions (/proc/partitions) and all
# containers for MD superblocks. alternatively, specify devices to scan, using
# wildcards if desired.
#DEVICE partitions containers

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays
ARRAY metadata=imsm UUID=9e1fad31:85347f05:c09749ab:c27bc696
ARRAY /dev/md/Volume0 container=9e1fad31:85347f05:c09749ab:c27bc696 member=0 UUID=546fe38b:d83a118a:07739669:3d0edc37

# This file was auto-generated on Thu, 06 Nov 2014 11:51:02 +0100
# by mkconf $Id$

Here's a screenshot from Disks (gnome-disk-utility) showing the arrangement of the partitions:

I also wanted to attach an image of GParted too, but unfortunately it won't recognize my partitions anymore.

Thanks to everyone in advance.
Regards, mYse|f

mYself
Offline
Joined: 01/18/2012

I figured out this morning the correct way to install GRUB, which was

grub-install /dev/md126

so my problem is now gone. However, I am a little worried about my previous attempts to install GRUB on different partitions. Does anybody know precisely what grub-install does and whether it can corrupt data if used incorrectly?