Enable Fruix FreeBSD guest SSH boot on XCP-ng
This commit is contained in:
@@ -5,11 +5,12 @@ project_root=${PROJECT_ROOT:-$(pwd)}
|
||||
guix_source_dir=${GUIX_SOURCE_DIR:-"$HOME/repos/guix"}
|
||||
script_dir=$(CDPATH= cd -- "$(dirname "$0")" && pwd)
|
||||
runner_scm=$script_dir/materialize-phase8-system-image.scm
|
||||
os_file=$script_dir/phase7-minimal-operating-system.scm
|
||||
os_file=${OS_FILE:-$script_dir/phase7-minimal-operating-system.scm}
|
||||
guile_bin=${GUILE_BIN:-/tmp/guile-freebsd-validate-install/bin/guile}
|
||||
guile_extra_prefix=${GUILE_EXTRA_PREFIX:-/tmp/guile-gnutls-freebsd-validate-install}
|
||||
shepherd_prefix=${SHEPHERD_PREFIX:-/tmp/shepherd-freebsd-validate-install}
|
||||
store_dir=${STORE_DIR:-/frx/store}
|
||||
disk_capacity=${DISK_CAPACITY:-}
|
||||
metadata_target=${METADATA_OUT:-}
|
||||
|
||||
if [ ! -x "$guile_bin" ]; then
|
||||
@@ -84,6 +85,7 @@ sudo env \
|
||||
WORKDIR="$workdir" \
|
||||
OS_FILE="$os_file" \
|
||||
STORE_DIR="$store_dir" \
|
||||
DISK_CAPACITY="$disk_capacity" \
|
||||
GUILE_PREFIX="$guile_prefix" \
|
||||
GUILE_EXTRA_PREFIX="$guile_extra_prefix" \
|
||||
SHEPHERD_PREFIX="$shepherd_prefix" \
|
||||
@@ -95,6 +97,7 @@ disk_image=$(sed -n 's/^disk_image=//p' "$build_metadata")
|
||||
closure_path=$(sed -n 's/^closure_path=//p' "$build_metadata")
|
||||
raw_sha256=$(sed -n 's/^raw_sha256=//p' "$build_metadata")
|
||||
image_size_bytes=$(sed -n 's/^image_size_bytes=//p' "$build_metadata")
|
||||
disk_capacity_reported=$(sed -n 's/^disk_capacity=//p' "$build_metadata")
|
||||
store_item_count=$(sed -n 's/^store_item_count=//p' "$build_metadata")
|
||||
closure_base=$(basename "$closure_path")
|
||||
|
||||
@@ -131,7 +134,7 @@ rc_script_target=$(readlink "$mnt_root/usr/local/etc/rc.d/fruix-shepherd")
|
||||
[ "$rc_script_target" = /run/current-system/usr/local/etc/rc.d/fruix-shepherd ] || { echo "unexpected fruix_shepherd rc target: $rc_script_target" >&2; exit 1; }
|
||||
loader_conf_image=$mnt_root/frx/store/$closure_base/boot/loader.conf
|
||||
rc_conf_image=$mnt_root/frx/store/$closure_base/etc/rc.conf
|
||||
grep -F 'console="comconsole"' "$loader_conf_image" >/dev/null || { echo "loader.conf is missing serial console config" >&2; exit 1; }
|
||||
grep -F 'comconsole' "$loader_conf_image" >/dev/null || { echo "loader.conf is missing serial console config" >&2; exit 1; }
|
||||
grep -F 'hostname="fruix-freebsd"' "$rc_conf_image" >/dev/null || { echo "rc.conf is missing hostname" >&2; exit 1; }
|
||||
|
||||
cat >"$metadata_file" <<EOF
|
||||
@@ -144,6 +147,7 @@ closure_path=$closure_path
|
||||
closure_base=$closure_base
|
||||
raw_sha256=$raw_sha256
|
||||
image_size_bytes=$image_size_bytes
|
||||
disk_capacity=$disk_capacity_reported
|
||||
store_item_count=$store_item_count
|
||||
gpart_log=$gpart_log
|
||||
esp_fstype=$esp_fstype
|
||||
|
||||
Reference in New Issue
Block a user