Not sure what you mean by “doesn’t involve the command line” but I still favor 
passing config to the kernel at boot as kernel parameters, be it specific 
inidvidual configuration options or a complete JSON structure.


Linux does it with bootparam 
http://man7.org/linux/man-pages/man7/bootparam.7.html

tinycore linux for example does this with its “bootcodes” which are the same.

Below is the boot stanza from a grub menu.list file:

title tinycore
root (hd1,0)
kernel /tce/bzImage quiet waitusb=5 tce=UUID="F0BC-3CAF" 
tz=EST,M10.1.0/2,M4.1.0/2 
initrd /tce/tinycore.gz
 
And if NetBSD writes the kernel command line to some location such as 
/proc/cmdline the an application can pass in its own configuration information 
via the same mechanism.

From the tinycore docs:
http://wiki.tinycorelinux.net/wiki:boot_codes_explained
http://wiki.tinycorelinux.net/wiki:boot_options


Tiny Core accepts the following persistence options:

 tinycore tce={hda1|sda1}            Specify Restore TCE apps directory
 tinycore restore={hda1|sda1|floppy} Specify saved configuration location
 tinycore waitusb=X                  Wait X seconds for slow USB devices
 tinycore swapfile{=hda1}            Scan or Specify swapfile
 tinycore home={hda1|sda1}           Specify persistent home directory
 tinycore opt={hda1|sda1}            Specify persistent opt directory
 tinycore local={hda1|sda1}          Specify PPI directory or loopback file
 tinycore lst=yyy.lst                Load alternate static yyy.lst on boot
 tinycore base                       Skip TCE load only the base system
 tinycore norestore                  Turn off the automatic restore
 tinycore safebackup                 Saves a backup copy (mydatabk.tgz)
 tinycore showapps                   Display application names when booting

      F3 boot time options:

Tiny Core accepts the following additional boot time options:

 Color            640x480     800x600      1024x768     1280x1024
   256    8 bit     769         771           773          775
 32000   15 bit     784         787           790          793
 65000   16 bit     785         788           791          794
 16.7M   24 bit     786         789           792          795

 tinycore vga=7xx                    7xx from table above
 tinycore xsetup                     Prompt user for Xvesa setup
 tinycore lang=en                    C only unless getlocale.tcz is installed
 tinycore kmap=us                    US only unless kmaps.tcz is installed
 tinycore text                       Textmode
 tinycore superuser                  Textmode as user root
 tinycore noicons                    Do not use icons
 tinycore noswap                     Do not use swap partition
 tinycore nodhcp                     Skip the dhcp request at boot
 tinycore noutc                      BIOS is using localtime
 tinycore pause                      Pause at completion of boot messages

      F4 boot time options:

Tiny Core accepts the following additional boot time options:

 tinycore {cron|syslog}              Start various daemons at boot
 tinycore host=xxxx                  Set hostname to xxxx
 tinycore secure                     Set password
 tinycore protect                    Password Encrypted Backup
 tinycore noautologin                Skip automatic login
 tinycore tz=GMT+8                   Timezone tz=PST+8PDT,M3.2.0/2,M11.1.0/2
 tinycore settime                    Set UTC time at boot, internet required
 tinycore user=abc                   Specify alternate user
 tinycore desktop=yyy                Specify alternate window manager
 tinycore laptop                     Force load laptop related modules
 tinycore embed                      Stay on initramfs
 tinycore nozswap                    Skip compressed swap in ram
 tinycore xvesa=800x600x32           Set Xvesa default screen resolution
 tinycore bkg=image.{jpg|png|gif}    Set background from /opt/backgrounds
 tinycore blacklist=ssb              Blacklist a single module
 tinycore multivt                    Allows for multiple virtual terminals
 tinycore iso={hda1|sda1}            Specify device to search and boot an iso 
file



Reply via email to