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.
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.
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.
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.