main,static,sys

This commit is contained in:
Marc Beninca 2023-11-30 13:34:21 +01:00
parent 5c8fedafd9
commit 29ed9e9f03
9 changed files with 98 additions and 50 deletions

View file

@ -116,7 +116,7 @@ function grub_main {
source "${file}" source "${file}"
done done
unset file unset file
source "${live}/main.sh" source "${live}/menu/main.sh"
fi fi
grub_list_vars grub_list_vars
grub_list_xtra grub_list_xtra

View file

@ -1 +1,6 @@
menuentry 'configfile' { nop } menuentry 'menuentry 1' { nop }
submenu 'submenu' {
menuentry 'subentry 1' { nop }
menuentry 'subentry 2' { nop }
}
menuentry 'menuentry 2' { nop }

View file

@ -1,8 +1,10 @@
env_init env_init
menu_init menu_init
menuentry 'halt' { halt }
menuentry 'reboot' { reboot }
menuentry 'reload' { menu }
menuentry 'exit normal' { normal_exit } menuentry 'exit normal' { normal_exit }
menuentry 'exit grub' { exit } menuentry 'exit grub' { exit }
menu_split
menuentry 'setup firmware' { fwsetup }
menu_split
menuentry 'reboot' { reboot }
menuentry 'halt' { halt }

View file

@ -11,7 +11,4 @@ menuentry '↑ cmd →' { menu 'cmd' }
menu_split menu_split
menuentry 'configfile' { configfile "${live}/configfile.sh" } menuentry 'configfile' { configfile "${live}/configfile.sh" }
menu_split menu_split
menuentry 'bash / stable / tui' { debsquash '/boot/bash/stable/tui' } menuentry 'static →' { menu 'static' }
menuentry 'bash / stable / gui' { debsquash '/boot/bash/stable/gui' }
menuentry 'bash / latest / tui' { debsquash '/boot/bash/latest/tui' }
menuentry 'bash / latest / gui' { debsquash '/boot/bash/latest/gui' }

10
live/menu/static.sh Normal file
View file

@ -0,0 +1,10 @@
env_init
menu_init
default='lg'
menuentry 'bash / stable / tui' --id 'st' { debsquash '/boot/bash/stable/tui' }
menuentry 'bash / stable / gui' --id 'sg' { debsquash '/boot/bash/stable/gui' }
menu_split
menuentry 'bash / latest / tui' --id 'lt' { debsquash '/boot/bash/latest/tui' }
menuentry 'bash / latest / gui' --id 'lg' { debsquash '/boot/bash/latest/gui' }

View file

@ -37,11 +37,12 @@ function env_get {
if [ "${1}" == 'live_from' ] ; then get="${live_from}" ; fi if [ "${1}" == 'live_from' ] ; then get="${live_from}" ; fi
if [ "${1}" == 'pause' ] ; then get="${pause}" ; fi if [ "${1}" == 'pause' ] ; then get="${pause}" ; fi
if [ "${1}" == 'time_out' ] ; then get="${time_out}" ; fi if [ "${1}" == 'time_out' ] ; then get="${time_out}" ; fi
if [ ! "${get}" ] ; then return 1 ; fi if [ ! "${get}" ] ; then false ; fi
} }
function env_init { function env_init {
grub_init grub_init
sys_set
env set env set
env_mod env_mod
env load env load

22
live/source/sys.sh Normal file
View file

@ -0,0 +1,22 @@
function sys_set {
sys_unset
smbios --set sys_manufacturer --type 1 --get-string 4
smbios --set sys_product --type 1 --get-string 5
smbios --set sys_serial --type 1 --get-string 7
smbios --set sys_uuid --type 1 --get-uuid 8
smbios --set sys_cpu --type 4 --get-string 16
smbios --set sys_ram_max --type 16 --get-dword 7
smbios --set sys_ram --type 19 --get-dword 8
smbios --set sys_ram_dev --type 19 --get-byte 14
}
function sys_unset {
unset sys_manufacturer
unset sys_product
unset sys_serial
unset sys_uuid
unset sys_cpu
unset sys_ram_max
unset sys_ram
unset sys_ram_dev
}

View file

@ -39,20 +39,22 @@ Build an ESP File System including:
│ └── nightly.png │ └── nightly.png
├── license.md ├── license.md
├── live ├── live
│ ├── main.sh
│ ├── menu │ ├── menu
│ │ ├── cmd.sh │ │ ├── cmd.sh
│ │ ├── env.sh │ │ ├── env.sh
│ │ ├── gfx.sh │ │ ├── gfx.sh
│ │ ├── main.sh
│ │ ├── pause.sh │ │ ├── pause.sh
│ │ ├── scan.sh │ │ ├── scan.sh
│ │ └── set.sh │ │ ├── set.sh
│ │ └── static.sh
│ └── source │ └── source
│ ├── boot.sh │ ├── boot.sh
│ ├── env.sh │ ├── env.sh
│ ├── menu.sh │ ├── menu.sh
│ ├── probe.sh │ ├── probe.sh
│ ├── scan.sh │ ├── scan.sh
│ ├── sys.sh
│ └── util.sh │ └── util.sh
├── readme ├── readme
│ └── grub.md │ └── grub.md
@ -112,20 +114,22 @@ build.sh pgp_fingerprint /esp/mount/point [/data/mount/point]
│ │ ├── *.lst │ │ ├── *.lst
│ │ └── *.mod │ │ └── *.mod
│ └── lsgm │ └── lsgm
│ ├── main.sh
│ ├── menu │ ├── menu
│ │ ├── cmd.sh │ │ ├── cmd.sh
│ │ ├── env.sh │ │ ├── env.sh
│ │ ├── gfx.sh │ │ ├── gfx.sh
│ │ ├── main.sh
│ │ ├── pause.sh │ │ ├── pause.sh
│ │ ├── scan.sh │ │ ├── scan.sh
│ │ └── set.sh │ │ ├── set.sh
│ │ └── static.sh
│ └── source │ └── source
│ ├── boot.sh │ ├── boot.sh
│ ├── env.sh │ ├── env.sh
│ ├── menu.sh │ ├── menu.sh
│ ├── probe.sh │ ├── probe.sh
│ ├── scan.sh │ ├── scan.sh
│ ├── sys.sh
│ └── util.sh │ └── util.sh
├── efi ├── efi
│ └── boot │ └── boot
@ -211,6 +215,7 @@ bash /media/ssd/esp/bios/setup.sh /dev/sda
* [ ] try -mount-opts * [ ] try -mount-opts
* refactor grub list_{const,vars,xtra} & split * refactor grub list_{const,vars,xtra} & split
* setparams probe_unset & smbios_unset
### Python ### Python

View file

@ -134,51 +134,37 @@
#### allowed #### allowed
* .
* [
* authenticate
* background_color * background_color
* background_image * submenu
* terminal_input
* terminfo
##### unused
* .
* authenticate
* boot * boot
* break * break
* cat * cat
* chainloader
* clear * clear
* configfile
* continue * continue
* cpuid * cpuid
* cryptomount
* distrust * distrust
* dump * dump
* echo
* exit
* export
* extract_entries_configfile * extract_entries_configfile
* extract_entries_source * extract_entries_source
* false
* fwsetup
* gettext * gettext
* halt
* help * help
* initrd
* initrdefi * initrdefi
* insmod * insmod
* keystatus * keystatus
* linux
* linuxefi * linuxefi
* list_env
* list_trusted
* load_env
* loadfont
* loopback
* ls
* lsefi * lsefi
* lsefimmap * lsefimmap
* lsefisystab * lsefisystab
* lsfonts * lsfonts
* lsmod * lsmod
* lssal * lssal
* menuentry
* net_add_addr * net_add_addr
* net_add_dns * net_add_dns
* net_add_route * net_add_route
@ -196,38 +182,58 @@
* net_ls_routes * net_ls_routes
* net_nslookup * net_nslookup
* normal * normal
* normal_exit
* password_pbkdf2 * password_pbkdf2
* play * play
* probe
* reboot
* regexp
* return
* rmmod * rmmod
* save_env
* search
* search.file * search.file
* search.fs_label * search.fs_label
* search.fs_uuid * search.fs_uuid
* serial * serial
* set * set
* test
* zfs-bootfs
* zfsinfo
* zfskey
##### used
* [
* background_image
* chainloader
* configfile
* cryptomount
* echo
* exit
* export
* false
* fwsetup
* halt
* initrd
* linux
* list_env
* list_trusted
* load_env
* loadfont
* loopback
* ls
* menuentry
* normal_exit
* probe
* reboot
* regexp
* return
* save_env
* search
* setparams * setparams
* shift * shift
* sleep * sleep
* smbios * smbios
* source * source
* submenu
* terminal_input
* terminal_output * terminal_output
* terminfo
* test
* true * true
* trust * trust
* unset * unset
* verify_detached * verify_detached
* zfs-bootfs
* zfsinfo
* zfskey
## Variables ## Variables