General TC > General TC Talk

TinyCore with Symantec Ghost using PXE

(1/6) > >>

I spent a lot of time reading posts so I figured I would write this easy tutorial. ENJOY! :-)

Howto put ghost on TinyCore and use with PXE"

1) Download the latest "TinyCore" from
2) Copy other files to your usb  (example f:\build\)
   a. Browse to C:\Program Files\Symantec\Ghost
   b. Copy the following files: gdisk, ghconfig, ghost, ghregedit, omnifs
   c. Get this script;topic=12300.0;attach=3242 too
   d. Use the attached icon (dimensions=48x48)
   e. Now is a good time to run ghost32.exe to create an "GHOST.INI"
3) Mount the TinyCore-current.iso
(oracle vm with at least 256mb ram and no hdd will do)
   a. just press <enter> at the tinycore boot prompt
4)  Copy the files from your usb to /tmp
   a.  mount the usb to the oracle vm by right clicking the usb plug
   b.  mount the usb inside your tinycore vm os using the Mount icon on the wbar (example: sda1)
   c.  sudo cp -R /mnt/sda1/build/* /tmp
   d.  cd /tmp
   e.  sudo ./
5) sudo mkdir /tmp/newinit
6) sudo mv ./tinycore_4.3.gz /tmp/newinit
7) cd /tmp/newinit
8) zcat tinycore_4.3.gz | sudo cpio -idum
9) copy the ghost files:
   sudo cp /tmp/g* /tmp/newinit/usr/local/bin
   sudo cp /mnt/sda1/build/GHOST.INI /tmp/newinit/usr/local/bin
   sudo cp /tmp/omni* /tmp/newinit/usr/local/bin
10) sudo vi /tmp/newinit/usr/local/bin/
   #tcl ghost run
   cd /usr/local/bin
   sudo nohup ./ghost
11) sudo cp /mnt/sda1/build/ghost.png /tmp/newinit/usr/local/share/pixmaps
12) sudo vi /tmp/newinit/usr/local/share/applications/ghost.desktop
   [Desktop Entry]
13) mkdir /tmp/newinit/home/tc/.X.d
14) sudo cp /tmp/newinit/usr/local/bin/ /tmp/newinit/home/tc/.X.d
15) sudo chmod 755 /tmp/newinit/usr/local/bin/
16) sudo chmod 755 /tmp/newinit/home/tc/.X.d/
17) sudo chown tc:staff /tmp/newinit/home/tc/.X.d/
18) sudo rm /tmp/newinit/tinycore_4.3.gz
19) cd /tmp/newinit
20) sudo find . | sudo cpio -odum -H newc \ | gzip > ../core.gz
21) sudo cp ../core.gz /mnt/sda1
   *sda1 is the usb
22) unmount the usb from tinycore and kill the vm
23) using magiciso edit TinyCore-current.iso
24) delete the "cde" folder
25) drag the core.gz from your usb into the boot folder of iso and replace the old one
26) drag \boot\isolinux\isolinux.cfg to desktop and edit it with "editpad lite" as shown:
   display boot.msg
   default tc

   label tc
   kernel /boot/vmlinuz
   append initrd=/boot/core.gz quiet cde nozswap

   implicit 0
   prompt 0
   timeout 0
   F1 boot.msg
   F2 f2
   F3 f3
   F4 f4
27) drag the revised isolinux.cfg back into magiciso and replace original file
28) save the new iso
29) test the new iso in vm
30) Now take the cd to your pxe server
31) copy d:\boot\core.gz and d:\boot\vmlinuz to c:\tftpboot\tinycore\
32) use "editpad lite" to add this "c:\tftpboot\pxelinux.cfg\default" on your PXE server
   DEFAULT      vesamenu.c32
   PROMPT       0
   NOESCAPE     0
   # Timeout in units of 1/10 s
   MENU COLOR BORDER 30;44      #20ffffff #00000000 #ffffffff
   MENU COLOR SCROLLBAR 30;44   #20ffffff #00000000 none
   MENU COLOR TITLE 0       #ffffffff #00000000 none
   MENU COLOR SEL   30;47      #40000000 #20ffffff

   LABEL Boot from Harddisk
   Type 0x80

   label Tinycore with ghost
   kernel tinycore/vmlinuz
   append initrd=tinycore/core.gz cde nozswap

nozswap is a required option for ghost
I am using the 3com boot services that come with ghost and pointing to pxelinux.0 using bootptab editor.
My DHCP options per scope are:
003 Router = server ip or real router (required for ghost linux multicast)
006 DNS Server = server ip
060 PXEClient

*still need to figure out how to add more mass storage drivers....

The above tutorial works on most systems.  TinyCore-current.iso needs raid/scsi added using ezremaster though as I found out.,12624.0.html
I recommend people do that first  to create the ezremaster.iso and then start the process of adding ghost. 8) ;) :)

Sorry, I couldn't follow. Are you booting TCE over PXE and then running Ghost? I'm not sure how you run Ghost from a linux environment unless you have some dos emulation or wine. I used to boot into Ghost from a Win98 DOS image over PXE.

In the end, I am booting tinycore linux using pxe which launches ghost (linux app).  Using my steps I embedded ghost and basic TCL extensions into the core.gz file.  Ghost 11.5.1 (ghost solution suite 2.5.1) has real linux executables, notice the files with no extension in your "c:\program files\symantec\ghost" folder, so nothing extra is needed to run it from the linux environment.  I also once used to use the dos boot pxe version you are talking about, but got tired of it.  Let me illustrate it for you:  Your clients --> server using pxelinux menu --> vmlinux  --> core.gz (containing ghost)--> tinycore desktop-->ghost

If you want to see what ghost looks like in linux right now. Just boot from the tinycore.iso cd instead and run the app from usb.  Then if you like it use my tutorial to put ghost inside tinycore so you don't have to request any files/extensions from your server.


is it possible to auto load an own menu, page with deployment choices like Ghost etc?

For instance, i would like to kick out WinPE for deploying my systems :-)

Your guide helped me/us a lot with the ghost part.
But the most important trick would be adding (eg HTA support) a linux variant of (g)imagex..

WinPE boots very slow, even on internal network. (made it down to 140MB, but still loading slow)
So this would be very nice as a replacement for deploying os..

do you have ideas?



[0] Message Index

[#] Next page

Go to full version