I send my sample dhcpd.conf with pre-boot menu configuration.

* Read through the dhcpcd.conf file and change things as needed
* For kernel to be able pick up 2 other root-paths for HDD backup-restoration system I built two diferent custom kernels with initrd kit. I also modified one script in initrd kit to let compiled kernel to pick 2nd or 3rd root-path from dhcpd.conf at boot time. I'm sure there is an better way to supply different root-paths to kernel at boot time I just haven't had enough time to dig into it so I made ugly quick-hack that worked for me.
* Protect some menu entries with md5 passwords or clear the fields for no passwords operation

I will write howto for partimage-ltsp hdd backup-restore system probably next week and I'll post it then.

Dos network boot is done with the great modular dos network bootdisk from Bart!

See http://www.nu2.nu/bootdisk/network/

I made an floppy with Bart's stuff and configured it as needed. Then made image (dosnet.eb) out that floppy with dd and put it to /tftpboot/dos/dosnet.eb. Dhcpd.conf is containing an entry to load dosnet.eb image at boot if needed.


oscar wrote:
Hi,
I?m also very interested in that.
Thanks

Oscar

-----Mensaje original-----
De: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]]En nombre de Andres
Toomsalu
Enviado el: martes, 28 de enero de 2003 17:24
Para: [EMAIL PROTECTED]
CC: [EMAIL PROTECTED]
Asunto: Re: [Ltsp-discuss] Multiboot LTSP Win98


I have done something similar what you describe...
It consists of bit advanced dhcpd.conf file which presents an boot menu
at terminal boot time - choices are:
1) Linux terminal
2) First HDD partition (usually windoze installed there)
3) HDD image restore from server
4) HDD image backup to server
5) Automated windoze install (dos network boot with dhcp, domain logon,
mounting install share, totally automatic win98se install, applications
automatic installs, etc)
6) floppy boot

All menu entries can be md5 password protected. HDD image restore/backup
is done with partimage (www.partimage.org). If you want to know exactly
how it was done in details - then let me know. Ill then try to write it
down in details...it might take coupple days to find a spare time and
write an howto. But I gotta do it someday anyway...:O)


# Sample configuration file for ISCD dhcpd
# with boot menu

ddns-update-style             ad-hoc;
default-lease-time            21600;
max-lease-time                21600;

option subnet-mask            255.255.255.0;
option broadcast-address      192.168.0.255;
option routers                192.168.0.1;
option domain-name-servers    192.168.0.1;
option domain-name            "yourdomain.xxx";
###############################################################################################
# Below is a bit unusual parameter -
# I extended it with 2 other ltsp root-paths for my hdd backup-restore system
# separated by colon... original ltsp kernel reads just 1st root-path
###############################################################################################
option root-path              
"192.168.0.1:/opt/ltsp/i386:/opt/restore/i386:/opt/backup/i386";
###############################################################################################
option log-servers            192.168.0.1;
next-server                   192.168.0.1;

option ebootmagic code 128 = string;
option cmdline    code 129 = text;

option nodetype   code 131 = string;

option menudflts  code 160 = string;

option motdline1  code 184 = string;
option motdline2  code 185 = string;
option motdline3  code 186 = string;
option motdline4  code 187 = string;
option motdline5  code 188 = string;
option motdline6  code 189 = string;
option motdline7  code 190 = string;
option motdline8  code 191 = string;

option menuline1  code 192 = string;
option menuline2  code 193 = string;
option menuline3  code 194 = string;
option menuline4  code 195 = string;
option menuline5  code 196 = string;
option menuline6  code 197 = string;
option menuline7  code 198 = string;
option menuline8  code 199 = string;
option menuline9  code 200 = string;
option menuline10  code 201 = string;
option menuline11  code 202 = string;
option menuline12  code 203 = string;
option menuline13  code 204 = string;
option menuline14  code 205 = string;
option menuline15  code 206 = string;
option menuline16  code 207 = string;

option space PXE;
option PXE.mtftp-ip     code 1 = ip-address;
option PXE.mtftp-cport  code 2 = unsigned integer 16;
option PXE.mtftp-sport  code 3 = unsigned integer 16;
option PXE.mtftp-tmout  code 4 = unsigned integer 8;
option PXE.mtftp-delay  code 5 = unsigned integer 8;

class "pxeclients" {
                match if substring (option vendor-class-identifier, 0, 9) = 
"PXEClient";
                option vendor-class-identifier "PXEClient";
                option PXE.mtftp-ip 0.0.0.0;
                vendor-option-space PXE;
                #SETTING DEFAULT BOOTROM FOR PXE CARDS
                filename "pxe/eb-5.0.5-rtl8139.lzpxe";
        }

class "Etherboot" {
                match if substring (option vendor-class-identifier, 0, 9) = 
"Etherboot";

                option ebootmagic       = E4:45:74:68:00:00;
                option vendor-encapsulated-options 3c:09:45:74:68:65:72:62:6f:6f:74:ff;

                filename                = "lts/vmlinuz-2.4.19-ltsp-1"

                option menudflts        = "timeout=3600:default=191";

                option motdline1        = 
"+--------------------------------------------------------------------------+";
                option motdline2        = "|* NEX DATA SYSTEMS * Powered by LINUX 
TERMINAL SERVER * WWW.NEX.EE <<<<<<<|";
                option motdline3        = 
"|--------------------------------------------------------------------------|";
                option motdline4        = "|* Choose 1) Linux Terminal 
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<|";
                option motdline5        = 
"|--------------------------------------------------------------------------|";
                option motdline6        = "|* 
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<|";
                option motdline7        = "|* 
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<|";
                option motdline8        = 
"+--------------------------------------------------------------------------+";

                
#########################################################################################################
                # GENERATE MD5 PASSWORD STRINGS AND PUT THEM WHERE NEEDED OR CLEAR 
THIS FIELD IF NO NEED FOR PASSWORD ###
                
#########################################################################################################

                option menuline1        = 
"LINUX___TERMINAL:::lts/vmlinuz-2.4.19-ltsp-1:::";
                option menuline2        = 
"WINDOWS_DESKTOP:::/dev/hda:putmd5passwdhereifneeded::";
                option menuline3        = 
"WINDOWS_RESTORE:::lts/vmlinuz-2.4.9-tpulai-restore:putmd5passwdhereifneeded::";
                option menuline4        = 
"WINDOWS_BACKUP:::lts/vmlinuz-2.4.9-tpulai-backup:putmd5passwdhereifneeded::";
                option menuline5        = 
"WINDOWS_INSTALL:::dos/dosnet.eb:putmd5passwdhereifneeded::";
                option menuline6        = 
"FLOPPY__BOOT:::/dev/fd0:putmd5passwdhereifneeded::";
}

shared-network WORKSTATIONS {
    subnet 192.168.0.1 netmask 255.255.255.0 {
        range 192.168.0.100 192.168.0.150;
    }
}

group   {
    use-host-decl-names       on;

    #HOST WITH ANOTHER PXE ETHERNET CARD THAN DEFAULT PXE BOOTROM ABOVE - CHANGE 
FILENAME PARAMETER
    host ws001 {
        hardware ethernet       00:00:00:00:00:00;
        fixed-address           192.168.0.101;
        filename                "pxe/eb-5.0.5-eepro100.lzpxe";
    }
    #NORMAL ETHERBOOT HOST
    host ws002 {
        hardware ethernet       00:00:00:00:00:00;
        fixed-address           192.168.0.102;
    }

}





Reply via email to