I stared upgrading to 12.2 -- and all was going fine until I rebooted. Then complete failure -- had to use rescue disk. Why? Because it's expected that /usr/{s,}bin will be on the root partition (or the same partition as /{s,}bin). 77 files are cross-linked in /sbin, including: swapon, xfs_repair, pivot_root/switch_root fbset fsck findfs (used by mount to find labels or UUID's on disks) losetup --- /bin: arch -> /usr/bin/arch basename -> /usr/bin/basename cat -> /usr/bin/cat chgrp -> /usr/bin/chgrp chmod -> /usr/bin/chmod chown -> /usr/bin/chown cp -> /usr/bin/cp cpio -> /usr/bin/cpio date -> /usr/bin/date dd -> /usr/bin/dd df -> /usr/bin/df dmesg -> /usr/bin/dmesg echo -> /usr/bin/echo ed -> /usr/bin/ed egrep -> /usr/bin/egrep eject -> /usr/bin/eject false -> /usr/bin/false fgrep -> /usr/bin/fgrep fillup -> /usr/bin/fillup findmnt -> /usr/bin/findmnt gawk -> /usr/bin/gawk grep -> /usr/bin/grep initviocons -> /usr/bin/initviocons ip -> /usr/sbin/ip ipg -> /usr/bin/ipg kill -> /usr/bin/kill ln -> /usr/bin/ln logger -> /usr/bin/logger ls -> /usr/bin/ls lsblk -> /usr/bin/lsblk mail -> /usr/bin/mailx md5sum -> /usr/bin/md5sum mkdir -> /usr/bin/mkdir mknod -> /usr/bin/mknod mktemp -> /usr/bin/mktemp more -> /usr/bin/more ****mount -> /usr/bin/mount**** mv -> /usr/bin/mv ping -> /usr/bin/ping ping6 -> /usr/bin/ping6 pwd -> /usr/bin/pwd readlink -> /usr/bin/readlink rm -> /usr/bin/rm rmdir -> /usr/bin/rmdir --------------- Needless to most of the startup scripts fail due to all the basic utils missing, but the worse -- /bin/mount requires /usr be mounted in order to run mount. Last I understood, this WASN'T going to be done (out of the systemd "discussion"...). So how do I boot now w/o a rescue disk? How is it that this made it past anyone else who cared as I know I wasn't the only one. Historically, "/bin" was supposed to contain statically linked binaries -- though at worst, have their libs in /lib which was also expected to reside on the root fs. /usr was where all the "larger" programs were -- ones that required lots of linkages, but the basic system was expected to be able to come up in single user without /usr being mounted. There was a reason why that choice was made and many people pushed for it -- one of those reasons -- being able to boot when /usr wasn't mounted -- also, historically, /usr, being larger, took longer to "fsck", um... so what happened? Worse, BTW, it's not so simple as to simply copy those binaries to /bin -- as many of them now have 1 or more linkages on /usr/lib:
ldd /usr/bin/mount linux-vdso.so.1 (0x00007fffc5fff000) libmount.so.1 => /usr/lib64/libmount.so.1 (0x00007fa8d143d000) libselinux.so.1 => /lib64/libselinux.so.1 (0x00007fa8d121f000) libc.so.6 => /lib64/libc.so.6 (0x00007fa8d0e78000) >>> libblkid.so.1 => /usr/lib64/libblkid.so.1 (0x00007fa8d0c50000) <<< libdl.so.2 => /lib64/libdl.so.2 (0x00007fa8d0a4c000) /lib64/ld-linux-x86-64.so.2 (0x00007fa8d1669000) libuuid.so.1 => /lib64/libuuid.so.1 (0x00007fa8d0847000)
--- i.e. "mount" can't function because *1* of it's library files has been moved to /usr. why??? Why did it have to move? Could someone explain to me why I shouldn't feel betrayed and lied to? Can this be fixed ASAP -- better, use time travel and make it not happen in the first place. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org