Hi I just started to understand systemd source code.<div><br></div><div>Now I'm curious about mounting linux pseudo-filesystemd like sysfs and porcfs.</div><div><br>In main( ) function from /src/core/main.c, there is several mounting related functions like:</div><div>1. mount_setup_early</div><div>2. mount_setup</div><div>3. mount_cgroupt_controllers</div><div>and also, there is table named 'mount_table'</div><div><br></div>I used log_info( ) to see which file systems that systemd mounts. But none of them was sysfs or procfs(systemd only mounts: securityfs, tmpfs, devfs, etc. but not sysfs and procfs).<div><br></div>I also tracked why systemd does not mount sysfs and procs. Inside mount_one( ) function, systemd uses name_to_handle_at( ) to get mount_id.<br><div><br></div>For sysfs('/sys'), or procfs('/proc'), name_to_handle_at( ) returns fail(EOPNOTSUPP). But for its parent('/'), name_to_handle_at( ) returns success. and in this case, systemd doesn't mount such file systems.<div><br></div><div>Now, this is my question:</div><div>What this situation means when child directory returns fail for name_to_handle_at( ) but its parent returns success for the same function? does it mean '/sys' is already mounted before '/sbin/init' is executed? If so, then who mounts sysfs, procfs, and also rootfs?(script? other initial process?)</div><div><br></div><div>I know it is very basic question for linux programmer, but please give me some answer about this.</div>TIA.<br><div><br></div><div><br></div><div><br></div><br>
<br>