Page 1 of 3 123 LastLast
Results 1 to 10 of 24

Thread: How to resolve "A start job is running for dev-disk-by\..." problems? Raspberry Pi / openSUSE

  1. #1
    Join Date
    Feb 2017
    Location
    Montana, USA & Vermont, USA
    Posts
    134

    Default How to resolve "A start job is running for dev-disk-by\..." problems? Raspberry Pi / openSUSE

    In two different projects (getting openSUSE to boot from a USB drive on Raspberry Pi, and getting WiFi to work on RPi/openSUSE), I've run into a situation where after making a modification, upon reboot I get hung with the message "A start job is running for dev-disk-by\ ...". The "..." part varies, but it's currently "x2did-mmc...". There is "no limit" (it's looking for root! as well as swap), so the boot just hangs.

    I believe the problem is caused by systemd waiting for a device to come up that systemd wants to identify by its id. I can't find where to set the boot system to have systemd to wait for the device to come up by device name ("/dev/sda3" or "/dev/mmcblk0p2"). Changing /etc/fstab to use UUID= or LABEL= to identify the partition hasn't fixed it.

    The result of all this, after multiple tries, is to go back and reinstall the OS from scratch and try again. And again. And again. But I've run out of ideas of how to fix it.

    In the latest iteration, the failed-boot occurred after I did a "mkinitrd -f", following a procedure I had used earlier (on an earlier version of Tumbleweed) to install the RPi-3 WiFi (brcm) -- successfully in that case. This suggests that the problem is a result of some change in openSUSE dracut/mkinitrd code, but I haven't been able to figure out how to fix it. I can't see that any of the mkinitrd or dracut parameters can be used to change the systemd device search.

    The problem also occurs when I do a grub2-mkconfig to try to change the boot drive to a USB drive (having done a chroot to that drive). When I subsequently try to boot from that USB drive, it gives the same message.

    I'm out of ideas where to look or what to do next. Can anyone suggest where to look next? I've tried working on Leap 42.2 and Tumbleweed 1/31 and 2/3 version (and earlier versions) and can't seem to get anywhere.

  2. #2
    Join Date
    Jun 2008
    Location
    San Diego, Ca, USA
    Posts
    10,650
    Blog Entries
    1

    Default Re: How to resolve "A start job is running for dev-disk-by\..." problems? Raspberry Pi / openSUSE

    Unlikely has anything to do with systemd.
    You need to describe in detail what you mean by "after making a modification"

    TSU
    Beginner Wiki Quickstart - https://en.opensuse.org/User:Tsu2/Quickstart_Wiki
    Solved a problem recently? Create a wiki page for future personal reference!
    Learn something new?
    Attended a computing event?
    Post and Share!

  3. #3
    Join Date
    Feb 2017
    Location
    Montana, USA & Vermont, USA
    Posts
    134

    Default Re: How to resolve "A start job is running for dev-disk-by\..." problems? Raspberry Pi / openSUSE

    Quote Originally Posted by tsu2 View Post
    Unlikely has anything to do with systemd.
    You need to describe in detail what you mean by "after making a modification"

    TSU
    I followed the instructions here: https://lists.opensuse.org/opensuse-.../msg00018.html
    that describe how to get WiFi working on the RPi-3 under openSUSE (WiFi doesn't work out-of-the box with openSUSE releases, and it doesn't work with SLES until "zypper dup"). Briefly, the process here is install the firmware, if needed; edit /etc/dracut.conf.d/raspberrypi_modules.conf to deselect a module for install and include others, and then "mkinitrd -f". Process worked in an earlier Tumbleweed (2007.01.13, I think it was), but not in later releases (this failure was on the 2017.01.28 or .31 release, but I've tried the .02.03 release as well).

    It's clear that someone is working on development in this area since the bootcode.bin file (from the Raspberry folks, I think) was changed from the USB-oblivious version (about 17KB) to the USB-aware version (about 50KB) between those versions; someone's trying to get openSUSE positioned to support the USB booting, I think, and others have reported success. But USB booting is still not working, and that development seems to be having some unintended consequences.

  4. #4
    Join Date
    Feb 2017
    Location
    Montana, USA & Vermont, USA
    Posts
    134

    Default Re: How to resolve "A start job is running for dev-disk-by\..." problems? Raspberry Pi / openSUSE

    Quote Originally Posted by tsu2 View Post
    Unlikely has anything to do with systemd.
    You need to describe in detail what you mean by "after making a modification"

    TSU
    In my first reply, I should have said that I'd done a good deal of searching for answers, and in a number of other threads, this message ("a start job ... dev-disk-by...") was identified to come from an error in /etc/fstab entries that prevented systemd from mounting the devices it was looking for. Those responses may have been incorrect, but they did lead the posters to find that there had been an error in /etc/fstab entries (usually the UUID pair for /swap), and correcting that cured the problem. In my case, I've tried the "/dev/sda3", "LABEL=", and "UUID=" formats in /etc/fstab entries, and they don't correct this problem. It's the "dev-disk-by\x2did-mmc..." part that I can't seem to correct anywhere, and I can't get systemd (if that's the culprit) to drop its insistence on referencing by id.

  5. #5
    Join Date
    Sep 2012
    Posts
    4,922

    Default Re: How to resolve "A start job is running for dev-disk-by\..." problems? Raspberry Pi / openSUSE

    Quote Originally Posted by hdtodd View Post
    The problem also occurs when I do a grub2-mkconfig to try to change the boot drive to a USB drive (having done a chroot to that drive). When I subsequently try to boot from that USB drive, it gives the same message.
    This suggests that the problem could be kernel parameters. So what do you have in grub.cfg?

  6. #6
    Join Date
    Jun 2008
    Location
    Podunk
    Posts
    26,110
    Blog Entries
    15

    Default Re: How to resolve "A start job is running for dev-disk-by\..." problems? Raspberry Pi / openSUSE

    Hi
    Is this after you make the changes to boot from USB?

    Have you see this ML thread?
    https://lists.opensuse.org/opensuse-.../msg00060.html
    Cheers Malcolm °¿° SUSE Knowledge Partner (Linux Counter #276890)
    SUSE SLE, openSUSE Leap/Tumbleweed (x86_64) | GNOME DE
    If you find this post helpful and are logged into the web interface,
    please show your appreciation and click on the star below... Thanks!

  7. #7
    Join Date
    Feb 2017
    Location
    Montana, USA & Vermont, USA
    Posts
    134

    Red face Re: How to resolve "A start job is running for dev-disk-by\..." problems? Raspberry Pi / openSUSE

    Quote Originally Posted by malcolmlewis View Post
    Hi
    Is this after you make the changes to boot from USB?

    Have you see this ML thread?
    https://lists.opensuse.org/opensuse-.../msg00060.html
    Hi, Malcolm,
    No, I've bagged that project for now (but yes, I'd seen and followed that thread, unsuccessfully -- thanks for the pointer!).

    This was a cloned microSD that was booting normally, but without WiFi. Followed the instructions to get WiFi going (which I'd done successfully on an earlier release of Tumbleweed), and got to this wait loop, "A start job ... dev-...", when I put it back into the microSD slot and tried to boot from it.

    That's the same message I'd been stuck on when I tried to create a USB-bootable drive, but I got there by a different route. :-)

  8. #8
    Join Date
    Feb 2017
    Location
    Montana, USA & Vermont, USA
    Posts
    134

    Default Re: How to resolve "A start job is running for dev-disk-by\..." problems? Raspberry Pi / openSUSE

    Quote Originally Posted by arvidjaar View Post
    This suggests that the problem could be kernel parameters. So what do you have in grub.cfg?
    I think the relevant part is the section that references the menuentry parameters:

    Code:
    ### BEGIN /etc/grub.d/10_linux ###
    menuentry 'openSUSE'  --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-795b86ba-b1c5-455b-8233-6fe18ba25aa4' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos2'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint='hd0,msdos2'  795b86ba-b1c5-455b-8233-6fe18ba25aa4
        else
          search --no-floppy --fs-uuid --set=root 795b86ba-b1c5-455b-8233-6fe18ba25aa4
        fi
        echo    'Loading Linux 4.9.6-1-default ...'
        linux    /boot/Image-4.9.6-1-default root=UUID=795b86ba-b1c5-455b-8233-6fe18ba25aa4  root=/dev/disk/by-id/mmc-SL32G_0x28b56c90-part2 disk=/dev/disk/by-id/mmc-SL32G_0x28b56c90 resume=/dev/disk/by-id/mmc-SL32G_0x28b56c90-part3 quiet splash=silent plymouth.enable=0  swiotlb=512,force cma=128M console=ttyS0,115200n8 console=tty quiet 
        echo    'Loading initial ramdisk ...'
        initrd    /boot/initrd-4.9.6-1-default
    }
    The start job is waiting for
    Code:
    dev-disk-by\x2did-mmc\x2dSL32G_0x28b56c90\x2dpart2.device
    after having given up on the part3.device (swap) after 90 seconds. There's a no-limit wait for the part2.device (root).

    Now, the *working* microSD card (running SLES in this case), has the relevant grub.cfg section as:

    Code:
    ### BEGIN /etc/grub.d/10_linux ###
    menuentry 'SLES-12-SP2-ARM-X11-raspberrypi3_aarch64'  --class sles_12_sp2_arm_x11_raspberrypi3_aarch64 --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-0b2c007e-1581-42e2-a05c-4a66eb4c115d' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos2'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint='hd0,msdos2'  c6c03b10-12d7-43cf-9f66-d04fa8e179c1
        else
          search --no-floppy --fs-uuid --set=root c6c03b10-12d7-43cf-9f66-d04fa8e179c1
        fi
        echo    'Loading Linux 4.4.38-93-default ...'
        linux    /Image-4.4.38-93-default root=UUID=0b2c007e-1581-42e2-a05c-4a66eb4c115d  root=/dev/disk/by-id/mmc-SDU32_0x0033566b-part3 disk=/dev/disk/by-id/mmc-SDU32_0x0033566b resume=/dev/disk/by-id/mmc-SDU32_0x0033566b-part4 loglevel=3 plymouth.enable=0  console=ttyS0,115200n8 console=tty quiet ${extra_cmdline} 
        echo    'Loading initial ramdisk ...'
        initrd    /initrd-4.4.38-93-default
    }
    and I see that systemctl reports (for the swap/resume partition):

    Code:
      dev-disk-by\x2did-mmc\x2dSDU32_0x0033566b\x2dpart4.swap                                                                 loaded active active    /dev/disk/by-id/mmc-SDU32_0x0033566b-part4
    For the running (SLES) system, /dev/disk/by-id gives me:

    Code:
     ls /dev/disk/by-id
    mmc-SDU32_0x0033566b        usb-Generic_USB2.0_Card_Reader_12345678901234567890-0:0
    mmc-SDU32_0x0033566b-part1  usb-Generic_USB2.0_Card_Reader_12345678901234567890-0:0-part1
    mmc-SDU32_0x0033566b-part2  usb-Generic_USB2.0_Card_Reader_12345678901234567890-0:0-part2
    mmc-SDU32_0x0033566b-part3  usb-Generic_USB2.0_Card_Reader_12345678901234567890-0:0-part3
    mmc-SDU32_0x0033566b-part4
    So, I think I need to edit my openSUSE grub.cfg file to use the "ID_SERIAL" (the 0x0033566b part of the id on the SLES microSD) of the microSD I'm using for openSUSE. But a) I can't see how to get that (since the microSD is being accessed through the USB adapter -- it won't boot on its own -- and the USB adapter reports ID_SERIAL=Generic_USB2.0_Card_Reader_12345678901234567890-0:0) and b) I'd have thought that grub2-mkconfig would have done that for me -- I don't know where its references to "mmc-SL32G_0x28b56c90" are coming from, though it's possible they really match something in that openSUSE microSD card that I can't see.
    Last edited by hdtodd; 13-Feb-2017 at 06:05. Reason: typo in device serial number

  9. #9
    Join Date
    Jun 2008
    Location
    Podunk
    Posts
    26,110
    Blog Entries
    15

    Default Re: How to resolve "A start job is running for dev-disk-by\..."problems? Raspberry Pi / openSUSE

    On Mon 13 Feb 2017 01:06:01 PM CST, hdtodd wrote:

    arvidjaar;2812106 Wrote:
    > This suggests that the problem could be kernel parameters. So what do
    > you have in grub.cfg?


    I think the relevant part is the section that references the menuentry
    parameters:
    <snip>
    Hi
    OK, I duplicated the issue, so when the mkinitrd -f is run something is
    getting confused with the UUID's

    --
    Cheers Malcolm °¿° SUSE Knowledge Partner (Linux Counter #276890)
    openSUSE Leap 42.1|GNOME 3.16.2|4.1.36-44-default
    If you find this post helpful and are logged into the web interface,
    please show your appreciation and click on the star below... Thanks!


  10. #10
    Join Date
    Feb 2017
    Location
    Montana, USA & Vermont, USA
    Posts
    134

    Default Re: How to resolve "A start job is running for dev-disk-by\..."problems? Raspberry Pi / openSUSE

    Quote Originally Posted by malcolmlewis View Post
    Hi
    OK, I duplicated the issue, so when the mkinitrd -f is run something is
    getting confused with the UUID's
    --
    Cheers Malcolm
    Yes, though I couldn't be sure if it was UUIDs or ID_SERIAL that's getting confused. What's most annoying is that there seems to be no way to say "don't use UUID or disk ID, use device name" (/dev/sda1, etc.). And the process seems to insist on using /proc/cmdline as the authoritative source of kernel info rather than letting me override -- seems to be no option for overrides.

Page 1 of 3 123 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •