syscmd("zfs create $pool_name/ROOT") == 0 || die "unable to create zfs $pool_name/ROOT volume\n";
+ syscmd("zfs create $pool_name/ROOT/$root_volume_name") == 0 ||
+ die "unable to create zfs $pool_name/ROOT/$root_volume_name volume\n";
+
if ($iso_env->{product} eq 'pve') {
syscmd("zfs create $pool_name/data") == 0 || die "unable to create zfs $pool_name/data volume\n";
+ syscmd("zfs create -o mountpoint=/$pool_name/ROOT/$root_volume_name/var/lib/vz $pool_name/var-lib-vz") == 0 ||
+ die "unable to create zfs $pool_name/var-lib-vz volume\n";
}
- syscmd("zfs create $pool_name/ROOT/$root_volume_name") == 0 ||
- die "unable to create zfs $pool_name/ROOT/$root_volume_name volume\n";
-
# default to `relatime` on, fast enough for the installer and production
syscmd("zfs set atime=on relatime=on $pool_name") == 0 || die "unable to set zfs properties\n";
$value = $zfs_opts->{copies} // 1;
syscmd("zfs set copies=$value $pool_name") if defined($value) && $value != 1;
+
+ syscmd("zfs set acltype=posix $pool_name/ROOT/$root_volume_name");
}
my $get_raid_devlist = sub {
}
update_progress(0.8, 0.95, 1, "make system bootable");
- my $console_param='';
- if (my $console = Proxmox::Install::Config::get_console()) {
- $console_param="console=$console";
- my $console_snippet = "GRUB_CMDLINE_LINUX=\"\$GRUB_CMDLINE_LINUX $console_param\"";
- file_write_all("$targetdir/etc/default/grub.d/console.cfg", $console_snippet);
+ my $target_cmdline='';
+ if ($target_cmdline = Proxmox::Install::Config::get_target_cmdline()) {
+ my $target_cmdline_snippet = '';
+ if ($target_cmdline =~ /console=ttyS(\d+),(\d+)/) {
+ $target_cmdline_snippet .= "GRUB_TERMINAL_INPUT=\"console serial\"\n";
+ $target_cmdline_snippet .= "GRUB_TERMINAL_OUTPUT=\"gfxterm serial\"\n";
+ $target_cmdline_snippet .= "GRUB_SERIAL_COMMAND=\"serial --unit=$1 --speed=$2\"\n";
+ }
+ $target_cmdline_snippet .= "GRUB_CMDLINE_LINUX=\"\$GRUB_CMDLINE_LINUX $target_cmdline\"";
+ file_write_all("$targetdir/etc/default/grub.d/installer.cfg", $target_cmdline_snippet);
}
if ($use_zfs) {
my $zfs_snippet = "GRUB_CMDLINE_LINUX=\"\$GRUB_CMDLINE_LINUX root=ZFS=$zfs_pool_name/ROOT/$zfs_root_volume_name boot=zfs\"";
file_write_all("$targetdir/etc/default/grub.d/zfs.cfg", $zfs_snippet);
- file_write_all("$targetdir/etc/kernel/cmdline", "root=ZFS=$zfs_pool_name/ROOT/$zfs_root_volume_name boot=zfs $console_param\n");
+ file_write_all("$targetdir/etc/kernel/cmdline", "root=ZFS=$zfs_pool_name/ROOT/$zfs_root_volume_name boot=zfs $target_cmdline\n");
zfs_setup_module_conf($targetdir);
}
syscmd("zfs set mountpoint=/ $zfs_pool_name/ROOT/$zfs_root_volume_name") == 0 ||
die "zfs set mountpoint failed\n";
+ if ($iso_env->{product} eq 'pve') {
+ syscmd("zfs set mountpoint=/var/lib/vz $zfs_pool_name/var-lib-vz") == 0 ||
+ die "zfs set mountpoint for var-lib-vz failed\n";
+ }
+
syscmd("zpool set bootfs=$zfs_pool_name/ROOT/$zfs_root_volume_name $zfs_pool_name") == 0 ||
die "zpool set bootfs failed\n";
syscmd("zpool export $zfs_pool_name");