]> git.siccegge.de Git - forks/vmdebootstrap.git/blobdiff - vmdebootstrap
Create useable fstab for kfreebsd systems
[forks/vmdebootstrap.git] / vmdebootstrap
index d166485ade83ab2a64028f46d57cd84c243bf9a4..c9764ae67c44fffe66cdff7b42d23fe4acbca7a6 100755 (executable)
@@ -720,8 +720,13 @@ class VmDebootstrap(cliapp.Application):  # pylint: disable=too-many-public-meth
 
         fstab = os.path.join(rootdir, 'etc', 'fstab')
         with open(fstab, 'w') as f:
-            f.write('proc /proc proc defaults 0 0\n')
-            f.write('%s / %s errors=remount-ro 0 1\n' % (rootdevstr, roottype))
+            if 'freebsd' in os.sys.platform:
+                f.write('proc  /proc   linprocfs rw 0 0\n')
+                f.write('sys   /sys    linsysfs  rw 0 0\n')
+                f.write('fdesc /dev/fd fdescfs   rw 0 0\n')
+            else:
+                f.write('proc /proc proc defaults 0 0\n')
+            f.write('%s / %s rw 0 1\n' % (rootdevstr, roottype))
             if bootdevstr:
                 f.write('%s /boot %s errors=remount-ro 0 2\n' % (bootdevstr, boottype))
                 if self.settings['swap'] > 0:
@@ -858,12 +863,20 @@ class VmDebootstrap(cliapp.Application):  # pylint: disable=too-many-public-meth
             cfg.write("%s\n" % command)
 
     def _mount_wrapper(self, rootdir):
-        self.runcmd(['mount', '/dev', '-t', 'devfs', '-obind',
-                     '%s' % os.path.join(rootdir, 'dev')])
-        self.runcmd(['mount', '/proc', '-t', 'proc', '-obind',
-                     '%s' % os.path.join(rootdir, 'proc')])
-        self.runcmd(['mount', '/sys', '-t', 'sysfs', '-obind',
-                     '%s' % os.path.join(rootdir, 'sys')])
+        if 'freebsd' in os.sys.platform:
+            self.runcmd(['mount', 'dev', '-t', 'devfs',
+                        '%s' % os.path.join(rootdir, 'dev')])
+            self.runcmd(['mount', 'proc', '-t', 'linprocfs',
+                        '%s' % os.path.join(rootdir, 'proc')])
+            self.runcmd(['mount', 'sys', '-t', 'linsysfs',
+                        '%s' % os.path.join(rootdir, 'sys')])
+        else:
+            self.runcmd(['mount', '/dev', '-t', 'devfs', '-obind',
+                        '%s' % os.path.join(rootdir, 'dev')])
+            self.runcmd(['mount', '/proc', '-t', 'proc', '-obind',
+                        '%s' % os.path.join(rootdir, 'proc')])
+            self.runcmd(['mount', '/sys', '-t', 'sysfs', '-obind',
+                        '%s' % os.path.join(rootdir, 'sys')])
 
     def _umount_wrapper(self, rootdir):
         self.runcmd(['umount', os.path.join(rootdir, 'sys')])