diff options
Diffstat (limited to 'machines')
-rw-r--r-- | machines/portable-bios.scm | 31 |
1 files changed, 31 insertions, 0 deletions
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*))) |