Fedora Installation Notes

From NST Wiki
Revision as of 14:35, 13 September 2007 by Vagab0nd (talk | contribs) (Development Case Study Using VMWARE by a newbie)
Jump to navigationJump to search

Fedora 7 Installation Notes

VMware Server

If you install VMware server onto your Fedora 7 box, you will likely need to install the any any updates. In short:

  • Install VMware Server.
  • Run the: "runme.pl" script from any any updates.

NOTE: The recommended virtual SCSI drivers in VMware Server v1.0.3 did not seem to work with the SCSI modules in Fedora 7. We ended up using the lower performance virtual ATA drivers in our setup (maybe we should have tried the virtual BusLogic adapter).

Virtual PC

Installation of Fedora 7 on a Windows box using Microsoft Virtual PC 6.0.156.0 is possible. Here are some notes:

  • Use text installation mode.
  • After the installation completes and the system reboots, the screen will come up in an unreadable state. However, you will be able to connect to the system using a ssh client (you can use: nmap -p 22 192.168.1.100-250 on a range of IP addresses to help identify the system).
  • After connecting to the system using a ssh client, add the vga=771 boot option to: "/boot/grub/grub.conf". It will look something like the following:
title Fedora (2.6.22.1-41.fc7)
        root (hd0,0)
        kernel /vmlinuz-2.6.22.1-41.fc7 ro root=/dev/VolGroup00/LogVol00 rhgb quiet vga=771
        initrd /initrd-2.6.22.1-41.fc7.img
  • Edit the file: "/etc/inittab" and set the default run level to 3.
  • Reboot the system.

At this point you should have a stable development system. You won't have a graphical desktop, but you can use a VNC desktop should you need graphical access.

NOTE: Even though the system won't have a graphical desktop started, you may still want to change the graphics driver to vesa using the following command: "system-config-display --set-driver=vesa". This way you will at least be able to see the screen if you forget and try to start X via: "init 5".

Development Case Study Using VMWARE by a newbie

I undertook a challenge to see if I could make a working NST under VMWARE. The motivation was to obtain extra functions beyond what was available in the NST 1.5 VMWARE image; e.g. gain access to the VMWARE hgfs function and add additional tools. Samba was an alternative to hgfs. But to add the additional tools I needed to build an FC image anyway. So why not just build FC7/NST under VMWARE?

I started by following the instructions, Building From Source, that were developed by the primary NST developers. FC7 was built under Fusion using the "split" option for an 8GB virtual drive. The split option was chosen to make the image portable using the FAT file system.

During the FC7 install, I generally chose not to install packages that dealt with (to be filled in later).

The FC7 install proceeded smoothly. An account for nstuser was added in the installation process, in case there was a need to have a "normal" user account later on.

The patch process after the install took quite a while to complete.

After the patch process completed, VMWARE tools was installed successfully using:

  • rpm -Uvh VMwareTools-e.x.p-51348.i386.rpm

And then configured by executing vmware-config-tools.pl. The configuration output can be found at vmware config output.

As the subsequent NST creation steps unfolded, the VMWARE image was moved back and forth using an 8GB flash drive. The movement from Fusion was to VMPLAYER running under SUSE 10.x. This provided initial validation that the image had, at minimum, some portability. Fusion was still needed to tweak the "settings." After some tweaking, the following "settings" configuration was used: 3 NICs eth0 - NATed to be used as the NST management interface eth1 - custom to be used as a promiscuous interface eth2 - host to be assigned for future use

Parallel - not connected Serial 1 - not connected Serial 2 - not connected Floppy1 - not connected but pointed to an empty floppy 1.4M image stored within the image folder CD - connected and pointed to an empty iso image stored within the image folder CD2 - not connected and pointed to an empty iso image stored within the image folder

The empty ISO files for the CD and the empty image for the floppy minimized obstacles to moving the image, while still allowing flexibility on what device to have connected during the boot process. One can adjust what is connected by using F2 during the boot process and making sure an empty image is not selected 'first' during the boot process.


Now it was time to get the NST configuration via CVS.

/root/nst was the CVS sandbox. The update to .bashrc to set up CVS worked smoothly. The CVS checkout was satisfactory.

I already had Java from the FC7 install. egrep -i jre (output of rpm -qa) jre-1.6.0_02-fcs

One error I made was caused by an interruption. When I returned to building NST after a hiatus of a couple of days, a new kernel had been released. So when I tried to build NST I got messages suggesting a kernel update. I used the FC7 package update feature and reran vmware-config-tools.pl.

The output of configure and make package-update improved after updating the kernel.

My exact yum update command line entry is lost but it was something close to: yum install docbook-utils docbook-utils-pdf ncftp php-pear

Being a newbie at building NST, the next command was make package-check-url

Bing 'failed' the url check. So I edited nst/.../bing.sh and corrected the url. ntop and php-base were more important, but the seemed like better candidates for make package-check.

Bing succeeded in the make package-update.

Development Case Study Using VMWARE - vmware-config output

Stopping VMware Tools services in the virtual machine:

  Guest operating system daemon:                          [  OK  ]
  Blocking file system:                                   [  OK  ]
  Unmounting HGFS shares:                                 [  OK  ]
  Guest filesystem driver:                                [  OK  ]
  Guest memory manager:                                   [  OK  ]

Shutting down interface eth0: [ OK ] Shutting down interface eth2: [ OK ] Shutting down loopback interface: [ OK ]

  Guest vmxnet fast network device:                       [  OK  ]

Trying to find a suitable vmmemctl module for your running kernel.

None of the pre-built vmmemctl modules for VMware Tools is suitable for your running kernel. Do you want this program to try to build the vmmemctl module for your system (you need to have a C compiler installed on your system)? [yes]

Using compiler "/usr/bin/gcc". Use environment variable CC to override.

What is the location of the directory of C header files that match your running kernel? [/lib/modules/2.6.22.4-65.fc7/build/include]

Extracting the sources of the vmmemctl module.

Building the vmmemctl module.

Using 2.6.x kernel build system. make: Entering directory `/tmp/vmware-config1/vmmemctl-only' make -C /lib/modules/2.6.22.4-65.fc7/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules make[1]: Entering directory `/usr/src/kernels/2.6.22.4-65.fc7-i686'

 CC [M]  /tmp/vmware-config1/vmmemctl-only/os.o
 SHIPPED /tmp/vmware-config1/vmmemctl-only/vmmemctl1.o
 LD [M]  /tmp/vmware-config1/vmmemctl-only/vmmemctl.o
 Building modules, stage 2.
 MODPOST 1 modules

WARNING: could not find /tmp/vmware-config1/vmmemctl-only/.vmmemctl1.o.cmd for /tmp/vmware-config1/vmmemctl-only/vmmemctl1.o

 CC      /tmp/vmware-config1/vmmemctl-only/vmmemctl.mod.o
 LD [M]  /tmp/vmware-config1/vmmemctl-only/vmmemctl.ko

make[1]: Leaving directory `/usr/src/kernels/2.6.22.4-65.fc7-i686' cp -f vmmemctl.ko ./../vmmemctl.o make: Leaving directory `/tmp/vmware-config1/vmmemctl-only' The module loads perfectly in the running kernel.

Extracting the sources of the vmhgfs module.

Building the vmhgfs module.

Using 2.6.x kernel build system. make: Entering directory `/tmp/vmware-config1/vmhgfs-only' make -C /lib/modules/2.6.22.4-65.fc7/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules make[1]: Entering directory `/usr/src/kernels/2.6.22.4-65.fc7-i686'

 CC [M]  /tmp/vmware-config1/vmhgfs-only/backdoor.o
 CC [M]  /tmp/vmware-config1/vmhgfs-only/backdoorGcc32.o
 CC [M]  /tmp/vmware-config1/vmhgfs-only/bdhandler.o
 CC [M]  /tmp/vmware-config1/vmhgfs-only/cpName.o
 CC [M]  /tmp/vmware-config1/vmhgfs-only/cpNameLinux.o
 CC [M]  /tmp/vmware-config1/vmhgfs-only/cpNameLite.o
 CC [M]  /tmp/vmware-config1/vmhgfs-only/dbllnklst.o
 CC [M]  /tmp/vmware-config1/vmhgfs-only/dentry.o
 CC [M]  /tmp/vmware-config1/vmhgfs-only/dir.o
 CC [M]  /tmp/vmware-config1/vmhgfs-only/eventManager.o
 CC [M]  /tmp/vmware-config1/vmhgfs-only/file.o
 CC [M]  /tmp/vmware-config1/vmhgfs-only/filesystem.o
 CC [M]  /tmp/vmware-config1/vmhgfs-only/fsutil.o
 CC [M]  /tmp/vmware-config1/vmhgfs-only/hgfsBd.o
 CC [M]  /tmp/vmware-config1/vmhgfs-only/hgfsUtil.o
 CC [M]  /tmp/vmware-config1/vmhgfs-only/inode.o
 CC [M]  /tmp/vmware-config1/vmhgfs-only/kernelStubsLinux.o
 CC [M]  /tmp/vmware-config1/vmhgfs-only/link.o
 CC [M]  /tmp/vmware-config1/vmhgfs-only/message.o
 CC [M]  /tmp/vmware-config1/vmhgfs-only/module.o
 CC [M]  /tmp/vmware-config1/vmhgfs-only/page.o
 CC [M]  /tmp/vmware-config1/vmhgfs-only/request.o
 CC [M]  /tmp/vmware-config1/vmhgfs-only/rpcin.o
 CC [M]  /tmp/vmware-config1/vmhgfs-only/rpcout.o
 CC [M]  /tmp/vmware-config1/vmhgfs-only/staticEscape.o
 CC [M]  /tmp/vmware-config1/vmhgfs-only/stubs.o
 CC [M]  /tmp/vmware-config1/vmhgfs-only/super.o
 LD [M]  /tmp/vmware-config1/vmhgfs-only/vmhgfs.o
 Building modules, stage 2.
 MODPOST 1 modules
 CC      /tmp/vmware-config1/vmhgfs-only/vmhgfs.mod.o
 LD [M]  /tmp/vmware-config1/vmhgfs-only/vmhgfs.ko

make[1]: Leaving directory `/usr/src/kernels/2.6.22.4-65.fc7-i686' cp -f vmhgfs.ko ./../vmhgfs.o make: Leaving directory `/tmp/vmware-config1/vmhgfs-only' The module loads perfectly in the running kernel.

pcnet32 35781 0 Unloading pcnet32 module

Extracting the sources of the vmxnet module.

Building the vmxnet module.

Using 2.6.x kernel build system. make: Entering directory `/tmp/vmware-config1/vmxnet-only' make -C /lib/modules/2.6.22.4-65.fc7/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules make[1]: Entering directory `/usr/src/kernels/2.6.22.4-65.fc7-i686'

 CC [M]  /tmp/vmware-config1/vmxnet-only/vmxnet.o
 Building modules, stage 2.
 MODPOST 1 modules
 CC      /tmp/vmware-config1/vmxnet-only/vmxnet.mod.o
 LD [M]  /tmp/vmware-config1/vmxnet-only/vmxnet.ko

make[1]: Leaving directory `/usr/src/kernels/2.6.22.4-65.fc7-i686' cp -f vmxnet.ko ./../vmxnet.o make: Leaving directory `/tmp/vmware-config1/vmxnet-only' The module loads perfectly in the running kernel.

Extracting the sources of the vmblock module.

Building the vmblock module.

Using 2.6.x kernel build system. make: Entering directory `/tmp/vmware-config1/vmblock-only' make -C /lib/modules/2.6.22.4-65.fc7/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules make[1]: Entering directory `/usr/src/kernels/2.6.22.4-65.fc7-i686'

 CC [M]  /tmp/vmware-config1/vmblock-only/linux/block.o
 CC [M]  /tmp/vmware-config1/vmblock-only/linux/control.o
 CC [M]  /tmp/vmware-config1/vmblock-only/linux/dbllnklst.o
 CC [M]  /tmp/vmware-config1/vmblock-only/linux/dentry.o
 CC [M]  /tmp/vmware-config1/vmblock-only/linux/file.o
 CC [M]  /tmp/vmware-config1/vmblock-only/linux/filesystem.o
 CC [M]  /tmp/vmware-config1/vmblock-only/linux/inode.o
 CC [M]  /tmp/vmware-config1/vmblock-only/linux/module.o
 CC [M]  /tmp/vmware-config1/vmblock-only/linux/stubs.o
 CC [M]  /tmp/vmware-config1/vmblock-only/linux/super.o
 LD [M]  /tmp/vmware-config1/vmblock-only/vmblock.o
 Building modules, stage 2.
 MODPOST 1 modules
 CC      /tmp/vmware-config1/vmblock-only/vmblock.mod.o
 LD [M]  /tmp/vmware-config1/vmblock-only/vmblock.ko

make[1]: Leaving directory `/usr/src/kernels/2.6.22.4-65.fc7-i686' cp -f vmblock.ko ./../vmblock.o make: Leaving directory `/tmp/vmware-config1/vmblock-only' The module loads perfectly in the running kernel.

[EXPERIMENTAL] The Virtual Machine Communication Interface (VMCI) service provides a new communication capability with the Host, primarily for development at the moment. Would you like to enable this feature? [no]


Detected X.org version 1.3.


No drivers for X.org version: 1.3.


Do you want to change the display size that X starts with? (yes/no) [no]

Starting VMware Tools services in the virtual machine:

  Switching to guest configuration:                       [  OK  ]
  Guest filesystem driver:                                [  OK  ]
  Mounting HGFS shares:                                   [  OK  ]
  Guest memory manager:                                   [  OK  ]
  Guest vmxnet fast network device:                       [  OK  ]
  Blocking file system:                                   [  OK  ]
  DMA setup:                                              [  OK  ]
  Guest operating system daemon:                          [  OK  ]

The configuration of VMware Tools e.x.p build-51348 for Linux for this running kernel completed successfully.

You must restart your X session before any mouse or graphics changes take effect.

You can now run VMware Tools by invoking the following command: "/usr/bin/vmware-toolbox" during an X server session.

To use the vmxnet driver, restart networking using the following commands: /etc/init.d/network stop rmmod pcnet32 rmmod vmxnet modprobe vmxnet /etc/init.d/network start

To make use of the virtual printer, you will need to restart the CUPS service

If you wish to configure any experimental features, please run the following command: "vmware-config-tools.pl --experimental".

Enjoy,

--the VMware team


Development Case Study Using VMWARE - configure output

Creating .at files from XML under include/atmacros [ OK ] Creating initial build information scripts [ OK ] Creating stub manifest file [ OK ] Generating: "./config/yum.conf" [ OK ] Generating: "./config/rpm-check.sh" [ OK ] Generating: "./config/nstscriptdocbook2html.xsl" [ OK ] Verifying that NST scripts are up to date:

 Verify/build: "getipaddr"                                [  OK  ]
 Verify/build: "lddcheck"                                 [  OK  ]
 Verify/build: "nstcert"                                  [  OK  ]
 Verify/build: "nstnewscript"                             [  OK  ]
 Verify/build: "urlcache"                                 [  OK  ]

Verified: "5" of "5" scripts [ OK ]

Configuration is complete. Configured as:

                ARCHEXT:
                   ARCH: i686
              BUILDROOT: /usr/local/src
                 CFGDIR: /root/.nst
            DOCBOOK_XSL: file:///usr/local/src/docbook-xsl/docbook-xsl-1.73.0
                 DSTDIR: /root/nst/tmp
                  FCVER: 7
        GET_IP_ADDR_URL: http://nst.sourceforge.net/nst/cgi-bin/ip.cgi http://www.networksecuritytoolkit.org/nst/cgi-bin/ip.cgi http://whatismyip.org/
                HTMLDIR: /root/nst/tmp/public_html
              JAVA_HOME: /usr/java/jre1.6.0_02
                   JAVA: /usr/java/jre1.6.0_02/bin/java
                KERTYPE: i686
                 KERVER: 2.6.22.4-65.fc7
                LIBARCH: lib
          MACRO_OPTIONS: -debug 2
                NSTBOOT: desktop
      NSTCOMPRESSED_ISO: true
    NSTCTGPSDRIVEPASSWD: ******
       NSTCTMYSQLPASSWD: ******
            NSTCTPASSWD: ******
  NSTCTPOSTGRESQLPASSWD: ******
       NSTCTSNORTPASSWD: ******
          NSTDOMAINNAME: localdomain
           NSTHDDATADIR: /var/nst
            NSTHOSTNAME: probe
          NSTHWCLOCKUTC: false
   NST_INITRD_USES_CPIO: true
       NSTLIVECDDATADIR: /mnt/ram4
              NSTPASSWD: ******
       NSTPASSWD_PROMPT: true
       NSTPHRASE_PROMPT: false
            NSTSTRIPPED: true
            NSTTIMEZONE: America/New_York
           ON_LINE_DOCS: false
           PACKAGES_TSV: packages.tsv
                PKGCATS: boot boot2 bootnet system time printing db x gnome server development php java applications networking wireless dockapps recovery sound
                 SFUSER:
       SNORTRSCACHENAME: snort_rs_cache
    SOURCE_FORGE_MIRROR: http://easynews.dl.sourceforge.net/sourceforge
         WEBHOST_DOMAIN:
           WEBHOST_USER:

Use "make" to build src/nst-1.7.0.iso.gz, or "make help" to see additional targets.

NOTE: You may want to run "make package-update" to update MANY of the packages needed for the NST. You can then run "make package-check" to see what is left to do by hand (there are many helper scripts under "src/bin" to aid in the package install/update process).


Development Case Study Using VMWARE - make package-check-url

firefox (version 2.0.0.4) [ok] Image_Canvas (version 0.3.0) [ok] Image_Color (version 1.0.2) [ok] Image_Graph (version 0.7.2) [ok] Log (version 1.9.11) [ok] Mime_Type_Editor (version 0.2) [skip] Numbers_Roman (version 0.2.0) [ok] Numbers_Words (version 0.15.0) [ok] add_n_edit_cookies (version 0.2.1.1) [skip] amap (version 5.2) [ok] argus (version 3.4) [ok] aumix (version 2.8) [ok] autohide (version 1.1.5) [ok] bandwidthd (version 2.0.1) [ok] barnyard (version 0.2.0) [ok] bing (version 1.3.5) [failed]

 http://fgouget.free.fr/bing/bing_src-1.3.5.tar.gz

c3270 (version 3.3.4p8) [ok] cfdisk (version 0.9.4) [ok] chntpw (version 0.0.20040818) [ok] colorful_tabs (version 2.0.1) [unknown]

 https://addons.mozilla.org/en-US/firefox/downloads/file/14127/colorfultabs-2.0.1-firefox.xpi

cputnik (version 0.2.0) [ok] cryptcat (version 1.2.1) [ok] dd_rescue (version 1.12) [ok] dd_rhelp (version 0.0.6) [ok] dictionarysearch (version 2.0.1) [ok] dmidecode (version 2.8) [ok] domTT (version 0.7.3) [ok] e1000 (version 7.6.5) [ok] elinks (version 0.11.2) [ok] etherape (version 0.9.7) [ok] etherwake (version 1.09) [ok] ettercap (version 0.7.3) [ok] firewalk (version 5.0) [failed]

 http://www.packetfactory.net/projects/firewalk

fragroute (version 1.2) [ok] fruity (version 1.0-rc1) [ok] fwbuilder (version 2.1.13) [ok] fwbuilder-ipf (version 2.1.13) [ok] fwbuilder-ipfw (version 2.1.13) [ok] fwbuilder-ipt (version 2.1.13) [ok] fwbuilder-pf (version 2.1.13) [ok] gkismet (version 0.0.10) [ok] gkrellkam (version 2.0.0) [ok] gpsbabel (version 1.3.3) [ok] gpsdrive (version 2.10pre2) [ok] hammerhead (version 2.1.3) [ok] honeyd (version 1.5b) [ok] hydra (version 5.4) [ok] ifgraph (version 0.4.10) [ok] image_zoom (version 0.2.7) [ok] inprotect (version 0.22.05) [ok] iperf (version 2.0.2) [ok] ipmitool (version 1.8.9) [ok] ipsc (version 0.4.3) [ok] ipsec-tools (version 0.6.6) [ok] jakarta-jmeter (version 2.2) [ok] jikes (version 1.22) [ok] jpgraph (version 2.2) [ok] jre (version 1.6.0_02) [ok] kismet (version 2007.01.R1b) [ok] libdnsres (version 0.1a) [ok] libfwbuilder (version 2.1.13) [ok] libfwbuilder-devel (version 2.1.13) [ok] libssh (version 0.11) [ok] lilo (version 22.6) [ok] LinkChecker (version 0.6.1) [failed]

 https://addons.mozilla.org/firefox/532

linux-wlan-ng (version 0.2.7) [skip] long_titles (version 1.2.4) [ok] madwifi (version 0.9.3.2-rc1) [ok] mapscsi (version 0.0.11) [skip] mbrowse (version 0.3.1) [ok] metasploit (version 2.7) [ok] mpt-status (version 1.2.0) [skip] mysqltcl (version 3.02) [ok] ncat (version 0.10rc3) [skip] ndiswrapper (version 1.47) [ok] nemesis (version 1.4) [ok] nessus (version 2.2.10) [ok] netw (version 5.34.0) [ok] nikto (version 1.36) [ok] niktorat (version 1.0) [ok] nload (version 0.6.0) [ok] nmbscan (version 1.2.4) [ok] ntop (version 3.3.1) [unknown]

 https://svn.ntop.org/svn/ntop/trunk/ntop

nttcp (version 1.47) [ok] oinkmaster (version 2.0) [ok] p0f (version 2.0.8) [ok] packETH (version 1.3) [ok] partimage (version 0.6.5_beta3) [ok] php-base (version 1.3.6) [failed]

 http://secureideas.sourceforge.net/

phpMyAdmin (version 2.9.2) [ok] phpPgAdmin (version 4.1) [ok] phpSysInfo (version 2.5.3) [ok] pr3287 (version 3.3.4) [ok] puttywx (version 0.60) [ok] pwgen (version 2.05) [ok] quickrestart (version 1.1.0) [failed]

 https://addons.mozilla.org/firefox/3559

quicktables (version 2.3) [ok] rdesktop (version 1.5.0) [ok] reloadevery (version 2.0) [ok] sguil (version 0.6.1) [ok] secure_delete (version 3.1) [ok] sk98lin (version 8.41.2.3) [skip] smtpclient (version 1.0.0) [ok] snort (version 2.7.0.1) [ok] snort_inline (version 2.7.0.1) [ok] snort-mysql (version 2.7.0.1) [ok] snort-rules (version 2.4) [ok] snorter (version 2.1) [ok] snortslinger (version 1.3) [ok] tcl (version 8.4.13-16nothreads) [ok] tcpflow (version 0.21) [ok] tcping (version 1.3.4) [ok] tcpreen (version 1.4.3) [failed]

 http://www.simphalempin.com/dev/tcpreen/

tcpspray (version 1.1a) [ok] tcpstat (version 1.5) [failed]

 http://www.frenchfries.net/paul/tcpstat/

tcptrace (version 6.6.7) [ok] tcptraceroute (version 1.5beta7) [ok] tcptrack (version 1.2.0) [ok] tidy (version 0.8.3.9) [ok] tightvnc (version 1.3.8) [ok] tightvncwx (version 1.3.8) [ok] unicornscan (version 0.4.2) [ok] vmware-modules (version 1.0.3) [failed]

 http://nst.sourceforge.net/devel/vmware/vmware-modules-2.6.22.4-65.fc7.i686.tar.gz

vmware-tools (version 1.0.3) [failed]

 http://nst.sourceforge.net/devel/vmware/vmware-tools-2.6.22.4-65.fc7.i686.tar.gz

webdeveloper (version 1.1.4) [unknown]

 https://addons.mozilla.org/en-US/firefox/downloads/file/16347/web_developer-1.1.4-fx+fl.xpi

weplab (version 0.1.5) [ok] wipe (version 2.2.0) [ok] wireless-tools (version 28-1) [ok] wireshark (version 0.99.6) [ok] wmcpuload (version 1.0.1) [ok] wmfire (version 1.2.3) [ok] wmifinfo (version 0.09) [ok] wmlaptop (version 1.4) [skip] wmmemload (version 0.1.6) [failed]

 http://www.markstaggs.net/cgi-bin/newindex.pl?page=wmmemload

wmnd (version 0.4.11) [failed]

 http://www.yuv.info/wmnd/

wmsm (version 0.2.1) [ok] wmweather+ (version 2.9) [ok] make: *** [package-check-url] Error 1