the suggested vmdebootstrap patch by Michael doesn't set the customized
boot mount point in /etc/fstab of the generated images.
i also think, the '--bootdirfmt' and its unusual "%s..." syntax doesn't
look very handy. therefore i used a simple '--bootdir' option in my fix.
working patch attached.
diff --git a/bin/vmdebootstrap b/bin/vmdebootstrap
index d9a697d..e4e7e60 100755
--- a/bin/vmdebootstrap
+++ b/bin/vmdebootstrap
@@ -78,6 +78,7 @@ class VmDebootstrap(cliapp.Application): # pylint: disable=too-many-public-meth
self.settings.string(['bootflag'], 'specify flag to set for /boot/', default='')
self.settings.bytesize(['bootoffset'], 'Space to leave at start of the '
'image for bootloader', default='0')
+ self.settings.string(['bootdir'], 'Mount point of /boot partition', default='/boot/')
self.settings.boolean(['use-uefi'], 'Setup image for UEFI boot', default=False)
self.settings.bytesize(['esp-size'], 'Size of EFI System Partition - '
'requires use-uefi', default='5mib')
@@ -248,9 +249,9 @@ class VmDebootstrap(cliapp.Application): # pylint: disable=too-many-public-meth
elif bootdev:
boottype = self.settings['boottype']
filesystem.mkfs(bootdev, fstype=boottype)
- self.bootdir = '%s/%s' % (rootdir, 'boot/')
+ self.bootdir = '%s/%s' % (rootdir, self.settings['bootdir'])
filesystem.devices['bootdir'] = self.bootdir
- os.mkdir(self.bootdir)
+ os.makedirs(self.bootdir)
self.mount(bootdev, self.bootdir)
# set user-specified flags, e.g. lba
diff --git a/doc/overview.rst b/doc/overview.rst
index 43693f2..da0f236 100644
--- a/doc/overview.rst
+++ b/doc/overview.rst
@@ -107,6 +107,8 @@ Options
--boottype=FSTYPE Filesystem to use for the /boot partition. (default ext2)
--bootflag=FLAG Flag to set on the first partition. (default none)
--bootoffset=SIZE Space to leave at start of the image for bootloader
+ --bootdir=PATH Mount point of /boot partition.
+ Default is ``/boot/``.
--roottype=FSTYPE Filesystem to use for the / (root) partition. (default ext4)
--part-type=PART-TYPE
Partition type to use for this image. (default msdos)
diff --git a/vmdebootstrap/filesystem.py b/vmdebootstrap/filesystem.py
index b911c05..d9241c9 100644
--- a/vmdebootstrap/filesystem.py
+++ b/vmdebootstrap/filesystem.py
@@ -171,8 +171,8 @@ class Filesystem(Base):
fstab.write('%s / %s %s 0 1\n' %
(rootdevstr, roottype, self.get_mount_flags(roottype)))
if bootdevstr:
- fstab.write('%s /boot %s %s 0 2\n' %
- (bootdevstr, boottype, self.get_mount_flags(boottype)))
+ fstab.write('%s %s %s %s 0 2\n' %
+ (bootdevstr, self.settings['bootdir'], boottype, self.get_mount_flags(boottype)))
if self.settings['swap'] > 0:
fstab.write("/dev/sda3 swap swap defaults 0 0\n")
elif self.settings['swap'] > 0: