Friday, March 10, 2017

Notes for running Windows 98 (or older OS's) on Rpi


Snip from a posting about making up a Raspberry Pi running QEMU running Windows 98.  Mainly a QEMU note.

This part needs to be done on a Windows based computer, not the Pi:
I broke out my copy of Windows 98 and followed this chaps guide to get the .img file needed for the emulator, copied it over to my Pi (into ‘/home/pi’ for ease of access).
Now back to the Pi:
Don’t worry about the Youtube video in the post above, that is for an older version of Raspbian, now Jessie has QEMU available and easily obtainable by typing:
sudo apt-get update && sudo apt-get install qemu -y
Time to test it. Navigate to ‘/home/pi’ and run:
qemu-system-i386 -localtime -cpu 486 -m 96 -hda win98.img
QEMU should pop up and begin launching Windows 98, when its loaded have a click around and then shut it down as you would a normal 98 machine.
When QEMU has shut off it’s time to apply…

******************

https://www.raspberrypi.org/forums/viewtopic.php?f=41&t=117228

I just installed debian jessie on a desktop PC. Ran the update and upgrade. And then I simply ran the apt-get install for qemu. That allowed me to do the entire win98 install on the desktop PC.

After installing qemu, I used the following command to create the img file:

qemu-img create win98.img 1G

Then I used the following command to install windows from a win98 ISO created from an original install disk.

qemu-system-i386 -localtime -cpu 486 -m 256 -cdrom d win98se.iso -boot d -hda win98.img

Doing that resulted in a quick, clean, problem-free windows 98 install. It bypassed all the Win98 installation problems I was having on the RPI. And this works much better anyway since the desktop is a much faster PC to work with.

After the win98 install, I took the resulting img file and copied it over to the PI. And then I used these instructions to get qemu running on the PI.

https://www.youtube.com/watch?v=nrq_VtrnhHE.

After qemu installed, I used the following command to run 98 on the RPI.

qemu -cpu 486 -m 256 -hda win98.img

It's slow, but seems to work great. The only problem I have found is it does not close cleanly. It always hangs on shutdown which means it always does a scandisk when it restarts. If anyone has any ideas how to fix that, I'd love to hear them.

Tuesday, March 7, 2017

vmx network setting notes







Vmware notes on selecting network adapters


https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1001805

Advanced network settings
VMX-file parameters

Basic setup
MAC address handling
ESX - specific
VMware-tools related Wake on LAN
Advanced setup - experts only Advanced MAC address handling - experts only

other parameters related to network


Basic setup - see basic table for reasonable blocks

ethernet0.present = "false" Main-switch: set to "true" to enable the device.
This parameter works like a mainswitch - if it is set to "true" all other parameters related to the same device are parsed. If it is set to "false" the other parameters are ignored.

ethernet0.startConnected = "true" Silently defaults to "true"
set ito "false" f you don't want the nic to be connected at boot

ethernet0.virtualDev = "vlance"
ethernet0.virtualDev = "vmxnet"
ethernet0.virtualDev = "e1000"
On current VMware-versions you can use any of these 3
e1000 performs best but your OS may not come with the drivers
vmxnet needs drivers that come with the VMware-tools
vlance should work on all older OS without additional drivers

ethernet0.connectionType = "bridged"
ethernet0.connectionType = "hostonly"
ethernet0.connectionType = "nat"
ethernet0.connectionType = "custom"

ethernet0.connectionType = "monitor_dev"
Sets the connection type.
Silently defaults to "bridged"

also see additional notes

ethernet0.vnet = "vmnet0"
...
ethernet0.vnet = "vmnet9"
Sets the number of the used vmnet.
Only use with connection type "custom"
also see additional notes

top


MAC-address handling

ethernet0.addressType = "generated"
ethernet0.generatedAddress = "00:0c:29:40:7e:22"
ethernet0.generatedAddressOffset = "0"
This lines are added automatically on first start of a VM.
If you need a different MAC delete this lines and use those from the next block


ethernet0.addressType = "static"
ethernet0.address = "00:50:56:3e:86:29"
This settings have to be used to configure a
MAC-address manually.

Valid range:
00:50:56:00:00:00
00:50:56:3f:ff:ff


ethernet0.addressType = "static"
ethernet0.addressType = "generated"
ethernet0.addressType = "vpx"

top


advanced MAC-address handling

ethernet0.ignoreMACAddressConflict = "false"
I think this is another silent default - usually a Nic will not come up if the same Mac exists on the network.

ethernet0.noPromisc = "true"
This disables - well have a guess - yes , this disables promiscous-mode.
On Linux hosts you must be root to set nics into promiscous mode - read more

ethernet0.noForgedSrcAddr = "true"
This disables spoofing of Mac-address

ethernet0.reassignMAConResume = "true"
I guess this is another silent default - usually VMware tries to assign the same MAC after resume as it was used before resume.

ethernet0.checkMACAddress = "FALSE"
ESX and WS 6.5 - allows to set a MAC outside the usual range (experimental)
ethernet0.downWhenAddrMismatch = "false"
see knowledgebase

top


Tools related settings

ethernet0.allowGuestConnectionControl = "false" Disallow control of connection from inside the guest.
(Only works with guests that have VMware tols installed)
Silent default is "true"

ethernet0.disableMorphToVmxnet = "false"
Vlance-nics magically morph to VMXnet nics after tools-install.
Don't use ...

top


Wake on Lan

ethernet0.wakeOnPcktRcv = "false"
Workstation 6 and higher only
Set to "true" to enable WakeOnLan functions
Don't specify unless you really need it.

top


ESX specific ?

ethernet0.devName
ethernet0.exclusive
ethernet0.pvnID
ethernet0.networkName

Ethernet0.connectionType = "monitor_dev"
Ethernet0.devName = "vmnic0"
Ethernet0.networkName = "sciquestprod"
ESX - specific ?

top


Advanced setup
WARNING: don't use this unless you kow what you are doing

ethernet0.numRecvBuffers
ethernet0.numXmitBuffers

ethernet0.rxbw.limit
ethernet0.rxbw.queuesize
ethernet0.rxfi.droprate
ethernet0.rxfi.dropsize

ethernet0.txbw.limit
ethernet0.txbw.queuesize
ethernet0.txfi.droprate
ethernet0.txfi.dropsize

ethernet0.noReceiveAfterSend
ethernet0.yieldAfterSend

ethernet0.flashWriteable
ethernet0.forcedToBridged
Fine-tuning: don't ask me

ethernet0.features ="0"
Do you get poor UDP-performance with vmxnet-device ?
Try this - see forumpost
May speed up performance when running ghost ...


ethernet0.allow64bitVmxnet = "true"
ethernet0.allow64bitVlance = "true"
ON 64-bit hosts VMware likes to assign E1000 - but you can force it to use different adapters by useing this lines
along with the appropriate virtualDev-entries.

ethernet0.opromsize = ?
Boot ROM size - don't know details

ethernet0.features = "0x2"
Enable TCP Segmentation Offloading (TSO) for a Windows virtual machine on ESX 2.x
Reference: knowledgebase 1465

top


related parameters

These parameters are somehow related but not dependant on the main-switch that

vlance.noOprom = "true"
vmxnet.noOprom = "true"
Recent VMware-versions allow Network-boot.
If you know that you don't need this, you can free some memory by using this

ethernet.e1000.available = "true"
ethernet.vlance.available = "true"
ethernet.morphNICs = "true"
ethernet.perfMonInterval = ?
Don't use

vnet.dontProbe = "false"
Sometimes Windows-guests have problems to probe the
virtual Nics at boot-time: try this


Don't use it if you don't need it - it affects performance

top




There are two different ways to assign Virtual Nets:
The easy way uses one out of three options:
ethernet0.connectionType = "bridged"

ethernet0.connectionType = "hostonly"
ethernet0.connectionType = "nat"

The expert way uses a combination of 'connectionType' and "vnet"
ethernet0.connectionType = "custom"
and the exact number of the VNET you want - like
ethernet0.vnet = "vmnet0"
Lets have an example: you have two bridged networks on Player: vmnet0 and vmnet2
If you use
ethernet0.connectionType = "bridged"
ethernet1.connectionType = "bridged"
the second ethernet device will not come up.

If you use
ethernet0.connectionType = "custom" ethernet0.vnet = "vmnet0"
ethernet1.connectionType = "custom"
ethernet1.vnet = "vmnet2"
instead - both devices will come up.


http://sanbarrow.com/vmx/vmx-network-advanced.html
 

Sunday, March 5, 2017

Notes on disabling pad when USB mouse is plugged in



How To Turn Off Touchpad When Mouse Is Connected In Windows 10/7/8.1

Earlier this year, I talked about configuring Mac OS X to automatically disable the trackpad when a mouse is connected to the MacBook. This feature comes in handy for those users who always use a mouse and don’t want to use the built-in trackpad after connecting the mouse.
In Windows operating system, a graphical option to automatically turn off the touchpad when a mouse is connected can be found under Mouse Properties in Control Panel. In addition to that, if you’re running Windows 8.1 with the recently released August Update, you can now configure Windows 8.1 to automatically turn off the touchpad when a mouse is connected to your netbook or notebook right from PC settings.
If you’re using a notebook or netbook equipped with ELAN or Synaptics touchpad, an option labelled Disable internal pointing device when a mouse is connected should appear under Mouse Properties.\
Following are the steps you need to follow in order to automatically disable touchpad when a mouse is connected in Windows 10, 8/8.1 and Windows 7.

Turn off touchpad when mouse is connected using Control Panel

Method 1 of 4
For Windows 10
Step 1: Open Settings, click Devices icon and then click Mouse & touchpad.
Step 2: Under Touchpad section, turn off the option labelled Leave touchpad on when a mouse is connected.
Method 2 of 4
(This method should work fine on Windows 10, Windows 7, and Windows 8/8.1)
Step 1: Open Control Panel by navigating to Start menu and then clicking Control Panel.
Step 2: Change the default View to Small icons. Look for the entry named Mouse and click on the same to open Mouse Properties.
Step 3: Switch to the ELAN or Device Settings tab and look for an option titled Disable when external USB pointing device plug in or Disable internal pointing device when external USB pointing device is attached. Check the same option and then click Apply button. That’s it!
If the above option isn’t present and you’re laptop is using Synaptics touchpad, you can try out the given below instructions to see the above mentioned option.
Method 3 of 4
NOTE: We recommend you create a backup of Registry before changing default entries.
Step 1: Open Registry Editor. To do so, open Run command by simultaneously pressing Windows + R keys, type Regedit.exe in the field followed by enter key.
Click on the Yes button when you see the UAC prompt.
Step 2: In the Registry Editor, navigate to the following key:
HKEY_LOCAL_MACHINE\SOFTWARE\Synaptics\SynTPEnh
Step 3: On the right-side, create a new DWORD value and rename it as DisableIntPDFeature. Finally, change its value to 33 (make sure that Hexdecimal is selected under Base section).
Step 4: Close the Registry Editor and reboot your PC to see Disable internal pointing device when external USB pointing device is connected option. Good luck!
Method 4 of 4
Disable touchpad when mouse is connected in Windows 8.1
Step 1: Open PC settings. To do so, move the mouse cursor to the upper or lower right corner of the screen to see the Charms bar, click Settings and then click Change PC settings option.
Step 2: On the left-pane of PC settings, click PC and devices, and then click Mouse and touchpad.
Step 3: Here, on the right-side, look for the option titled Leave touchpad on when a mouse is connected and turn off the same to automatically turn off the touchpad when you connect a mouse to your Windows 8.1 notebook or netbook. That’s it!

Monday, February 20, 2017

Openvpn - Ipfire setup


Archive of setup web page

Table of Contents

Introduction

This tutorial is a follow-up to the Install IPFire Linux Firewall tutorial. The goal is to configure OpenVPN from inside IPFire to support a client-to-network or host-to-net configuration. This can also be referred to as a "road warrior" configuration. It is most often used when you would like to establish a secure connection into the private network from various remote locations. This is in contrast with a network-to-network (site-to-site) configuration where you are linking two private networks that are each protected by IPFire or OpenVPN servers.

Requirements

Complete part one of the tutorial OR have an available IPFire virtual machine configured in your data center.
Access to the IPFire web interface. (Typically listens on port 444)
Optional: SSH access to the IPFire server. (Typically listens on port 222)

Configure OpenVPN on the IPFire Server

Open Services -> OpenVPN from the top navigation menu once you have logged in as admin.
OpenVPN Services Menu
Click Generate root/host certificates.
OpenVPN Services Main Screen
Fill out the required fields Organization Name and IPFire's Hostname. The hostname should be populated automatically. 2048 is a reasonable value to select from the Diffie-Hellman parameters length drop-down menu.
OpenVPN Generate Certificates
The WARNING in the screenshot above is valid. Generating the root and host certificate can take a long time. If you want to confirm that it is working, open a SSH session to the IPFire server and use the top command to see the openssl process running with significant %CPU activity while the certificates are being generated. The certificate generation process took 10 - 15 minutes to complete for this tutorial.
OpenVPN Generate Certificates top
You will be returned to the Services -> OpenVPN screen once the certificates have been generated. The Certificate Authorities and Keys section will contain new values for Subject and Action.
Click Advanced Server Options.
OpenVPN Generate Certificates done
Under Advanced server options you can select SHA2 (256 bit) for the Hash algorithm and also check the box for HMAC tls-auth. Use the Save advanced options button when you are done.
OpenVPN Advanced Options
Now check the boxes for OpenVPN on RED and LZO-Compression and then press the Save and Start OpenVPN Server buttons. We want to have OpenVPN listening on the "RED" interface so we can establish an OpenVPN connection across the public internet. The "LZO-Compression" option reduces bandwidth usage by compressing traffic that passes over the VPN.
OpenVPN Start
The OpenVPN server will start and this will be reflected by the value of Current OpenVPN server status changing from STOPPED to RUNNING.
OpenVPN Started

Verification

Now that OpenVPN has started, you can verify it is listening on port 1194 from the shell using netstat.
[root@ipfire ~]# netstat -na |grep 1194
udp        0      0 0.0.0.0:1194            0.0.0.0:*
or using ss with the -u for UDP and -l for LISTEN options, like this:
[root@ipfire ~]# ss -u -l |grep openvpn
State      Recv-Q Send-Q                 Local Address:Port          Peer Address:Port
UNCONN     0      0                       *:openvpn                  *:*

Add a User

In the Connection Status and -Control section, press the Add button to begin the process of adding a new user.
Connection Status Control Add
The Host-to-Net Virtual Private Network (Roadwarrior) connection type should be selected by default. Confirm the selection and press Add to continue.
Connection Status Control Add Host-to-Net
We will now complete the fields on this screen. Under Connection: we need to fill out Name:. You may wish to add a Remark: as a comment or note to yourself regarding who this user is. Please make sure Enabled: is checked.
Under Authentication: we want to Generate a certificate: so we will need to enter the User's full name or system hostname: and enter a password in the PKCS12 File Password fields. The Valid till (days) field controls the expiration date of the certificate. If your organization doesn't have to comply with any specific regulations regarding certificate replacement, then entering a value of 999 gives this user a little under three years until expiration.
Connection Status Control Add Host to Net User Details
For this tutorial, we will ignore the Advanced client options section. Additional details on the various configuration options available here can be found in the OpenVPN client config section of the IPFire Wiki.
When you have the necessary fields filled out, press the Save button.
NOTE: Keep track of the PKCS12 File Password assigned here as the client will need it to connect.
The Connection Status and -Control section of Services->OpenVPN should now show the newly-added user.
Connection Status Control New User

Download and Install the OpenVPN Client Software

The OpenVPN client can be downloaded from OpenVPN.net
You will want to choose the appropriate installer for the OS you are installing on. For Windows 10 64-bit, you would select the "Installer (64-bit) Windows Vista and Later". At the time of writing, the file you would end up downloading is called openvpn-install-2.3.8-1601-x86_64.exe. Be aware that this filename will change as new versions of the OpenVPN client software are released.
Once you have the installer file downloaded, go ahead and start the installation. The installation process on Windows 10 is quite typical with one exception. During the install you will be prompted to approve the installation of the 'device software' "TAP-Windows Provider V9 Network adapters"
TAP Network Adapter Prompt
Click the Install button to approve the installation and continue.
After a few minutes, you should see a screen indicating that the installation has completed successfully.
OpenVPN client install completed successfully
At this point, I would suggest that you do NOT launch the software, but instead take a look through the README file. For version 2.3.8, the following important information is contained in the INSTALL-win32.txt file:
Finally, install the new version of OpenVPN and copy over
your configuration files and certificates, which now go to

    C:\Program Files\OpenVPN\config

provided you did not install the 32-bit version on 64-bit
Windows.

IMPORTANT NOTE FOR WINDOWS VISTA/7 USERS

Note that on Windows Vista, you will need to run the OpenVPN
GUI with administrator privileges, so that it can add routes
to the routing table that are pulled from the OpenVPN server.
You can do this by right-clicking on the OpenVPN GUI
desktop icon, and selecting "Run as administrator".
We will follow that advice and copy the configuration files to our local system and put them in the appropriate directory.

Client Configuration

The config files are available in a zip archive which can be downloaded from the ipfire web interface.
OpenVPN download client package
Use the Download Client Package (zip) action icon to save a copy of the config files to your local system.
OpenVPN download client package save
Once the file is downloaded, extract the contents to a temporary location and we will proceed to copy the files to the correct location. For this tutorial there are three files in the zip archive:
JDoe.p12
JDoe-TO-IpFire.ovpn
ta.key
Here is a screenshot of the default config directory C:\Program Files\OpenVPN\config on Windows 10 (64-bit):
OpenVPN default config directory
We need to provide administrator permissions in order to copy the files into the config directory successfully.
OpenVPN config directory needs administrator permissions
Once the files have been copied in, you should have something similar to the following:
OpenVPN config directory
Finally we can connect to OpenVPN by launching the OpenVPN GUI with "Administrative Permissions". To do this, right-click the "OpenVPN GUI" shortcut or menu item, go to "More" and then "Run as administrator". Press the Yes button when the "User Account Control" warning pops up.
OpenVPN GUI launch as administrator
The OpenVPN GUI icon should appear in your task bar. Right-click it and you should see the options available, including one to Connect.
OpenVPN GUI connect
If the configuration files are NOT present, the menu is much shorter. So, if you happen to see something like this:
OpenVPN GUI connect no config
then double-check that you have copied the configuration files into the correct location.
When we Connect, we will be prompted for the PKCS12 File Password that we set earlier when adding the Host-to-Net user. Enter it now, and some information will scroll by as the connection is established.
OpenVPN GUI connecting
If successful, we will briefly see a notification in the lower right corner of the screen:
OpenVPN GUI connected
The OpenVPN GUI taskbar icon has changed to a green color indicating a successful active connection. If you want to see the status of your connection, you can right-click the taskbar icon and select Show Status from the menu.
OpenVPN GUI connected show status
Everything looks good, so we can proceed to test the connection. How you do this will somewhat depend on what other resources you have configured on your data center network. At the very least though, we should now be able to ping the GREEN network interface of the IPFire server from our local machine that is now connected via OpenVPN.
C:\>ping 172.16.1.1

Pinging 172.16.1.1 with 32 bytes of data: 
Reply from 172.16.1.1: bytes=32 time=43ms TTL=64
Reply from 172.16.1.1: bytes=32 time=44ms TTL=64
Reply from 172.16.1.1: bytes=32 time=43ms TTL=64
Reply from 172.16.1.1: bytes=32 time=44ms TTL=64

Ping statistics for 172.16.1.1:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 43ms, Maximum = 44ms, Average = 43ms
We should also be able to access the IPFire web interface over the GREEN network (https://172.16.1.1:444) via the VPN instead of having to access it over the RED network.

Troubleshooting

If you are having difficulty connecting to resources on the private network over the OpenVPN connection there are a few things you can check.
The OpenVPN client needs elevated permissions in order to modify the Windows system routing table. If your traffic is not being routed properly, make sure that you launched the OpenVPN client/GUI with Administrator permissions. Generally this is done by right-clicking the icon for the program and choosing "Run as administrator".
Make sure the appropriate route has been added so that you can access the private network from your OpenVPN client. If you are running the OpenVPN client on Windows, you can use netstat -nr to take a look at the system routing table.
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0     192.168.10.1   192.168.10.246     10
      10.71.202.1  255.255.255.255      10.71.202.5      10.71.202.6     20
      10.71.202.4  255.255.255.252         On-link       10.71.202.6    276
      10.71.202.6  255.255.255.255         On-link       10.71.202.6    276
       172.16.1.0    255.255.255.0      10.71.202.5      10.71.202.6     21
The last entry in the table above shows that traffic destined for the 172.16.1.0/24 network will be routed through 10.71.202.5 to the IPFire server running OpenVPN. This will allow us to access any servers using an IP address in the 172.16.1.0/24 ip range, including the management interface of IPFire itself. For the tutorial, we have IPFire listening on 172.16.1.1:444.
The route(s) the server automatically pushes to the client when connecting are controlled by an individual CCD (Client Configuration Directive) file on the server. These files are stored in /var/ipfire/ovpn/ccd/ with a filename that matches the user we added. For purposes of this tutorial, the full path to the file is /var/ipfire/ovpn/ccd/jdoe. If we take a look at that file, we can see that a route for our private 172.16.1.0/24 network is properly configured to be pushed to the connecting OpenVPN client.
[root@ipfire ccd]# more jdoe
# OpenVPN clientconfig from ccd extension by Copymaster#

#This client uses the dynamic pool

#Client gets routes to these networks (behind IPFire)
push "route 172.16.1.0 255.255.255.0"
You may find that a different route is set here if you have changed the ip network the GREEN/Private interface is using since initially configuring OpenVPN or adding the user.

Support

You are welcome to post questions or comments related to this tutorial and we will endeavor to provide assistance.

Wednesday, February 15, 2017

Launching vmware clients on Linux host using VMware VIX libraries



How to launch VMware Player VMs without GUI

If you are a user of VMware Player, you may have wondered whether it's possible to run VMware player without GUI. For example, when you are accessing VMware hosts via SSH remotely, you may want to run VMware Player from the command line.

 While you can use X11 forwarding over SSH to launch VMware player's GUI from remote locations, it will be rather inconvenient if the SSH connection is slow. Furthermore, the VM launched inside VMware Player's GUI window will automatically be stopped when you close the VMware Player window.

If you would like to start or stop VMware Player VMs without GUI, you can use vmrun which is a command-line utility which one can use to automate operations on VMware virtual machines (VMs). vmrun is contained in VMware VIX API libraries which are freely downloadable from VMware website. You can follow the instructions below to manage VMware Player VMs remotely.

It is assumed that you have already created a VM using VMware Player, and so have *.vmx files ready somewhere. Now you want to start/stop the VM using vmrun. You don't need root permission to use vmrun command.

First, download VMware VIX for Linux, and then install it on the VMware host as follows.
$ chmod 755 ./VMware-VIX-1.11.0-471780.x86_64
$ sudo ./VMware-VIX-1.11.0-471780.x86_64
 
To start VM:
$ vmrun -T player start /path/to/vm/my.vmx nogui
 
To reboot VM:
$ vmrun -T player reset /path/to/vm/my.vmx soft
 
To power off VM:
$ vmrun -T player stop /path/to/vm/my.vmx soft
 
 
 

Tuesday, February 7, 2017