Menu

My customized Clonezilla/RIS workbench server

Max Bash
2009-01-16
2013-04-05
  • Max Bash

    Max Bash - 2009-01-16

    This is my installation notes, I went over them for a couple minuets to add a couple explanations, but it still needs much work to make it a easy to follow guide.

    Workbench server

    I first set up a computer with Ubuntu 8.10 and I use two network interfaces, I have one interface for to make a lan just for the workbench and an other route to the rest of the world.

    Add the DRBL repository

    wget -q http://drbl.sourceforge.net/GPG-KEY-DRBL -O- | sudo apt-key add -
    cat deb http://drbl.sourceforge.net/drbl-core drbl stable >> /etc/apt/sources.list

    use root or sudo to run these commands
    apt-get update
    apt-get install drbl
    /opt/drbl/sbin/drblsrv -i

    Do you want to install those network installation boot images? It takes a long time to download them all
    I chose no.
    Do you want to use the serial console output for clients ?
    Very unlikly you need this, so choose no

    Which CPU architecture kernel do you want to assign for DRBL clients ?
    Same as server option should be the best option unless you have a client computer that is older than 10 years or an imbeded system
    Choose 2
    Do you want to upgrade System?
    I chose yes

    There are 2 kernels available for clients, which one do you prefer ?
    [1]: kernel 2.6.26-1-686 i686 (from this DRBL server)
    [2]: linux-image-2.6.26-1-openvz-686 (from apt repository)
    Chose 1 you don't want a openvz kernel (This might be an isolated bug)

    /opt/drbl/sbin/drblpush -i
    Please enter DNS domain
    You can use the default unless you have a real Domain you want to use
    Please enter NIS/YP domain name
    Use default or whatever you want
    Please enter the client hostname prefix
    Again use default or whatever you want
    The public IP address of this server is NOT found
    Choose the interface for the outside network
    Should be eth0
    Available ethernet ports in this server:
    eth0 (10.2.2.240), eth1 (192.168.10.1),
    [eth0]
    Now we can collect the MAC address of clients! Do you want to collect them ?
    Chose No - This is unwanted in a work bench environment
    Again choose No
    What is the initial number do you want to use in the last set of digits in the IP
    Use whatever number you want within your subnet.
    How many DRBL clients (PC for students) connected to DRBL server's ethernet network interface eth1 ?
    Use whatever you want I choose 11 because I will never have more than that many computers on my workbench

    Extract files to /tftpboot/nbi_img/
    [1] DRBL SSI
    1] Clonezilla box mode
    /home/partimag
    I chose no, I didn't like it creating a swap file, especilly if I was going to use the computer for a clone image
    "1": Graphic mode
    1: auto login
    Do you want to use *RANDOM* password for auto login accounts ? N
    N root's password for clients and N ( pxelinux password for clients) This is system on internal network, I'm not too tight about security
    Do you want to set the boot prompt for clients ?
    [Y
    50
    Y access to devices
    let DRBL clients have an option to run terminal mode N
    DRBL server as a NAT server ? Y
    Y continue

    Do you want to setup public IP for clients ?
    [y/N]
    Choose no

    Install Samba
    apt-get install samba
    /etc/init.d/samba stop
    nano /etc/samba/smb.conf

    [global]

    panic action = /usr/share/samba/panic-action %d
    guest account = root
    null passwords = true
    security = share
    workgroup = workgroup
    server string = RIS Server
    syslog only = no
    syslog = 0;
    socket options = IPTOS_LOWDELAY TCP_NODELAY SO_SNDBUF=4096 SO_RCVBUF=4096
    encrypt passwords = true
    wins support = no
    name resolve order = lmhosts host wins bcast
    dns proxy = no
    unix password sync = false
    passwd program = /usr/bin/passwd %u
    passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n .
    max log size = 1000
    unix charset = iso-8859-15
    display charset = iso-8859-15
    dos charset = 850

    [REMINST]
    browseable = yes
    read only = no
    path = /tftpboot/nbi_img/
    guest ok = yes

    /etc/init.d/samba start

    Copy XP Files put in your XP disk
    mkdir /tftpboot/nbi_img/winxp
    cp -R /media/cdrom/I386 /tftpboot/nbi_img/winxp

    Copy UBCD4win or Bartpe files
    mkdir /tftpboot/nbi_img/winxp
    cp -R /media/cdrom/I386 /tftpboot/nbi_img/winpe
    cp -R /media/cdrom/PROGRAMS /tftpboot/nbi_img/winpe

    Download and setup ris linux
    cd /tftpboot/nbi_img/
    wget http://oss.netfarm.it/guides/ris-linux-0.4.tar.gz
    tar vxf ris-linux-0.4.tar.gz
    cd ris-linux-0.4
    mkdir inf
    download driver files for your computers, putting the inf files in /tftpboot/nbi_img/ris-linux-0.4/inf and the sys files
    in /tftpboot/nbi_img/winxp/I386 and make another copy of the sys files to winpe
    cp /tftpboot/nbi_img/winxp/I386/*.sys /tftpboot/nbi_img/winpe/I386/SYSTEM32/DRIVERS/
    I find you can cover most computers with: Broadcom NetXtreme, Realtek 8169, Intel pro100, pro1000, and Marvel Yukon drivers

    Patch Tftpboot to be case insensitive

    cd /tftpboot/nbi_img/ris-linux-0.4/patches
    apt-get install dpkg-dev
    apt-get source tftpd-hpa
    apt-get build-dep tftpd-hpa
    cd tftp-hpa-0.48
    patch -Np1 -i ../tftp-hpa-filecase.diff
    dpkg-buildpackage -b
    sudo dpkg -i ../tftpd-hpa_0.48-2.2ubuntu1_i386.deb
    Now tell Apt not upgrade this package, so you don't lose your patched package
    echo "tftpd-hpa hold" | dpkg --set-selections
    make sure the config file still point to the correct directory
    nano /etc/default/tftpd-hpa
    OPTIONS="-l -s /tftpboot/nbi_img"

    Setup pxeboot files for Windows XP PXE install

    cabextract /tftpboot/nbi_img/winxp/I386/STARTROM.N1_
    sed -i -e 's/NTLDR/XPLDR/gi' startrom.n12
    mv startrom.n12 winxp.0
    cabextract /tftpboot/nbi_img/winxp/I386/SETUPLDR.EX_
    sed -i -e 's/winnt\.sif/winxp\.sif/gi' setupldr.exe
    sed -i -e 's/ntdetect\.com/ntdetect\.wxp/gi' setupldr.exe
    mv setupldr.exe XPLDR
    cp /tftpboot/nbi_img/winxp/I386/NTDETECT.COM ntdetect.wxp

    Setup pxeboot files for PE enviroment such as UBCD4win or BartPE

    cabextract /tftpboot/nbi_img/winxp/I386/STARTROM.N1_
    sed -i -e 's/NTLDR/PELDR/gi' startrom.n12
    mv startrom.n12 winpe.0
    cabextract /tftpboot/nbi_img/winxp/I386/SETUPLDR.EX_
    sed -i -e 's/winnt\.sif/winpe\.sif/gi' setupldr.exe
    sed -i -e 's/ntdetect\.com/ntdetect\.wpe/gi' setupldr.exe
    mv setupldr.exe PELDR
    cp /tftpboot/nbi_img/winxp/I386/NTDETECT.COM ntdetect.wpe

    Create Automation files for Windows Install and UBCS
    nano /tftpboot/nbi_img/winxp.sif

    [data]
    floppyless = "1"
    msdosinitiated = "1"
    ; Needed for second stage
    OriSrc = "\\192.168.10.1\RemInst\winxp\I386"
    OriTyp = "4"
    LocalSourceOnCD = 1
    DisableAdminAccountOnDomainJoin = 1

    [SetupData]
    OsLoadOptions = "/fastdetect"
    ; Needed for first stage
    SetupSourceDevice = "\Device\LanmanRedirector\192.168.10.1\RemInst\winxp"
    [Unattended]
    UnattendMode=FullUnattended
    UnattendSwitch="Yes"
    OemPreinstall="Yes"
    OemSkipEula="Yes"
    FileSystem=*
    WaitForReboot="No"
    NoWaitAfterTextMode=1
    NoWaitAfterGUIMode=1
    DriverSigningPolicy=Ignore
    NonDriverSigningPolicy=Ignore
    Hibernation="No"
    TargetPath = \WINDOWS
    InstallFilesPath = "\\192.168.10.1\RemInst\winxp\I386"
    LegacyNIC = 1
    [SystemRestore]
    [GuiUnattended]
    EncryptedAdminPassword="No"
    AutoLogon="Yes"
    AdminPassword=*
    OEMSkipRegional=1
    TimeZone=004
    OemSkipWelcome=1
    [Components]
    msmsgs=off
    msnexplr=off
    OEAccess=off
    media_clips=off
    media_utopia=off
    Accessopt=off
    AutoUpdate=off
    templates=off
    fax=off
    Clipbook=off
    charmap=off
    calc=off
    hypertrm=off
    rec=off
    vol=off
    pinball=off
    freecell=off
    minesweeper=off
    solitaire=off
    spider=off
    hearts=off
    zonegames=off
    [UserData]
    FullName = "FullName"
    OrgName = "OrgName"
    ComputerName = "COMPUTER"
    ProductID=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX (You can put in your Product Key here)
    [RegionalSettings]
    Language= "0409"
    [WindowsFirewall]
    Profiles=WindowsFirewall.TurnOffFirewall
    [WindowsFirewall.TurnOffFirewall]
    Mode=0
    [Display]
    BitsPerPel = 16
    XResolution = 800
    YResolution = 600
    VRefresh = 60
    [NetServices]
    MS_Server=params.MS_PSched
    [RemoteInstall]
    ; Avoid automatic format/repartition
    Repartition = No
    UseWholeDisk = No
    [Shell]
    DefaultStartPanelOff=Yes
    DefaultThemesOff=Yes

    [SetupData]
    OsLoadOptions = "/fastdetect /minint"
    SetupSourceDevice = "\Device\LanmanRedirector\192.168.10.1\RemInst\winpe"
    [UserData]
    ComputerName = WindowsPE

    nano /tftpboot/nbi_img/winxp.sif

    [SetupData]
    OsLoadOptions = "/fastdetect /minint"
    SetupSourceDevice = "\Device\LanmanRedirector\192.168.10.1\RemInst\winpe"
    [UserData]
    ComputerName = WindowsPE

    You can create custom menus and load floppy images of various tools and I extracted a iso of the offline NT password editor
    and put in into /tftpboot/nbi_img/offline/

    mkdir /tftpboot/nbi_img/menu
    add these entrys in /tftpboot/nbi_img/pxelinux.cfg/default:

    label ubcd4win
      # MENU DEFAULT
      # MENU HIDE
      MENU LABEL UBCD4WIN
      kernel winpe.0
      TEXT HELP
      Customized Ultamate Boot CD
      ENDTEXT

    label ris
      # MENU DEFAULT
      # MENU HIDE
      MENU LABEL Windows XP Setup
      # MENU PASSWD
      kernel winxp.0
      TEXT HELP
      ENDTEXT

    label repair
      # MENU DEFAULT
      # MENU HIDE
      MENU LABEL Repair and Diagnosic Tools
      # MENU PASSWD
      kernel menu.c32
      append /menu/main.cfg
      TEXT HELP
      ENDTEXT

    Create main.cfg and hdd.cfg in the /tftpboot/nbi_img/menu/ folder

    Main.cfg
    MENU TITLE Hard Drive Utilites
    PROMPT 0
    ALLOWOPTIONS 0
    MENU MARGIN 0
    MENU ROWS 20
    # MENU COLOR BORDER    37;44 #40000000 #00000000 std
    # MENU COLOR TITLE 1;33;44 #c00090f0 #00000000 std
    # MENU COLOR SCROLLBAR 37;44 #40000000 #00000000 std
    LABEL back
        MENU LABEL ..
        KERNEL menu.c32
        APPEND /pxelinux.cfg/default
    label ntpwd
        MENU LABEL Offline Password & Registry Editor
        TEXT HELP
        * version: 2008-10-02
        * http://home.eunet.no/pnordahl/ntpasswd/
        Petter Nordahl's Offline NT Password & Registry Editor
        ENDTEXT
        KERNEL /offline/vmlinuz
        APPEND rw vga=1 init=/linuxrc initrd=/offline/initrd.cgz,/offline/scsi.cgz
    label hdd
        MENU LABEL Hard Drive Tools
        TEXT HELP
        Includes Drive Manufactors diagnotic tools
        ENDTEXT
        KERNEL menu.c32
        APPEND /menu/hdd.cfg
    LABEL dban
        MENU LABEL Darik's Boot and Nuke
        KERNEL memdisk
        APPEND initrd=\images\dban.ima
        TEXT HELP
        * version: 1.0.7
        * http://dban.sourceforge.net
        DBAN will completely delete the contents of any hard disk it can detect.
        ENDTEXT

    HDD.cfg

    MENU TITLE Hard Drive Utilites
    PROMPT 0
    ALLOWOPTIONS 0
    MENU MARGIN 0
    MENU ROWS 20
    # MENU COLOR BORDER    37;44 #40000000 #00000000 std
    # MENU COLOR TITLE 1;33;44 #c00090f0 #00000000 std
    # MENU COLOR SCROLLBAR 37;44 #40000000 #00000000 std
    LABEL back
        MENU LABEL ..
        KERNEL menu.c32
        APPEND /menu/main.cfg
    LABEL dft
        MENU LABEL Drive Fitness Test V4.14 (IBM/Hitachi)
        KERNEL memdisk
        APPEND initrd=/images/dft.igz
    LABEL fujitsu
        MENU LABEL Diagnostic Tool V7 (Fujitsu)
        KERNEL memdisk
        APPEND initrd=/images/fjdt.igz ubcdcmd=fujitsu
    LABEL seatools
        MENU LABEL SeaTools for DOS V2.07 (Seagate/Maxtor)
        KERNEL memdisk
        APPEND initrd=/images/seatools.igz
    LABEL dlgdiag5
        MENU LABEL DLG Diagnostic V5.04f (Western Digital)
        KERNEL memdisk
        APPEND initrd=/images/wd.igz
    LABEL mhdd32
        MENU LABEL MHDD32 V4.6
        KERNEL memdisk
        APPEND initrd=/images/mhdd32.igz
    _

     
    • Max Bash

      Max Bash - 2009-01-17

      Oh ya, you have to set up the binL server from the RIS linux package. For some reason the server has to feed the client the network driver through a special protocol, it can't just load it from files transfered from via tftp, it's a Microsoft thing.
      Python should already be installed, if not install it
      cd /tftpboot/nbi_img/cd ris-linux-0.4
      ./infparser.py inf
      ./binlsrv.py

      When I get around to it I will put binlsrv.py in the server start up.
      Also I discovered a problem with with this program with Realtek PCIe adapters, I think it might extend to all PCIe bus adapters which includes nearly all of the brand new motherboards. I am working hard on a fix, though it will require me to learn Python better, maybe deep study of PCIe and reverse engineering of the BinL protocol.

       
    • Steven Shiau

      Steven Shiau - 2009-01-17

      Max,
      Thanks. I have put a link on FAQ about this:
      http://drbl.sourceforge.net/faq/fine-print.php?path=./2_System/58_RIS_on_DRBL.faq#58_RIS_on_DRBL.faq

      Thanks for your contribution.

      Steven.

       
  • r3dsk1n

    r3dsk1n - 2009-11-25

    this is exactly what I was looking for, I have drbl and clonezilla installed, and was wanting to add some options for installing xp.

    I can't seem to get this sucker to load into the setup.
    I keep getting "INF File  is corrupt or missing Setup cannot continue. Press any key to exit."

    Any Idea what may be causing this?
    I've tried with xp pro and xp home both with the same results.

     
  • Steven Shiau

    Steven Shiau - 2009-11-25

    Actually I have no such experience about this.

    Anyone can share his/her experience?

    Thanks in advance.

    Steven.

     
  • Vaporize

    Vaporize - 2009-12-18

    Hello,

    Like you, I'd like to use ris-linux with drbl.
    I've followed all your explanation and I think I've understand 90% of what I'm doing, the 'sed' part is still a mistery for me.

    My pxe / tftp works like a charm with drbl / clonezilla

    With RIS-Linux, tftp works too, but I have the same issue than badassredskin, setup freeze with the same error, it ask for an unknown strange filename instead of winxp.sif or anything else.

    here it is the exact logfile (from my /var/log/syslog) :


    Dec 18 14:54:16 Clonezilla in.tftpd: RRQ from 192.168.70.2 filename pxelinux.cfg/C

    Dec 18 14:54:17 Clonezilla in.tftpd: RRQ from 192.168.70.2 filename pxelinux.cfg/default

    Dec 18 14:54:17 Clonezilla in.tftpd: RRQ from 192.168.70.2 filename vesamenu.c32

    Dec 18 14:54:17 Clonezilla in.tftpd: RRQ from 192.168.70.2 filename pxelinux.cfg/default

    Dec 18 14:54:17 Clonezilla in.tftpd: RRQ from 192.168.70.2 filename drblwp.png

    Dec 18 14:54:18 Clonezilla in.tftpd: RRQ from 192.168.70.2 filename winxp.0

    Dec 18 14:54:18 Clonezilla in.tftpd: RRQ from 192.168.70.2 filename XPLDR

    Dec 18 14:54:19 Clonezilla in.tftpd: RRQ from 192.168.70.2 filename BOOTFONT.BIN

    Dec 18 14:54:19 Clonezilla in.tftpd: RRQ from 192.168.70.2 filename ntdetect.wxp

    18 14:54:23 Clonezilla in.tftpd: RRQ from 192.168.70.2 filename j8ë#002j9ë#002j:ë#002j;ë#002j<ë#002j=ë#002j>ë#002j?éq


    Why this filename ?
    All the file seems to call another one, and this strange file is called by ntdetect.wxp, maybe the problem comes from this file.

    I don't know what can I do, any ideas please ?

     
  • Vaporize

    Vaporize - 2009-12-18

    I'm sure now, the file called should be winxp.sif

    But in our case the file called is j8ë#002j9ë#002j:ë#002j;ë#002j<ë#002j=ë#002j>ë#002j?éq ……

    Why ???

    I've tried to do the 'sed' part on manual with a text editor, result is the same. There is real issue on calling winxp.sif : /

     
  • Vaporize

    Vaporize - 2009-12-18

    Here are the syslog with -vv (double verbose) parameter , maybe it can help.


    Dec 18 15:55:56 Clonezilla in.tftpd: RRQ from 192.168.70.2 filename pxelinux.cfg/default

    Dec 18 15:55:56 Clonezilla in.tftpd: RRQ from 192.168.70.2 filename vesamenu.c32
    Dec 18 15:55:57 Clonezilla in.tftpd: RRQ from 192.168.70.2 filename pxelinux.cfg/default

    Dec 18 15:55:57 Clonezilla in.tftpd: RRQ from 192.168.70.2 filename drblwp.png

    Dec 18 15:55:58 Clonezilla in.tftpd: RRQ from 192.168.70.2 filename winxp.0

    Dec 18 15:55:58 Clonezilla in.tftpd: RRQ from 192.168.70.2 filename XPLDR

    Dec 18 15:55:58 Clonezilla in.tftpd: RRQ from 192.168.70.2 filename BOOTFONT.BIN

    Dec 18 15:55:58 Clonezilla in.tftpd: RRQ from 192.168.70.2 filename ntdetect.wxp

    Dec 18 15:56:03 Clonezilla in.tftpd: sending NAK (1, File not found) to 192.168.70.2ë#002j;ë#002j<ë#002j=ë#002j>ë#002j?éq


     
  • Steven Shiau

    Steven Shiau - 2009-12-20

    I do not have any experience about RIS server. If anyone on this forum (bakegoodz ?) is familiar with this, please share that.

    Thanks.

    Steven.

     

Log in to post a comment.