Round 323: Grub ext, Efibootmgr ext, Mokutil ext, Sbsign ext, Fwupd ext (20 commands)
ober
91a8f2935fc63007e0edb7cd85460d002990f50a
--- a/docs/jemacs-vs-emacs.md +++ b/docs/jemacs-vs-emacs.md @@ -4583,6 +4583,31 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features | ebib-import-file | :orange_circle: | Import file into Ebib | | ebib-push-citation | :orange_circle: | Push Ebib citation to buffer | +### Round 323 — Grub ext, Efibootmgr ext, Mokutil ext, Sbsign ext, Fwupd ext + +| Feature | Status | Notes | +|---------|--------|-------| +| `grub-install` | :orange_circle: | Install GRUB bootloader | +| `grub-mkconfig` | :orange_circle: | Generate GRUB config | +| `grub-editenv` | :orange_circle: | Edit GRUB environment | +| `grub-probe` | :orange_circle: | Probe device info | +| `efibootmgr-list` | :orange_circle: | List EFI boot entries | +| `efibootmgr-create` | :orange_circle: | Create EFI boot entry | +| `efibootmgr-delete` | :orange_circle: | Delete EFI boot entry | +| `efibootmgr-order` | :orange_circle: | Set EFI boot order | +| `mokutil-list` | :orange_circle: | List MOK keys | +| `mokutil-import` | :orange_circle: | Import MOK key | +| `mokutil-enroll` | :orange_circle: | Enroll MOK key | +| `mokutil-status` | :orange_circle: | Show Secure Boot status | +| `sbsign-sign` | :orange_circle: | Sign binary | +| `sbsign-verify` | :orange_circle: | Verify signature | +| `sbsign-hash` | :orange_circle: | Hash binary | +| `sbsign-remove` | :orange_circle: | Remove signature | +| `fwupd-list` | :orange_circle: | List firmware devices | +| `fwupd-update` | :orange_circle: | Update firmware | +| `fwupd-history` | :orange_circle: | Show update history | +| `fwupd-security` | :orange_circle: | Show security attributes | + ### Round 322 — Sysctl ext, Procfs ext, Sysfs ext, Devtmpfs ext, Udevadm ext | Feature | Status | Notes | --- a/src/jerboa-emacs/editor-extra-final.ss +++ b/src/jerboa-emacs/editor-extra-final.ss @@ -24159,4 +24159,58 @@ (def (cmd-udevadm-monitor app) (let* ((echo (app-state-echo app))) - (echo-message! echo "Udevadm: monitoring events"))) \ No newline at end of file + (echo-message! echo "Udevadm: monitoring events"))) + +;;; Round 323 — Mokutil ext, Sbsign ext, Fwupd ext (batch 2) + +(def (cmd-mokutil-enroll app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Key to enroll: " + (lambda (key) + (echo-message! echo (str "MOK: enrolling " key)))))) + +(def (cmd-mokutil-status app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "MOK: showing Secure Boot status"))) + +(def (cmd-sbsign-sign app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Binary to sign: " + (lambda (bin) + (echo-message! echo (str "Sbsign: signing " bin)))))) + +(def (cmd-sbsign-verify app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Binary to verify: " + (lambda (bin) + (echo-message! echo (str "Sbsign: verifying " bin)))))) + +(def (cmd-sbsign-hash app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Binary: " + (lambda (bin) + (echo-message! echo (str "Sbsign: hashing " bin)))))) + +(def (cmd-sbsign-remove app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Binary to remove signature: " + (lambda (bin) + (echo-message! echo (str "Sbsign: removing signature from " bin)))))) + +(def (cmd-fwupd-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Fwupd: listing devices"))) + +(def (cmd-fwupd-update app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Device: " + (lambda (dev) + (echo-message! echo (str "Fwupd: updating firmware on " dev)))))) + +(def (cmd-fwupd-history app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Fwupd: showing update history"))) + +(def (cmd-fwupd-security app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "Fwupd: showing security attributes"))) \ No newline at end of file --- a/src/jerboa-emacs/editor-extra-modes.ss +++ b/src/jerboa-emacs/editor-extra-modes.ss @@ -24852,3 +24852,59 @@ (lambda (attr) (echo-message! echo (str "Sysfs: searching for " attr)))))) +;;; Round 323 — Grub ext, Efibootmgr ext, Mokutil ext, Sbsign ext, Fwupd ext (batch 1) + +(def (cmd-grub-install app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Target device: " + (lambda (dev) + (echo-message! echo (str "GRUB: installing to " dev)))))) + +(def (cmd-grub-mkconfig app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "GRUB: generating configuration"))) + +(def (cmd-grub-editenv app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Variable=value: " + (lambda (var) + (echo-message! echo (str "GRUB: setting env " var)))))) + +(def (cmd-grub-probe app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Device/path: " + (lambda (dev) + (echo-message! echo (str "GRUB: probing " dev)))))) + +(def (cmd-efibootmgr-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "EFI: listing boot entries"))) + +(def (cmd-efibootmgr-create app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Label and loader: " + (lambda (spec) + (echo-message! echo (str "EFI: creating entry " spec)))))) + +(def (cmd-efibootmgr-delete app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Boot number: " + (lambda (num) + (echo-message! echo (str "EFI: deleting entry " num)))))) + +(def (cmd-efibootmgr-order app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Boot order: " + (lambda (order) + (echo-message! echo (str "EFI: setting boot order " order)))))) + +(def (cmd-mokutil-list app) + (let* ((echo (app-state-echo app))) + (echo-message! echo "MOK: listing enrolled keys"))) + +(def (cmd-mokutil-import app) + (let* ((echo (app-state-echo app))) + (echo-read-string echo "Key file: " + (lambda (key) + (echo-message! echo (str "MOK: importing " key)))))) + --- a/src/jerboa-emacs/editor-extra-regs2.ss +++ b/src/jerboa-emacs/editor-extra-regs2.ss @@ -8200,4 +8200,25 @@ (register-command! 'udevadm-trigger cmd-udevadm-trigger) (register-command! 'udevadm-settle cmd-udevadm-settle) (register-command! 'udevadm-monitor cmd-udevadm-monitor) + ;; Round 323 + (register-command! 'grub-install cmd-grub-install) + (register-command! 'grub-mkconfig cmd-grub-mkconfig) + (register-command! 'grub-editenv cmd-grub-editenv) + (register-command! 'grub-probe cmd-grub-probe) + (register-command! 'efibootmgr-list cmd-efibootmgr-list) + (register-command! 'efibootmgr-create cmd-efibootmgr-create) + (register-command! 'efibootmgr-delete cmd-efibootmgr-delete) + (register-command! 'efibootmgr-order cmd-efibootmgr-order) + (register-command! 'mokutil-list cmd-mokutil-list) + (register-command! 'mokutil-import cmd-mokutil-import) + (register-command! 'mokutil-enroll cmd-mokutil-enroll) + (register-command! 'mokutil-status cmd-mokutil-status) + (register-command! 'sbsign-sign cmd-sbsign-sign) + (register-command! 'sbsign-verify cmd-sbsign-verify) + (register-command! 'sbsign-hash cmd-sbsign-hash) + (register-command! 'sbsign-remove cmd-sbsign-remove) + (register-command! 'fwupd-list cmd-fwupd-list) + (register-command! 'fwupd-update cmd-fwupd-update) + (register-command! 'fwupd-history cmd-fwupd-history) + (register-command! 'fwupd-security cmd-fwupd-security) )