bug-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Some patches


From: Adam Lackorzynski
Subject: Some patches
Date: Tue, 6 May 2003 23:10:05 +0200
User-agent: Mutt/1.4.1i

Hi,

I have added some features to grub which I find useful for me, maybe
others find it useful as well. The patch is based on the modified
version from the os.inf.tu-dresden.de CVS repository. As there's no
documentation of the features I'll give a short (unsorted) overview:

 - Do bootp automatically on first occurence of a "(nd)" path
 - Always tick while downloading files
 - Added some PCI ID for network cards
 - Some network driver fixed (esp. compiler warnings)
 - ntulip and pcnet32 drivers
 - gcc-3.2 compiling fix (term stuff)
 - "Press any key to continue" for long VBE lists
 - vbeset command
 - set command for variable support (see below)
 - echo/print commands to print variables
 - toggle command (see below)
 - modaddr command
 - add shortcut shift-M to jump to (compile-time) configurable master
   config file
 - menu history (use left key to go to the previous menu)
 - search function for menu titles (with the /, ?, n and N keys)
 - print number of current menu entry in the right upper corner of the
   menu
 - display current search string in the right bottom corner of the menu
 - menu entry shortcuts with 0 - 9 keys
 - add j, k, h and l for up, down, back and forward
 - r to reload menu
 - maybe others I forgot...

 - Included ISO9660 patch by Leonid Lisovskiy submitted to the mailing
   list earlier


Variables

 Variables can be defined with make-like syntax.

  set FOO =  value
  set BAR := "another $(FOO)"
 
 := will be evaluated, = will not be evaluated wrt variables

 The print or echo commands can be used to print strings with
 variables

  echo The value of BAR is "$(BAR)"

 will print
  
  The value of BAR is "another value"

 Variables can be used in menu titles or kernel/module/etc.
 specifications.

  PATH := (nd)/tftpboot/joe
  KERNELSTABLE := $(PATH)/kernel
  KERNELDEVEL  := $(PATH)/devel/kernel
  KERNEL   := $(KERNELSTABLE)
  KERNOPTS := "-this -and -that"

  title blah
  kernel $(KERNEL) $(OTPS) -specialopt
  module $(PATH)/module1 -opts
  module $(PATH)/module2 -otheropts
  module $(PATH)/module3


Toggles
 
 There are three subcommands of toggles:

  - set
  - select
  - trigger
 
 set

  toggle set K {var1=val1,var2=val2,...} {var1=val3,var2=val4,...} {...}

  This defines a toggle which switches the values of var1 and var2 to
  val3/val4 or val1/val2 on a shift-k keypress.

  So, e.g. to switch between different kernel versions:

  toggle set K {KERNEL=$(KERELSTABLE)} {KERNEL=$(KERNELDEVEL)}

  All variables affected by toggles are display beneath the menu.

 select

  toggle select k=x l=y

  k and l are toggle keys and x and y are the number of blocks of the
  specified toggle, counting starts with 0.

  So, to select the development kernel from above via a menu entry or
  similar:

  toggle select K=1

 trigger

  toggle trigger TT_val==1 ...

  Evaluate the following "..." toggle commands if the toggle-trigger
  value is set. Currently, there's only one value implemented which
  checks if grub runs under VMware (useful because VBE modes and other
  things differ).



As there's only an all-in-one patch, I'd gladly extract any specific
patch from the big one if there's interest.



Patch location:

  http://os.inf.tu-dresden.de/~adam/grub/0.93/grub-0.93-os-9.diff.gz

Patch is against version 0.93.



Comments welcome.



Adam
-- 
Adam                 address@hidden
  Lackorzynski         http://os.inf.tu-dresden.de/~adam/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]