bootstrap-vz/bootstrapvz/common/tasks/boot.py

53 lines
1.8 KiB
Python
Raw Normal View History

from bootstrapvz.base import Task
from .. import phases
2013-12-01 23:50:32 +01:00
import os.path
from . import assets
Blacklist floppy module to speed up boot by several seconds. Add UpdateInitramfs task which is needed for this to take effect. Enable both tasks for GCE. Console output before ===================== [ 1.877142] sd 0:0:1:0: [sda] Attached SCSI disk [ 1.880163] sd 0:0:1:0: Attached scsi generic sg0 type 0 [ 2.684132] tsc: Refined TSC clocksource calibration: 2500.000 MHz [ 4.824081] floppy0: no floppy controllers found [ 5.103671] work still pending Begin: Loading essential drivers ... done. Begin: Running /scripts/init-premount ... done. Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done. Begin: Running /scripts/local-premount ... done. [ 5.313107] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null) ... [ 7.751955] alg: No test for crc32 (crc32-pclmul) [ 10.728078] floppy0: no floppy controllers found [ 11.006680] work still pending [....] Activating swap... done [ 11.258954] EXT4-fs (sda1): re-mounted. Opts: (null) Console output after ==================== [ 1.829785] sd 0:0:1:0: [sda] Attached SCSI disk [ 1.832806] sd 0:0:1:0: Attached scsi generic sg0 type 0 Begin: Loading essential drivers ... done. Begin: Running /scripts/init-premount ... done. Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done. Begin: Running /scripts/local-premount ... done. [ 1.969862] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null) ... [ 2.878920] alg: No test for crc32 (crc32-pclmul) [....] Activating swap... done [ 2.986642] EXT4-fs (sda1): re-mounted. Opts: (null) Delint. Delint
2015-01-24 08:17:34 +00:00
class UpdateInitramfs(Task):
description = 'Updating initramfs'
phase = phases.system_modification
Blacklist floppy module to speed up boot by several seconds. Add UpdateInitramfs task which is needed for this to take effect. Enable both tasks for GCE. Console output before ===================== [ 1.877142] sd 0:0:1:0: [sda] Attached SCSI disk [ 1.880163] sd 0:0:1:0: Attached scsi generic sg0 type 0 [ 2.684132] tsc: Refined TSC clocksource calibration: 2500.000 MHz [ 4.824081] floppy0: no floppy controllers found [ 5.103671] work still pending Begin: Loading essential drivers ... done. Begin: Running /scripts/init-premount ... done. Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done. Begin: Running /scripts/local-premount ... done. [ 5.313107] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null) ... [ 7.751955] alg: No test for crc32 (crc32-pclmul) [ 10.728078] floppy0: no floppy controllers found [ 11.006680] work still pending [....] Activating swap... done [ 11.258954] EXT4-fs (sda1): re-mounted. Opts: (null) Console output after ==================== [ 1.829785] sd 0:0:1:0: [sda] Attached SCSI disk [ 1.832806] sd 0:0:1:0: Attached scsi generic sg0 type 0 Begin: Loading essential drivers ... done. Begin: Running /scripts/init-premount ... done. Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done. Begin: Running /scripts/local-premount ... done. [ 1.969862] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null) ... [ 2.878920] alg: No test for crc32 (crc32-pclmul) [....] Activating swap... done [ 2.986642] EXT4-fs (sda1): re-mounted. Opts: (null) Delint. Delint
2015-01-24 08:17:34 +00:00
@classmethod
def run(cls, info):
from ..tools import log_check_call
log_check_call(['chroot', info.root, 'update-initramfs', '-u'])
Blacklist floppy module to speed up boot by several seconds. Add UpdateInitramfs task which is needed for this to take effect. Enable both tasks for GCE. Console output before ===================== [ 1.877142] sd 0:0:1:0: [sda] Attached SCSI disk [ 1.880163] sd 0:0:1:0: Attached scsi generic sg0 type 0 [ 2.684132] tsc: Refined TSC clocksource calibration: 2500.000 MHz [ 4.824081] floppy0: no floppy controllers found [ 5.103671] work still pending Begin: Loading essential drivers ... done. Begin: Running /scripts/init-premount ... done. Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done. Begin: Running /scripts/local-premount ... done. [ 5.313107] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null) ... [ 7.751955] alg: No test for crc32 (crc32-pclmul) [ 10.728078] floppy0: no floppy controllers found [ 11.006680] work still pending [....] Activating swap... done [ 11.258954] EXT4-fs (sda1): re-mounted. Opts: (null) Console output after ==================== [ 1.829785] sd 0:0:1:0: [sda] Attached SCSI disk [ 1.832806] sd 0:0:1:0: Attached scsi generic sg0 type 0 Begin: Loading essential drivers ... done. Begin: Running /scripts/init-premount ... done. Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done. Begin: Running /scripts/local-premount ... done. [ 1.969862] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null) ... [ 2.878920] alg: No test for crc32 (crc32-pclmul) [....] Activating swap... done [ 2.986642] EXT4-fs (sda1): re-mounted. Opts: (null) Delint. Delint
2015-01-24 08:17:34 +00:00
class BlackListModules(Task):
description = 'Blacklisting kernel modules'
phase = phases.system_modification
successors = [UpdateInitramfs]
@classmethod
def run(cls, info):
blacklist_path = os.path.join(info.root, 'etc/modprobe.d/blacklist.conf')
with open(blacklist_path, 'a') as blacklist:
blacklist.write(('# disable pc speaker and floppy\n'
'blacklist pcspkr\n'
'blacklist floppy\n'))
class DisableGetTTYs(Task):
description = 'Disabling getty processes'
phase = phases.system_modification
@classmethod
def run(cls, info):
# Forward compatible check for jessie
from bootstrapvz.common.releases import jessie
if info.manifest.release < jessie:
from ..tools import sed_i
inittab_path = os.path.join(info.root, 'etc/inittab')
tty1 = '1:2345:respawn:/sbin/getty 38400 tty1'
sed_i(inittab_path, '^' + tty1, '#' + tty1)
ttyx = ':23:respawn:/sbin/getty 38400 tty'
for i in range(2, 7):
i = str(i)
sed_i(inittab_path, '^' + i + ttyx + i, '#' + i + ttyx + i)
else:
from shutil import copy
logind_asset_path = os.path.join(assets, 'systemd/logind.conf')
logind_destination = os.path.join(info.root, 'etc/systemd/logind.conf')
copy(logind_asset_path, logind_destination)