From 2550469d6337b218d2f79941a7d68307aa29a70c Mon Sep 17 00:00:00 2001 From: Marek Paśnikowski Date: Mon, 22 Jul 2024 10:17:27 +0200 Subject: feature: implement the minimal bios system configuration --- machines/portable-bios.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 machines/portable-bios.scm diff --git a/machines/portable-bios.scm b/machines/portable-bios.scm new file mode 100644 index 0000000..3cc9c79 --- /dev/null +++ b/machines/portable-bios.scm @@ -0,0 +1,31 @@ +(define-module (machines portable-bios) + #:use-module (gnu bootloader) ; bootloader-configuration + #:use-module (gnu bootloader grub) ; grub-bootloader + #:use-module (gnu system file-systems) ; file-system + #:use-module (suweren system) ; %suweren-operating-system + ) + +;; bootloader-configuration +(define bootloader-configuration* + (let ((bootloader* grub-bootloader) + (bootloader-targets (list "/dev/sdb")) ; TODO: generalize the target + ) + (bootloader-configuration (bootloader bootloader*) + (targets bootloader-targets)))) + +;; string -> (file-system) +(define (file-systems* host-name*) + (let* ((root-device-string (string-append host-name* "-root")) + + (root-device (file-system-label root-device-string)) + + (file-system-root (file-system (type "ext4") + (mount-point "/") + (device root-device)))) + (list file-system-root))) + +;; string -> record operating-system +(define-public (operating-system* host-name*) + (%suweren-operating-system bootloader-configuration* + host-name* + (file-systems* host-name*))) -- cgit v1.2.3