This is a step-by-step guide on implementing PXE based OS deployment.
All that’s needed is a basic OS. No fancy packages like X-windows and the like, just the basics will do. Additional packages which are required are:
Create the file /etc/tftpd.rules:
rg \\ / # Convert backslashes to slashes
If you’re lazy (like me), do the windows renaming stuff directly in this file, instead of manually renaming files:
rg \\ / # Convert double backslashes to slash rg // / # Convert double slashes to single slash ### Windows XP Installation specific mappings r kdcom.dl_ KDCOM.DL_ r kdcom.dll KDCOM.DLL r bootvid.dl_ BOOTVID.dl_ r bootvid.dll BOOTVID.dll r setupreg.hiv SETUPREG.HIV r spddlang.sy_ SPDDLANG.SY_ r spddlang.sys SPDDLANG.SYS r wmilib.sy_ WMILIB.SY_ r wmilib.sys WMILIB.SYS r 1394bus.sy_ 1394BUS.SY_ r 1394bus.sys 1394BUS.SYS r pciidex.sy_ PCIIDEX.SY_ r pciidex.sys PCIIDEX.SYS r usbport.sy_ USBPORT.SY_ r usbport.sys USBPORT.SYS r usbd.sy_ USBD.SY_ r usbd.sys USBD.SYS r hidclass.sy_ HIDCLASS.SY_ r hidclass.sys HIDCLASS.SYS r hidparse.sy_ HIDPARSE.SY_ r hidparse.sys HIDPARSE.SYS r scsiport.sy_ SCSIPORT.SY_ r scsiport.sys SCSIPORT.SYS r classpnp.sy_ CLASSPNP.SY_ r classpnp.sys CLASSPNP.SYS r tdi.sy_ TDI.SY_ r tdi.sys TDI.SYS r halaacpi.dl_ HALAACPI.DL_ r halaacpi.dll HALAACPI.DLL r pciide.sy_ PCIIDE.SY_ r pciide.sys PCIIDE.SYS r rtl8139.sy_ RTL8139.SY_ r rtl8139.sys RTL8139.SYS r intelide.sy_ INTELIDE.SY_ r intelide.sys INTELIDE.SYS r viaide.sy_ VIAIDE.SY_ r viaide.sys VIAIDE.SYS r cmdide.sy_ CMDIDE.SY_ r cmdide.sys CMDIDE.SYS ## Directories r iaStor iastor r Fasttx2k fasttx2k r S150sx8 s150sx8 r QL2300 ql2300 r Si3112 si3112 r SiSRaid sisraid
Windows deployment requires a Samba share, so modify /etc/samba/smb.conf
Add:
null passwords = true
The hosts allow parameter must contain the network segments that are used for OS deployment:
Hosts allow = 192.168.1. 127.
Finally, at the end of the file, we need to create and configure the deployment share:
[REMINST]
path = /tftpboot
browsable = true
read only = No
guest ok = Yes
DHCP is used for dynamic (IP) configuration.
A sample configuration /etc/dhcpd.conf:
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
#
ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
authorative;
allow booting;
allow bootp;
subnet 192.168.1.0 netmask 255.255.255.0
{
range dynamic-bootp 192.168.1.100 192.168.1.199;
filename "pxelinux.0";
next-server 192.168.1.10;
option root-path "192.168.1.10:/export/FreeBSD/bootdirs/6.2-standard";
# This should point to a directory that contains a FreeBSD boot dir
# This option is not used by Linux or WIndows
}
NFS wordt gebruikt door Linux en FreeBSD om hun distributie op te halen.
Maak de directory /export aan die vervolgens via NFS gedeeld wordt.
mkdir /export
Voeg aan /etc/exports de regel toe:
/export *(ro,no_root_squash)
(her)start nfs:
/etc/init.d/nfs restart
Om dhcpd vortaan bij het booten voortaan standard op te starten:
chkconfig nfs on
pxelinux wordt gebruikt om het initiele PXE proces af te handelen.
pxelinux.0 is het bestand dat door DHCP wordt doorgegeven. Kopieer het naar de /tftpboot directory:
cp /usr/lib/syslinux/pxelinux.0 /tftpboot/
Door pxelinux.0 gaat de client op zoek naar bestanden in de pxelinux.cfg directory en zal als het op basis van IP adres geen geschikt bestand vind als laatste “default’ proberen.
mkdir /tftpboot/pxelinux.cfg
Maak het bestand /tftpboot/pxelinux.cfg/default aan met de inhoud:
TIMEOUT 0 PROMPT 1
Copy the contents of the Windows Installation medium to /tftpboot/ris (only i386 is required).
Copy the python files fixup-repository.sh and winnt-ris.sif from the archive http://oss.netfarm.it/guides/ris-linux-0.3.tar.gz to /tftboot
Modify fixup-repository.sh to point to the correct installation directory
REP=/tftpboot/ris
Run the script
./fixup-repository.sh
The Windows installation process requires several system and driver files in the base directory:
cd /tftpboot/ris/i386
cp –u inf/* .
cp –u system32/* .
cp –u system32/drivers/* .
Decompress boot files from the windows installation medium and copy them to the /tftpboot directory:
expand startrom.n1_ startrom.o copy startrom.o /tftpboot/startrom.0 expand NTOSKRNL.EX_ ntoskrnl.exe copy ntoskrnl.exe /tftpboot/ris/i386/ntoskrnl.exe
Several other files are needed during the pre-install phase:
cd /tftpboot
cp ris/i386/setupldr.bin ./NTLDR
cp ris/i386/ntdetect.com .
./fixloader.py NTLDR
Rename the winnt-ris.sif file located in /tftpboot to winnt.sif:
cd /tftpboot mv winnt-ris.sif winnt.sif
And modify it:
[data] floppyless = "1" msdosinitiated = "1" ; Needed for second stage OriSrc = "\\192.168.1.1\REMINST\ris\i386" OriTyp = "4" LocalSourceOnCD = 1 DisableAdminAccountOnDomainJoin = 1 [SetupData] OsLoadOptions = "/fastdetect" ; Needed for first stage SetupSourceDevice = "\Device\LanmanRedirector\192.168.1.10\REMINST\ris" [UserData] ComputerName = * ProductID=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
In order to provide the drivers to windows setup by the python script binlsrv.py:
cd /tftpboot
./infparser.py /tftpboot/ris/i386/inf
In order to completely fix the repository (which was not completely done by the fixuprepository.sh):
cd /tftpboot/ris ### tftp process mv i386/BIOSINFO.INF i386/biosinfo.inf ;# Source = tftp mv i386/DRVMAIN.SDB i386/drvmain.sdb ;# Source = tftp mv i386/HALAACPI.DL_ i386/halaacpi.dl_ ;# Source = tftp mv i386/NTOSKRNL.EX_ i386/ntoskrnl.ex_ ;# Source = tftp mv i386/BOOTVID.DL_ i386/BOOTVID.dl_ mv i386/VGA850.FO_ i386/vga850.fon mv i386/C_1252.NL_ i386/c_1252.nl_ mv i386/C_850.NL_ i386/c_850.nl_ mv i386/SETUPDD.SY_ i386/setupdd.sy_ mv i386/PCI.SY_ i386/pci.sy_ mv i386/ACPI.SY_ i386/acpi.sy_ mv i386/ISAPNP.SY_ i386/isapnp.sy_ mv i386/ACPIEC.SY_ i386/acpiec.sy_ mv i386/OHCI1394.SY_ i386/ohci1394.sy_ mv PCMCIA.SY_ pcmcia.sy_ mv i386/videoprt.sys i386/VIDEOPRT.SYS ;# Source = tftp mv i386/TXTSETUP.SIF i386/txtsetup.sif ;# Source = tftp mv i386/VGAOEM.FO_ i386/vgaoem.fo_ ;# Source = tftp mv i386/L_INTL.NL_ i386/l_intl.nl_ ;# Source = tftp mv i386/MRXSMB.SY_ i386/mrxsmb.sy_ ;# Source = tftp mv i386/rtl8139.sys i386/RTL8139.SYS ;# Source = tftp
Another file is needed from a working windows installation:
copy windows\repair\system /tftpboot/ris/i386/system32/config/SYSTEM
And a few final hacks:
cd /tftpboot/ris touch i386/SYSTEM32/CONFIG/SYSTEM.LOG chmod 777 i386/SYSTEM32/CONFIG/*
Om de Windows installatie te kunnen booten met PXE moet een entry worden toegevoegd aan /tftpboot/pxelinux.cfg/default: label w2k3
kernel startrom.0
Voor een Windows deploy plaats kan vinden moet het binlsrc programma draaien: # cd /tftpboot tftpboot] # ./binlsrv.py
Bij het booten van de te deployen machine moet voor windows “w2k3” als boot optie worden gekozen.
http://www.promodus.net/linuxris
http://www.aerospacesoftware.com/ris-howto.html
http://www.vmware.com/community/thread.jspa?threadID=43958&start=120&tstart=0
TechNet Resources
http://support.microsoft.com/kb/289125
STOP:0X0000006B Process1_initialization_failed error message
http://www.microsoft.com/globaldev/reference/winxp/xp-lcid.mspx
http://www.microsoft.com/globaldev/reference/win2k/setup/localsupport.mspx
http://www.microsoft.com/globaldev/reference/win2k/setup/concepts.mspx
Red Hat EL 5 kan gedeployed worden met behulp van de installatie CD ISOs op een NFS share.
Maar de directories aan:
cd /export/RedHat cd /export/RedHat/RHEL5
Kopieer de eerste drie installatie ISO’s naar /export/RedHat/RHEL5 en noem ze disk1.iso, disk2.iso en disk3.iso.
Kopieer de bestanden initrd.img en vmlinuz van de eerste Red Hat installatie CD naar /tftpboot/ en noem ze RHEL5rd.img en vmRHEL5.
Maak een kickstart file /export/Redhat/RHEL5-ks.cfg aan met de inhoud:
install nfs --server=192.168.1.10 --dir=/export/RedHat/RHEL5 lang en_US.UTF-8 keyboard us network --device eth0 --bootproto=dhcp rootpw --iscrypted $1$VILCZyG5$A6Yz.a.M86yrYDFxngchE0 firewall --disabled authconfig --enableshadow --enablemd5 selinux --disabled timezone --utc Europe/Amsterdam bootloader --location=mbr --driveorder=sda # The following is the partition information you requested # Note that any partitions you deleted are not expressed # here so unless you clear all partitions first, this is # not guaranteed to work clearpart --all part / --fstype ext3 --size=100 --grow part /var --fstype ext3 --size=10240 part swap --size=2048 %packages @base @core
Voeg aan /tftpboot/pxelinux.cfg/default toe:
label RHEL5 kernel vmRHEL5 append initrd=RHEL5rd.img ramdisk_size=8192 \ ks=nfs:192.168.1.10:/export/RedHat/RHEL5
FreeBSD maakt gebruik van twee NFS shares voor de boot files en distributie files, en de extra option root-path in dhcpd.conf. Voor de installatie is disc1 van FreeBSD6.2 nodig.
De NFS directory structuur:
mkdir /export/FreeBSD mkdir /export/FreeBSD/releases mkdir /export/FreeBSD/bootdirs mkdir /export/FreeBSD/bootdirs/6.2-standard
Kopieer de 6.2-RELEASE directory van de CD naar /export/FreeBSD/releases/6.2-RELEASE.
Kopieer de inhoud van de boot directory van de FreeBSD CD naar /export/FreeBSD/bootdirs/freebsd6.2-standard/boot
Voeg aan /export/FreeBSD/bootdirs/freebsd6.2-standard/boot loader.cfg de regel toe:
vfs.root.mountfrom="ufs:/dev/md0c"
Kopieer het bestand boot/pxeboot van de FreeBSD CD naar /tftpboot en noem het freebsd.0
Voeg aan /tftpboot/pxelinux.cfg/default de volgende entry toe:
label freebsd kernel freebsd.0
Om install.cfg te gebruiken (UFS support nodig!):
gzip -d /a/pxeinstall/boot/mfsroot.gz mdconfig -a -f /a/pxeinstall/boot/mfsroot md0 mount /dev/md0 /mnt cp install.cfg /mnt umount /mnt mdconfig -d -u 0
Install.cfg is de answer file voor FreeBSD. De inhoud hiervan moet nog worden uitgeplozen!
Jun 1 23:31:52 ipcop tftpd[26493]: RRQ from 192.168.2.20 filename /boot/pxelinux.0 Jun 1 23:31:52 ipcop tftpd[26493]: tftp: client does not accept options Jun 1 23:31:52 ipcop tftpd[26494]: RRQ from 192.168.2.20 filename /boot/pxelinux.0 Jun 1 23:31:52 ipcop tftpd[26495]: RRQ from 192.168.2.20 filename /boot/pxelinux.cfg/01-00-20-ed-62-9e-cb Jun 1 23:31:52 ipcop tftpd[26496]: RRQ from 192.168.2.20 filename /boot/docs/main Jun 1 23:31:53 ipcop tftpd[26497]: RRQ from 192.168.2.20 filename /boot/startrom.0 Jun 1 23:31:54 ipcop tftpd[26498]: RRQ from 192.168.2.20 filename ntldr Jun 1 23:31:54 ipcop tftpd[26499]: RRQ from 192.168.2.20 filename BOOTFONT.BIN Jun 1 23:31:54 ipcop tftpd[26500]: RRQ from 192.168.2.20 filename ntdetect.com Jun 1 23:31:56 ipcop tftpd[26501]: RRQ from 192.168.2.20 filename winnt.sif Jun 1 23:31:56 ipcop tftpd[26502]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\txtsetup.si_ remapped to /ris/winxp-nl/i386/txtsetup.si_ Jun 1 23:31:56 ipcop tftpd[26503]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\txtsetup.sif remapped to /ris/winxp-nl/i386/txtsetup.sif Jun 1 23:31:57 ipcop tftpd[26504]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\biosinfo.in_ remapped to /ris/winxp-nl/i386/biosinfo.in_ Jun 1 23:31:57 ipcop tftpd[26505]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\biosinfo.inf remapped to /ris/winxp-nl/i386/biosinfo.inf Jun 1 23:31:57 ipcop tftpd[26506]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\drvmain.sd_ remapped to /ris/winxp-nl/i386/drvmain.sd_ Jun 1 23:31:57 ipcop tftpd[26507]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\drvmain.sdb remapped to /ris/winxp-nl/i386/drvmain.sdb Jun 1 23:32:02 ipcop tftpd[26508]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\migrate.in_ remapped to /ris/winxp-nl/i386/migrate.in_ Jun 1 23:32:02 ipcop tftpd[26509]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\migrate.inf remapped to /ris/winxp-nl/i386/migrate.inf Jun 1 23:32:02 ipcop tftpd[26510]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\unsupdrv.in_ remapped to /ris/winxp-nl/i386/unsupdrv.in_ Jun 1 23:32:02 ipcop tftpd[26511]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\unsupdrv.inf remapped to /ris/winxp-nl/i386/unsupdrv.inf Jun 1 23:32:03 ipcop tftpd[26513]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\halaacpi.dl_ remapped to /ris/winxp-nl/i386/HALAACPI.DL_ Jun 1 23:32:03 ipcop tftpd[26514]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\ntoskrnl.ex_ remapped to /ris/winxp-nl/i386/ntoskrnl.ex_ Jun 1 23:32:04 ipcop tftpd[26515]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\KDCOM.DL_ remapped to /ris/winxp-nl/i386/KDCOM.DL_ Jun 1 23:32:04 ipcop tftpd[26516]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\BOOTVID.dl_ remapped to /ris/winxp-nl/i386/BOOTVID.DL_ Jun 1 23:32:04 ipcop tftpd[26517]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\SETUPREG.HI_ remapped to /ris/winxp-nl/i386/SETUPREG.HI_ Jun 1 23:32:04 ipcop tftpd[26518]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\SETUPREG.HIV remapped to /ris/winxp-nl/i386/SETUPREG.HIV Jun 1 23:32:04 ipcop tftpd[26519]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\vga850.fo_ remapped to /ris/winxp-nl/i386/VGA850.FO_ Jun 1 23:32:04 ipcop tftpd[26520]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\c_1252.nl_ remapped to /ris/winxp-nl/i386/C_1252.NL_ Jun 1 23:32:04 ipcop tftpd[26521]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\c_850.nl_ remapped to /ris/winxp-nl/i386/C_850.NL_ Jun 1 23:32:04 ipcop tftpd[26522]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\l_intl.nl_ remapped to /ris/winxp-nl/i386/l_intl.nl_ Jun 1 23:32:04 ipcop tftpd[26523]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\c_1252.nl_ remapped to /ris/winxp-nl/i386/C_1252.NL_ Jun 1 23:32:04 ipcop tftpd[26524]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\c_850.nl_ remapped to /ris/winxp-nl/i386/C_850.NL_ Jun 1 23:32:04 ipcop tftpd[26525]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\l_intl.nl_ remapped to /ris/winxp-nl/i386/l_intl.nl_ Jun 1 23:32:04 ipcop tftpd[26526]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\setupdd.sy_ remapped to /ris/winxp-nl/i386/SETUPDD.SY_ Jun 1 23:32:05 ipcop tftpd[26527]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\SPDDLANG.SY_ remapped to /ris/winxp-nl/i386/SPDDLANG.SY_ Jun 1 23:32:05 ipcop tftpd[26528]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\pci.sy_ remapped to /ris/winxp-nl/i386/PCI.SY_ Jun 1 23:32:05 ipcop tftpd[26529]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\acpi.sy_ remapped to /ris/winxp-nl/i386/ACPI.SY_ Jun 1 23:32:05 ipcop tftpd[26530]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\WMILIB.SY_ remapped to /ris/winxp-nl/i386/WMILIB.SY_ Jun 1 23:32:05 ipcop tftpd[26531]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\isapnp.sy_ remapped to /ris/winxp-nl/i386/ISAPNP.SY_ Jun 1 23:32:05 ipcop tftpd[26532]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\acpiec.sy_ remapped to /ris/winxp-nl/i386/ACPIEC.SY_ Jun 1 23:32:05 ipcop tftpd[26533]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\OPRGHDLR.SY_ remapped to /ris/winxp-nl/i386/OPRGHDLR.SY_ Jun 1 23:32:05 ipcop tftpd[26534]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\ohci1394.sy_ remapped to /ris/winxp-nl/i386/OHCI1394.SY_ Jun 1 23:32:05 ipcop tftpd[26535]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\1394BUS.SY_ remapped to /ris/winxp-nl/i386/1394BUS.SY_ Jun 1 23:32:05 ipcop tftpd[26536]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\pcmcia.sy_ remapped to /ris/winxp-nl/i386/PCMCIA.SY_ Jun 1 23:32:05 ipcop tftpd[26537]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\pciide.sy_ remapped to /ris/winxp-nl/i386/PCIIDE.SY_ Jun 1 23:32:05 ipcop tftpd[26538]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\PCIIDEX.SY_ remapped to /ris/winxp-nl/i386/PCIIDEX.SY_ Jun 1 23:32:05 ipcop tftpd[26539]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\intelide.sy_ remapped to /ris/winxp-nl/i386/INTELIDE.SY_ Jun 1 23:32:05 ipcop tftpd[26540]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\viaide.sy_ remapped to /ris/winxp-nl/i386/VIAIDE.SY_ Jun 1 23:32:05 ipcop tftpd[26541]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\cmdide.sy_ remapped to /ris/winxp-nl/i386/CMDIDE.SY_ Jun 1 23:32:05 ipcop tftpd[26542]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\toside.sy_ remapped to /ris/winxp-nl/i386/TOSIDE.SY_ Jun 1 23:32:05 ipcop tftpd[26543]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\aliide.sy_ remapped to /ris/winxp-nl/i386/ALIIDE.SY_ Jun 1 23:32:05 ipcop tftpd[26544]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\mountmgr.sy_ remapped to /ris/winxp-nl/i386/MOUNTMGR.SY_ Jun 1 23:32:05 ipcop tftpd[26545]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\ftdisk.sy_ remapped to /ris/winxp-nl/i386/FTDISK.SY_ Jun 1 23:32:05 ipcop tftpd[26546]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\partmgr.sy_ remapped to /ris/winxp-nl/i386/PARTMGR.SY_ Jun 1 23:32:05 ipcop tftpd[26547]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\fdc.sy_ remapped to /ris/winxp-nl/i386/FDC.SY_ Jun 1 23:32:05 ipcop tftpd[26548]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\dmload.sy_ remapped to /ris/winxp-nl/i386/DMLOAD.SY_ Jun 1 23:32:05 ipcop tftpd[26549]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\dmio.sy_ remapped to /ris/winxp-nl/i386/DMIO.SY_ Jun 1 23:32:05 ipcop tftpd[26550]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\sbp2port.sy_ remapped to /ris/winxp-nl/i386/SBP2PORT.SY_ Jun 1 23:32:05 ipcop tftpd[26551]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\lbrtfdc.sy_ remapped to /ris/winxp-nl/i386/LBRTFDC.SY_ Jun 1 23:32:05 ipcop tftpd[26552]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\usbehci.sy_ remapped to /ris/winxp-nl/i386/USBEHCI.SY_ Jun 1 23:32:05 ipcop tftpd[26553]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\USBPORT.SY_ remapped to /ris/winxp-nl/i386/USBPORT.SY_ Jun 1 23:32:06 ipcop tftpd[26554]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\usbohci.sy_ remapped to /ris/winxp-nl/i386/USBOHCI.SY_ Jun 1 23:32:06 ipcop tftpd[26555]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\usbuhci.sy_ remapped to /ris/winxp-nl/i386/USBUHCI.SY_ Jun 1 23:32:06 ipcop tftpd[26556]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\usbhub.sy_ remapped to /ris/winxp-nl/i386/usbhub.sy_ Jun 1 23:32:06 ipcop tftpd[26557]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\usbhub.sys remapped to /ris/winxp-nl/i386/usbhub.sys
cat rislog.txt | cut -d \\ -f 5 | cut -d \ -f 1 | grep "." | uniq > risfiles.txt cat risfiles.txt | sort | uniq > risfiles.all.txt cp risfiles.all.txt risfiles.txt for LINE in `cat risfiles.txt`; do ULINE=`echo $LINE | tr [:lower:] [:upper:]` ; echo "r $LINE $ULINE" >> risfiles.rewrite.txt ; done ### Modify tftp rules and make active joe /etc/tftp.rules ; killall -9 tftpd ; tftpd -u tftp -p -c -l -m /etc/tftp.rules -s /home/tftp/ -v ; rm /etc/*~
FINETUNING
Jun 2 09:46:29 ipcop tftpd[18491]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\flpydisk.sy_ remapped to /ris/winxp-nl/i386/flpyDISK.SY_ Jun 2 09:46:29 ipcop tftpd[18492]: RRQ from 192.168.2.20 filename \ris\winxp-nl\i386\flpydisk.sys remapped to /ris/winxp-nl/i386/flpydisk.sys