Tumbleweed mdadm upgrade - now won't boot...

Last night YaST informed me of a new version of ‘mdadm’ (amongst other things, ‘suspend’ got upgraded - might be related) for my 12.2 installation, so I ran the updater.

Upon reboot I got this:


mdadm: bad uuid: UUID=<a long UUID>
ARRAY
mdadm: only give one device per ARRAY line /dev/md/imsm0 and /dev/md126

The above is printed 4 times, and then:


mdadm: /dev/md126 not identified in config file
resume device /dev/disk/by-id/md-uuid<a long UUID>-part2 not found (ignoring)
wating for device /dev/root to appear:............. Could not find /dev/root

I couldn’t find a console that I could log into to take a look at the ‘mdadm’ config files (wherever they are), would a live CD help? Or is this one of those Tumbleweed risks and it may be time to reinstall the OS?

Thanks,
Cam

On 2012-10-05 13:26, cbamber85 wrote:
>
> Last night YaST informed me of a new version of ‘mdadm’ (amongst other
> things, ‘suspend’ got upgraded - might be related) for my 12.2
> installation, so I ran the updater.

Tumbleweed questions must be asked in the tumbleweed forum. Please ask a moderator to move this
post.


Cheers / Saludos,

Carlos E. R.
(from 12.1 x86_64 “Asparagus” at Telcontar)

Closing and moving

Actually I have the same issue on 12.2 x86_64 myself, so it’s definetely NOT a Tumbleweed problem only.

And the mdadm update should actually fix these issues (I mean the problems with / on RAID and systemd breaking the RAID) not totally break the system. :frowning:

I will try to see what happened from a live distro - I suspect a borked /etc/mdadm.conf after a quick google search.

Cheers.

I have also same problem after last update - boot hangs to same position. Two hard disks are striped (RAID0) from motherboard BIOS (Intel Rapid Storage).

If booting from SuSe 12.2 LIVE-KDE CD, then can see all RAID0 partitions.

Please Help!

In the meantime I booted partedmagic and I could check that the array is OK, even chrooted to / after re-starting the array with mdamd.conf from my system, so I guess something is wrong with the initrd created after the last update or with udev rules?!

Any hints on how to proceed further?

Cheers.

It seems they released a patch to mdadm that fixes this issue.

I tested it on my system and it works though the mkinitrd throws some errors while applying the patch.

In order to apply the patch, I booted to partedmagic (the iso image especially designed for x86_64 systems), re-started the array using my mdadm.conf (I do not think it is necessary though as partedmagic seemed to detect the right setup), prepared a chroot environment with my system, chrooted to my system and then used zypper to apply the patches (I actually used “zypper up” and installed all patches).

Please let me know if the OP or TuxRocker or someone else needs step by step instructions / help.

Cheers.

That a great news!

Step by step instructions are welcome. I’m still beginner in Linux.

Thanks!

OK Tux, I am going to try to explain what you need to do.

First of all, I would suggest you download partedmagic and burn a livecd or liveusb.

Depending on your openSUSE use the usual .iso (for x86) or the x86_64.iso if your openSUSE is x86_64 architecture.

After you boot from the cd/usb with partedmagic (I select run from RAM usually) please open a terminal and do:

cat /proc/mdstat

and paste the results here please.

I need also some info about your partitioning and mounting: e.g. do you only use / or did you setup different partitions and mountpoints for /boot /home / ?

Cheers.

A openSUSE live CD or the DVD (rescue boot option) will let you chroot too

@ghostintheruins
Are you saying you couldn’t boot to a level 3 prompt?

I used partedmagic since I was sure pmagic has the option to set-up and use the network which I needed for zypper.

Also I used it before for partitioning or recovery so I had it available and I was used to it.

Does the openSUSE rescue boot option has the ability to configure and use the network?

The system was un-bootable (even failsafe) - it hanged at wating for / partition to appear similar to the OP (I am guessing the OP has a different partitioning layout than mine).

Does the openSUSE rescue boot option has the ability to configure and use the network?

It’s probably easier from a LiveCD, especially if you only have wireless (that’s assuming you know your wireless works from a live session). Wired connections should be fine.
Of course there are lots of possible moves to work thru the problem.

Here are results from partedmagic terminal

root@PartedMagic:~# cat /proc/mdstat
Personalities : [raid0]
md126 : active raid0 sda[1] sdb[0]
1187719168 blocks super external:/md127/0 128k chunks

md127 : inactive sdb1 sda0
6306 blocks super external:imsm

unused devices: <none>

Partitions are created with openSUSE x86_64 installer default settings. That is desktop computer what have wired connection.

So, what next?

You did not give me the information on the how your partitions were done and how the mountpoints were selected - I am sorry, I have no idea how the default setup of openSUSE (12.2?) installers are - I always do my own partitioning so I never looked / remembered on how they are done.

I remember they recommend separate /home but I am not sure if separate /boot or not…

Beside these, you also have /swap which is a separate partition. So you would have at least /dev/md126p1 and /dev/md126p2

The partitioning you can get by doing (in partedmagic):

fdisk -l /dev/md126

In any case I will try to explain what you need to do if your setup would be with the two partitions and:

/dev/md126p1 mountpoint /swap
/dev/md126p2 mountpoint **/**

Depending on your setup you will have to change below the partition which contains / according to your setup.

The partedmagic filemanager can show you what each partition contains, but if you mount them using the filemanager, do not forget to unmount them afterwards.

You will also have to activate / configure the network connection using partedmagic tool - I think it’s available in startmenu/system.

  1. make a directory where you will chroot your system
mkdir /mnt/os12
  1. mount the martition which contains /
mount /dev/md126p2 /mnt/os12

Please check here if the md126p2 was mounted rw or read-only - it happened to me and I had to restart the array - but from our mdstat it seems that the raid is not read-only.

If md126p2 will mount read-only you will be noticed after the above command.

  1. Prepare the chrooted environment:
mount -o bind /dev /mnt/os12/dev
mount -o bind /proc /mnt/os12/proc
mount -o bind /sys /mnt/os12/sys
  1. chroot to your system:
chroot /mnt/os12

Now you should get the default red colored root prompt of openSUSE instead of the white/gray partedmagic one.

  1. use zypper to refresh the repos and install the updates
zypper ref
zypper up
zypper clean (not necessary)

I hope you do not have too many updates from other repos… If you do, you may try and install only the mdadm update (I think you can zypper in mdadm or zypper up mdadm).

  1. Exit the chroot
exit

… or you can close the terminal

  1. close and open another terminal and unmount the chroot:
umount /mnt/os12/dev
umount /mnt/os12/sys
umount /mnt/os12/proc
umount /mnt/os12
  1. stop the array:
mdadm --stop /dev/md126
  1. close the terminal and reboot to your openSUSE after you take out the usb stick or cd with pmagic.

The system should boot now.

In the above you will have to change /dev/md126p2 with the partition that holds your /

Cheers.

Let me know if you need any more help or if you get blocked on the way.

PS
On the side, I hope that you backup your important data often since you use a stripped RAID0 for it… You know that one failed hdd will lead to lose ALL your data, don’t you?

I think I need to add that if a separe /boot partition is used, that partition has to be mounted too when preparing the chrooted environment so

mount /dev/...path.to.boot.partition /mnt/os12/boot

has to be done before:


mount -o bind /dev /mnt/os12/dev
mount -o bind /proc /mnt/os12/proc
mount -o bind /sys /mnt/os12/sys

There is three partitions:

Disk /dev/md126: 1216.2 GB, 1216224428032 bytes
2 heads, 4 sectors/track, 296929792 cylinders, total 2375438336 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 131072 bytes / 262144 bytes
Disk identifier: 0x0008d22b

  Device Boot      Start         End      Blocks   Id  System

/dev/md126p1 2048 4208639 2103296 82 Linux swap
/dev/md126p2 * 4208640 46153727 20972544 83 Linux
/dev/md126p3 46153728 2375438335 1164642304 83 Linux

First is swap and third is /home.
If I understand right, then I need to do only one mount what is mentioned in Pos 2.?

/home does not need to be mounted, so you can use the steps as I wrote them, i.e. with /dev/md126p2

BUT you need to mount both what’s in Pos. 2 and Pos. 3 (i.e. /dev /proc and /sys too, otherwise the chroot system won’t work as it suppose to.

Good luck.

Thanks a lot!
It helps for boot problem.

I’m more and more assured at Linux is right OS for me, although I’m very new Linux user - SuSe 12.1 was first installed version. Now old XP is used only from VirtualBox. Also that new w8… I hate LEGO brick desktop >:)

Specially this kind problem in window$… typically only way is “format c:”. But in Linux world - help cat get very easily :slight_smile:

Thanks!

On 10/14/2012 09:46 PM, TuxRocker wrote:
> SuSe 12.1 was first installed version

there is no such version…

but there is an openSUSE 12.1


dd

Yes, you are right. That was openSUSE 12.1.