My Tumbleweed install for January 2016

For this month, I used an external drive.  It’s an old ATA 80G drive that I have mounted in a USB disk enclosure.  I connected the external drive to my laptop, so that I could do more testing of WiFi and NetworkManager.

I installed snapshot 20160107.  I did that install yesterday.  And a few hours later, snapshot 20160108 was announced.  Well never mind that.  I was testing for install problems.

Installing

To install, I downloaded the DVD installer (64-bit), and wrote that to a USB flash drive using the “dd_rescue” command.

I plugged installer USB into my laptop.  At this stage, the external drive (the install destination) was not connected.  This was deliberate.  That drive is bootable.  When I tell my system to boot from USB, I am not given a choice of USB.  So, to avoid any ambiguity, I made sure that the installer USB was the only one connected.  I should add that my laptop uses legacy booting.

On my laptop, I press F12 while booting.  Actually, I keep hitting F12 during boot, until a boot menu shows.  If I don’t hit F12 at the right time, I’ll get the boot menu from the hard drive, so I’ll then have to use CTRL-ALT-DEL to reboot.

Using the F12 key gives me a BIOS boot menu, with choice of booting hard drive, USB or CD/DVD.  I chose booting from USB.

As soon as the installer boot menu showed, I connected the install target external drive.  I then selected “Install” from the boot menu, and hit Enter to proceed with booting the installer.

This all went quite well, and was about what I usually see when installing.  I was prompted for optionally providing an encryption key (which I did provide).  When the partitioning proposal showed up, I clicked “Create Partitioning”.  On the next screen, I selected “Custom partitioning”.  And on the subsequent screen, I clicked “Import”.  That gave me a list of existing linux system.  I chose to install to the partitions that used my external drive (where I previously had installed a Leap beta release).

For software to install, I selected KDE and Gnome.  The install seemed to go pretty well.

Rebooting

The first hint of problems was at the reboot.  The grub2 boot menu showed up as expected.  I proceeded with the default boot to Tumbleweed.  I was expecting a prompt for the encryption key of the LVM into which I had installed.  But there was no such prompt.  The system seemed to be unbootable.

Rescue time

I had to power off the laptop.  I then booted it to the Tumbleweed that I have installed on the internal drive.

While running on the system from the hard drive, I opened a root terminal session (using “xterm”).  From there, I proceeded to use “cryptsetup” to access the encrypted LVM on the external drive.  I followed that with “vgchange -a y” to make the logical volumes visible.  I then mounted the root volume for the newly installed system.

My next step was to check “/etc/crypttab”, since that is the file that defines what is to be logically unencrypted during boot.  And I quickly saw the problem.

The “crypttab” entry for the LVM was:

cr_ATAPI_bridge-part3 /dev/disk/by-id/scsi-1JMicron_USB_to_ATA/ATAPI_bridge-part3 none none

And that did not look right.

The external drive shows up as “/dev/sdb” and the LVM partition shows up as “/dev/sdb3”.  To find out what the “crypttab” entry should be, I used the command:

ls -l /dev/disk/by-id | grep sdb3

The output from that command listed two line:

lrwxrwxrwx 1 croot root 10 Jan 9 17:53 scsi-1JMicron_USB_to_ATA\x2fATAPI_bridge-part3 -> ../../sdb3
lrwxrwxrwx 1 croot root 10 Jan 9 17:53 scsi-SWDC_WD80_0JB-00ETA0_152D20337A0C-part3 -> ../../sdb3

The installer had based “crypttab” on the first of those two lines.  I edited the file, and changed it to use the second of those lines.

Changing the file would not be sufficient.  So I then went into rescue mode, where I rebuilt the “initrd” (by running the “mkinitrd” command).

After those changes, I again tried to boot the system.  And it now booted up without problems.  So I’ll consider this a successful install, except for one install bug (reported as bug 961275).

What went wrong?

This seems to be a change with the 4.x kernels.  My previous Tumbleweed installs into this external drive did not run into the same problem.  When I look at this external drive from opensuse 13.2, I do not see that “ATAPI_bridge” device ID.

The installer appears to have expanded the substring “\x2f” to “/”, causing the problem.  Perhaps suitable quoting would have avoided that.  But we have to be concerned with the quoting used by the installer, and the quoting used during boot when “/etc/crypttab” is read.  So it probably best to avoid device IDs with escape (“\”) characters if possible.

Advertisements

Tags: , ,

About Neil Rickert

Retired mathematician and computer scientist who dabbles in cognitive science.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: