[Top][All Lists]
[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/
- Some patches,
Adam Lackorzynski <=