Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
/dev/root question
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
Tony0945
Advocate
Advocate


Joined: 25 Jul 2006
Posts: 3299
Location: Illinois, USA

PostPosted: Wed Nov 28, 2018 12:14 am    Post subject: /dev/root question Reply with quote

In LTS kernels 4.4 and 4.14 root '/' is mounted on /dev/sda3 and e4defrag works.
On later kernels 4.17 and 4/18 root is mounted on /dev/root and e4dfrag just prints its version number and exit.
Also:
Code:
MSI tony # df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       228G  155G   61G  72% /
devtmpfs         10M     0   10M   0% /dev
tmpfs           1.6G  1.4M  1.6G   1% /run
cgroup_root      10M     0   10M   0% /sys/fs/cgroup
shm             7.9G     0  7.9G   0% /dev/shm
/dev/sda1      1007M   66M  890M   7% /boot
tmpfs            12G     0   12G   0% /var/tmp/portage
/dev/sdb1       1.9T  1.1T  773G  59% /video
MSI tony # ls -alh /dev/root
ls: cannot access '/dev/root': No such file or directory


Can anyone shed light on this and what I can do about it other than sticking to earlier kernels?
Back to top
View user's profile Send private message
Anon-E-moose
Advocate
Advocate


Joined: 23 May 2008
Posts: 4334
Location: Dallas area

PostPosted: Wed Nov 28, 2018 12:37 am    Post subject: Reply with quote

what does "readlink /dev/root" return?

also what does "mount -v" show?
_________________
Asus m5a99fx, FX 8320 - nouveau, oss4, rx550 for qemu passthrough
Acer laptop E5-575, i3-7100u - i965, alsa
---both---
5.0.13 zen kernel, profile 17.1 (no-pie & modified) amd64-no-multilib
gcc 8.2.0, eudev, openrc, openbox, palemoon
Back to top
View user's profile Send private message
Ant P.
Watchman
Watchman


Joined: 18 Apr 2009
Posts: 6015

PostPosted: Wed Nov 28, 2018 1:30 am    Post subject: Reply with quote

You probably need to change this:
/etc/conf.d/udev-trigger:

# We can create a /dev/root symbolic link to point to the root device in
# some situations. This is on by default because some software relies on
# it,. However, this software should be fixed to not do this.
# For more information, see
# https://bugs.gentoo.org/show_bug.cgi?id=438380.
# If you are not using any affected software, you do not need this, so
# feel free to turn it off.
#rc_dev_root_symlink="YES"


Also, /etc/mtab should be a symlink to /proc/self/mounts if it isn't already.
Back to top
View user's profile Send private message
Tony0945
Advocate
Advocate


Joined: 25 Jul 2006
Posts: 3299
Location: Illinois, USA

PostPosted: Wed Nov 28, 2018 2:10 am    Post subject: Reply with quote

Code:
MSI tony # readlink /dev/root
MSI tony #



Code:
MSI ~ # mount -v
/dev/sda3 on / type ext4 (rw,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,relatime,size=10240k,nr_inodes=2044379,mode=755)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
tmpfs on /run type tmpfs (rw,nodev,relatime,size=1642532k,mode=755)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
cgroup_root on /sys/fs/cgroup type tmpfs (rw,nosuid,nodev,noexec,relatime,size=10240k,mode=755)
fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)
openrc on /sys/fs/cgroup/openrc type cgroup (rw,nosuid,nodev,noexec,relatime,release_agent=/lib64/rc/sh/cgroup-release-agent.sh,name=openrc)
devpts on /dev/pts type devpts (rw,relatime,mode=600,ptmxmode=000)
shm on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime)
/dev/sda1 on /boot type ext2 (rw,relatime,block_validity,barrier,user_xattr,acl)
tmpfs on /var/tmp/portage type tmpfs (rw,relatime,size=12582912k,nr_inodes=1048576)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,nosuid,nodev,noexec,relatime)
devpts on /dev/pts type devpts (rw,relatime,mode=600,ptmxmode=000)
/dev/sdb1 on /video type jfs (rw,relatime)
gvfsd-fuse on /home/tony/.gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1002,group_id=1002)


Code:
~ # ls -l  /etc/conf.d/udev-trigger
ls: cannot access '/etc/conf.d/udev-trigger': No such file or directory
This is eudev 1.10

Code:
MSI ~ # ls -l /etc/mtab
lrwxrwxrwx 1 root root 17 Jun 12  2015 /etc/mtab -> /proc/self/mounts

I can fix this by adding "ln -s /dev/sda3 /dev/root" to /etc/local.d/000.start and then e4defrag works again. I found this in a nine year old forum post, but it's a bit kludgy. I have to remember to change this if I rearrange the disk or move the installation. Besides, it works fine in latest 4.4 and 4.14 What changed in later kernels? A bug? Apparently, according to the old post, the kernel creates /dev/root as a link to the ramdisk while booting and should remove it later. A kernel bug? Or a new setting that I took by default?
Back to top
View user's profile Send private message
Anon-E-moose
Advocate
Advocate


Joined: 23 May 2008
Posts: 4334
Location: Dallas area

PostPosted: Wed Nov 28, 2018 11:03 am    Post subject: Reply with quote

I'm a little confused. You don't have /dev/root but some packages expect it?

Nothing should expect it (not that it hurts to be there), but from the little looking I did every time there was a question with it, it dealt with initrd or similar.

How do you start your system?

And if you really need it, for whatever reason, I believe that Ant.P pointed out /etc/conf.d/udev* has a setting for it so you don't have to do it manually, just uncomment it.
Note: on older udevs it's under /etc/conf.d/udev not udev-trigger.
_________________
Asus m5a99fx, FX 8320 - nouveau, oss4, rx550 for qemu passthrough
Acer laptop E5-575, i3-7100u - i965, alsa
---both---
5.0.13 zen kernel, profile 17.1 (no-pie & modified) amd64-no-multilib
gcc 8.2.0, eudev, openrc, openbox, palemoon
Back to top
View user's profile Send private message
Tony0945
Advocate
Advocate


Joined: 25 Jul 2006
Posts: 3299
Location: Illinois, USA

PostPosted: Wed Nov 28, 2018 2:15 pm    Post subject: Reply with quote

I do have /dev/root, if I boot 4.17.x or 4.18.x
If I boot 4.4.x or 4.14.x I don't.
Nothing expects it and it interferes with some programs, unless I siymlink it.

I boot without an initramfs using grub legacy.
Code:
default 0
timeout 10
splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title=Gentoo Stable (4.18.19-gentoo)
root (hd0,0)
kernel /boot/vmlinuz-4.18.19-gentoo  root=/dev/sda3 vga=0x365 net.ifnames=0

title=Gentoo EOL (4.17.19-gentoo)
root (hd0,0)
kernel /boot/vmlinuz-4.17.19-gentoo  root=/dev/sda3 vga=0x365 net.ifnames=0

title=Gentoo LongTerm (4.14.81-gentoo)
root (hd0,0)
kernel /boot/vmlinuz-4.14.81-gentoo  root=/dev/sda3 vga=0x365 net.ifnames=0

title=Gentoo LongTerm (4.4.163-gentoo)
root (hd0,0)
kernel /boot/vmlinuz-4.4.163-gentoo  root=/dev/sda3 vga=0x365 net.ifnames=0

title=memtest86+
root (hd0,0)
kernel /boot/memtest86plus/memtest


Last edited by Tony0945 on Wed Nov 28, 2018 2:30 pm; edited 1 time in total
Back to top
View user's profile Send private message
Ant P.
Watchman
Watchman


Joined: 18 Apr 2009
Posts: 6015

PostPosted: Wed Nov 28, 2018 2:25 pm    Post subject: Reply with quote

Try this and see if there's a /dev/root on disk:
Code:
mkdir -p /mnt/gentoo && mount -o bind / /mnt/gentoo
ls -l /mnt/gentoo/dev/
umount /mnt/gentoo

It might be picking it up from the disk filesystem early at boot, before /dev gets mounted over and renders it invisible. Just a guess.
Back to top
View user's profile Send private message
Tony0945
Advocate
Advocate


Joined: 25 Jul 2006
Posts: 3299
Location: Illinois, USA

PostPosted: Wed Nov 28, 2018 6:04 pm    Post subject: Reply with quote

Ant P. wrote:
Try this and see if there's a /dev/root on disk:
Code:
mkdir -p /mnt/gentoo && mount -o bind / /mnt/gentoo
ls -l /mnt/gentoo/dev/
umount /mnt/gentoo

It might be picking it up from the disk filesystem early at boot, before /dev gets mounted over and renders it invisible. Just a guess.


No /dev/root
pastebinned at http://dpaste.com/2Q70TNQ
Back to top
View user's profile Send private message
Anon-E-moose
Advocate
Advocate


Joined: 23 May 2008
Posts: 4334
Location: Dallas area

PostPosted: Wed Nov 28, 2018 6:19 pm    Post subject: Reply with quote

Interesting https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=907634 especially message #10

ETA: is /dev/root listed in /proc/self/mounts
_________________
Asus m5a99fx, FX 8320 - nouveau, oss4, rx550 for qemu passthrough
Acer laptop E5-575, i3-7100u - i965, alsa
---both---
5.0.13 zen kernel, profile 17.1 (no-pie & modified) amd64-no-multilib
gcc 8.2.0, eudev, openrc, openbox, palemoon
Back to top
View user's profile Send private message
Ant P.
Watchman
Watchman


Joined: 18 Apr 2009
Posts: 6015

PostPosted: Wed Nov 28, 2018 8:09 pm    Post subject: Reply with quote

I have to admit I'm pretty lost here. So to sum up:
  • There's nothing in the bootloader config to suggest it's feeding weird paths to the kernel (cat /proc/cmdline would verify this, but I don't expect a surprise)
  • We know the only filesystems involved are the disk and devtmpfs, because there's no initramfs
  • There's no /dev/root to be found in the filesystem, except when you created it after the fact as a workaround
  • /etc/mtab is correctly pointing to /proc/self/mounts
  • /proc/self/mounts (and the `mount` command, which should produce near-identical output anyway) is claiming that / is mounted on a /dev/root which shouldn't exist


Are you running on old openrc/eudev versions, by any chance? That's about the only other thing I can think of at this point.
Back to top
View user's profile Send private message
Tony0945
Advocate
Advocate


Joined: 25 Jul 2006
Posts: 3299
Location: Illinois, USA

PostPosted: Wed Nov 28, 2018 8:23 pm    Post subject: Reply with quote

Ant P. wrote:
Are you running on old openrc/eudev versions, by any chance? That's about the only other thing I can think of at this point.

Yes, eudev-1.10 , but if that was the problem why are the latest 4.4 and 4.14 LTS kernels running correctly?
Back to top
View user's profile Send private message
Tony0945
Advocate
Advocate


Joined: 25 Jul 2006
Posts: 3299
Location: Illinois, USA

PostPosted: Wed Nov 28, 2018 8:29 pm    Post subject: Reply with quote

Anon-E-moose wrote:
Interesting https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=907634 especially message #10

That explains why e4defrag prints the version and exits.
Still wondering where the /dev/root is coming from.
Did a meld on kernel .configs but noting there to remotely account for it.

I've put the link in local startup but I should really check for kernel version before doing so.
Going to build 4.19 and see what it does.
Back to top
View user's profile Send private message
Anon-E-moose
Advocate
Advocate


Joined: 23 May 2008
Posts: 4334
Location: Dallas area

PostPosted: Wed Nov 28, 2018 8:40 pm    Post subject: Reply with quote

On one of the systems where /dev/root is there, post the result of "cat /etc/mtab"


*hmm* https://archives.gentoo.org/gentoo-commits/message/0febf7851333595045e20fc4186a7f79 (look for /dev/root)

The other thing I noticed when googling various combination to see what was going on, is that sometime after 4.14, the kernel quit using sys_open in favor of ksys_open, but I don't know if that has anything to do with it.
_________________
Asus m5a99fx, FX 8320 - nouveau, oss4, rx550 for qemu passthrough
Acer laptop E5-575, i3-7100u - i965, alsa
---both---
5.0.13 zen kernel, profile 17.1 (no-pie & modified) amd64-no-multilib
gcc 8.2.0, eudev, openrc, openbox, palemoon
Back to top
View user's profile Send private message
Tony0945
Advocate
Advocate


Joined: 25 Jul 2006
Posts: 3299
Location: Illinois, USA

PostPosted: Wed Nov 28, 2018 10:09 pm    Post subject: Reply with quote

Anon-E-moose wrote:
On one of the systems where /dev/root is there, post the result of "cat /etc/mtab"


*hmm* https://archives.gentoo.org/gentoo-commits/message/0febf7851333595045e20fc4186a7f79 (look for /dev/root)

The other thing I noticed when googling various combination to see what was going on, is that sometime after 4.14, the kernel quit using sys_open in favor of ksys_open, but I don't know if that has anything to do with it.
cat /etc/mtab This from 4.19.2
Back to top
View user's profile Send private message
Tony0945
Advocate
Advocate


Joined: 25 Jul 2006
Posts: 3299
Location: Illinois, USA

PostPosted: Wed Nov 28, 2018 10:19 pm    Post subject: Reply with quote

Anon-E-moose wrote:
On one of the systems where /dev/root is there, post the result of "cat /etc/mtab"


*hmm* https://archives.gentoo.org/gentoo-commits/message/0febf7851333595045e20fc4186a7f79 (look for /dev/root)

The other thing I noticed when googling various combination to see what was going on, is that sometime after 4.14, the kernel quit using sys_open in favor of ksys_open, but I don't know if that has anything to do with it.

Oh God! He is messing with the kernel now. I'll try vanilla-4.19.2 and see what happens.
Back to top
View user's profile Send private message
Anon-E-moose
Advocate
Advocate


Joined: 23 May 2008
Posts: 4334
Location: Dallas area

PostPosted: Wed Nov 28, 2018 10:55 pm    Post subject: Reply with quote

Tony0945 wrote:
Anon-E-moose wrote:
On one of the systems where /dev/root is there, post the result of "cat /etc/mtab"


*hmm* https://archives.gentoo.org/gentoo-commits/message/0febf7851333595045e20fc4186a7f79 (look for /dev/root)

The other thing I noticed when googling various combination to see what was going on, is that sometime after 4.14, the kernel quit using sys_open in favor of ksys_open, but I don't know if that has anything to do with it.

Oh God! He is messing with the kernel now. I'll try vanilla-4.19.2 and see what happens.


Interestingly enough that post goes back to 2013 and the last comment was from 2016, where there were still periodic problems.
One of the devs, made a comment that it seemed to be a bug from the kernel itself, causing it.
If so, it's probably one of those race conditions that only get triggered when the conditions are right.

I tend to think he might be right and it's a kernel bug, /dev/root shouldn't exist especially when the kernel is started with a proper root= parm.
_________________
Asus m5a99fx, FX 8320 - nouveau, oss4, rx550 for qemu passthrough
Acer laptop E5-575, i3-7100u - i965, alsa
---both---
5.0.13 zen kernel, profile 17.1 (no-pie & modified) amd64-no-multilib
gcc 8.2.0, eudev, openrc, openbox, palemoon
Back to top
View user's profile Send private message
Tony0945
Advocate
Advocate


Joined: 25 Jul 2006
Posts: 3299
Location: Illinois, USA

PostPosted: Wed Nov 28, 2018 11:14 pm    Post subject: Reply with quote

vanilla-19.2 still has dev/root When I edited ksys_open to sys_open, it made no difference.
Back to top
View user's profile Send private message
Anon-E-moose
Advocate
Advocate


Joined: 23 May 2008
Posts: 4334
Location: Dallas area

PostPosted: Wed Nov 28, 2018 11:27 pm    Post subject: Reply with quote

Quote:
/dev/root is a generic device which can be used in the fstab. One can also use 'rootfs'. Doing this offers some advantage in that it allows yout to be less specific. What I mean is, if the root partition is on an external drive, it may not always show up as the same device and successfully mounting it as / would require changing the fstab to match the correct device. By using /dev/root it will always match whatever device is specified in the kernel boot paramters from lilo or grub.

/dev/root has always been present as a virtual mount point, even if you never saw it. So has rootfs (compare this to the special virtual devices like proc and tmpfs which have no preceeding /dev)

/dev/root is a virtual device like 'proc' or /dev/tcp'. There is no device node in /dev for these things -it's already in the kernel as a virtual device.


From a discussion https://unix.stackexchange.com/questions/17563/find-out-what-device-dev-root-represents-in-linux/17566

Now, WHY it's showing up is the mystery.

ETA: I'm still running 4.14 though I intend to move up to 4.19 soon, I just hadn't wanted to mess with it today. I'll keep an eye after I update to see what shows.
_________________
Asus m5a99fx, FX 8320 - nouveau, oss4, rx550 for qemu passthrough
Acer laptop E5-575, i3-7100u - i965, alsa
---both---
5.0.13 zen kernel, profile 17.1 (no-pie & modified) amd64-no-multilib
gcc 8.2.0, eudev, openrc, openbox, palemoon
Back to top
View user's profile Send private message
Tony0945
Advocate
Advocate


Joined: 25 Jul 2006
Posts: 3299
Location: Illinois, USA

PostPosted: Wed Nov 28, 2018 11:40 pm    Post subject: Reply with quote

Temporarily adding the following to /etc/local.d/000.start
Code:
#fix root mount
KSERIES=" `uname -r | cut -f 3|cut -d . -f2`"
if [ $KSERIES > 14 ]; then
        ln -s /dev/sda3 /dev/root
fi
Back to top
View user's profile Send private message
Tony0945
Advocate
Advocate


Joined: 25 Jul 2006
Posts: 3299
Location: Illinois, USA

PostPosted: Fri Dec 28, 2018 12:35 am    Post subject: Reply with quote

Problem just appeared in 4.14.90-gentoo, wasn't there in 4.14.88-gentoo
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum