mirror of
				https://github.com/Wind4/vlmcsd.git
				synced 2025-11-03 22:39:28 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			810 lines
		
	
	
		
			28 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			810 lines
		
	
	
		
			28 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!-- Creator     : groff version 1.22.3 -->
 | 
						|
<!-- CreationDate: Fri Jun 17 16:39:15 2016 -->
 | 
						|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
 | 
						|
"http://www.w3.org/TR/html4/loose.dtd">
 | 
						|
<html>
 | 
						|
<head>
 | 
						|
<meta name="generator" content="groff -Thtml, see www.gnu.org">
 | 
						|
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 | 
						|
<meta name="Content-Style" content="text/css">
 | 
						|
<style type="text/css">
 | 
						|
       p       { margin-top: 0; margin-bottom: 0; vertical-align: top }
 | 
						|
       pre     { margin-top: 0; margin-bottom: 0; vertical-align: top }
 | 
						|
       table   { margin-top: 0; margin-bottom: 0; vertical-align: top }
 | 
						|
       h1      { text-align: center }
 | 
						|
</style>
 | 
						|
<title>VLMCSD-FLOPPY</title>
 | 
						|
 | 
						|
</head>
 | 
						|
<body>
 | 
						|
 | 
						|
<h1 align="center">VLMCSD-FLOPPY</h1>
 | 
						|
 | 
						|
<a href="#NAME">NAME</a><br>
 | 
						|
<a href="#DESCRIPTION">DESCRIPTION</a><br>
 | 
						|
<a href="#SUPPORTED HYPERVISORS">SUPPORTED HYPERVISORS</a><br>
 | 
						|
<a href="#SETUP">SETUP</a><br>
 | 
						|
<a href="#CONFIGURATION">CONFIGURATION</a><br>
 | 
						|
<a href="#OPERATION">OPERATION</a><br>
 | 
						|
<a href="#PERMANENT CHANGES OF INITRD">PERMANENT CHANGES OF INITRD</a><br>
 | 
						|
<a href="#FAQ">FAQ</a><br>
 | 
						|
<a href="#FILES">FILES</a><br>
 | 
						|
<a href="#BUGS">BUGS</a><br>
 | 
						|
<a href="#AUTHOR">AUTHOR</a><br>
 | 
						|
<a href="#CREDITS">CREDITS</a><br>
 | 
						|
<a href="#SEE ALSO">SEE ALSO</a><br>
 | 
						|
 | 
						|
<hr>
 | 
						|
 | 
						|
 | 
						|
<h2>NAME
 | 
						|
<a name="NAME"></a>
 | 
						|
</h2>
 | 
						|
 | 
						|
 | 
						|
<p style="margin-left:11%; margin-top: 1em">floppy144.vfd
 | 
						|
− a bootable floppy disk with Linux and
 | 
						|
<b>vlmcsd</b>(8)</p>
 | 
						|
 | 
						|
<h2>DESCRIPTION
 | 
						|
<a name="DESCRIPTION"></a>
 | 
						|
</h2>
 | 
						|
 | 
						|
 | 
						|
 | 
						|
<p style="margin-left:11%; margin-top: 1em"><b>floppy144.vfd</b>
 | 
						|
is an image of a bootable floppy that contains a minimal
 | 
						|
version of Linux and <b>vlmcsd</b>(8). It requires only 16
 | 
						|
MB of RAM. Its primary purpose is to run <b>vlmcsd</b>(8) in
 | 
						|
a small virtual machine which makes it easy to use
 | 
						|
<b>vlmcsd</b>(8) to activate the virtual machine’s
 | 
						|
host computer which is not possible in Windows 8.1 and up.
 | 
						|
The floppy image is a standard 3,5" floppy with 1.44 MB
 | 
						|
storage. It is formatted with a FAT12 filesystem. The floppy
 | 
						|
can be mounted to apply several customizations.</p>
 | 
						|
 | 
						|
<h2>SUPPORTED HYPERVISORS
 | 
						|
<a name="SUPPORTED HYPERVISORS"></a>
 | 
						|
</h2>
 | 
						|
 | 
						|
 | 
						|
<p style="margin-left:11%; margin-top: 1em">The floppy
 | 
						|
image has been tested with the following hypervisors:</p>
 | 
						|
 | 
						|
<p style="margin-left:22%; margin-top: 1em">VMWare,
 | 
						|
VirtualBox, Hyper-V and QEMU</p>
 | 
						|
 | 
						|
<p style="margin-left:11%; margin-top: 1em">Others are
 | 
						|
likely to work.</p>
 | 
						|
 | 
						|
<h2>SETUP
 | 
						|
<a name="SETUP"></a>
 | 
						|
</h2>
 | 
						|
 | 
						|
 | 
						|
<p style="margin-left:11%; margin-top: 1em">Create a new
 | 
						|
virtual machine. Assign 16 MB of RAM. Add a floppy drive and
 | 
						|
attach <b>floppy144.vfd</b> to this drive. Do not create a
 | 
						|
virtual hard disk. Setup the virtual machine to boot from a
 | 
						|
floppy drive (VirtualBox has floppy boot disabled by
 | 
						|
default). If possible, setup a virtual machine with plain
 | 
						|
old BIOS (not UEFI). If you created an UEFI virtual machine,
 | 
						|
enable the compatibility support mode (CSM) to allow a BIOS
 | 
						|
compatible boot. Set number of CPUs to 1. The Linux kernel
 | 
						|
is not capable of SMP. Remove IDE, SATA, SCSI and USB
 | 
						|
support if possible. The Linux kernel can’t handle
 | 
						|
this and ignores any devices connected to these buses.</p>
 | 
						|
 | 
						|
<p style="margin-left:11%; margin-top: 1em">Setup an
 | 
						|
ethernet card. The following models are supported:</p>
 | 
						|
 | 
						|
<p style="margin-left:22%; margin-top: 1em">Intel PRO/1000
 | 
						|
<br>
 | 
						|
AMD PCNET III <br>
 | 
						|
AMD PCNET32 <br>
 | 
						|
VMWare vmxnet3 (paravirtualized driver used by VMWare) <br>
 | 
						|
virtio (paravirtualized driver used by VirtualBox, QEMU, KVM
 | 
						|
and lguest)</p>
 | 
						|
 | 
						|
<p style="margin-left:11%; margin-top: 1em">Most
 | 
						|
hypervisors emulate an Intel PRO/1000 or AMD PCNET32 by
 | 
						|
default. Selecting a paravirtualized driver slightly
 | 
						|
improves performance. In VirtualBox you can simply select
 | 
						|
virtio in the network configuration dialog. VMWare requires
 | 
						|
that you add or change the VMX file. Use
 | 
						|
’ethernet0.virtualDev = "vmxnet3"’
 | 
						|
in your VMWare config file.</p>
 | 
						|
 | 
						|
<p style="margin-left:11%; margin-top: 1em">If you are
 | 
						|
using QEMU, you must also setup a TAP adapter. Port
 | 
						|
redirection does not work to activate your own computer.</p>
 | 
						|
 | 
						|
<h2>CONFIGURATION
 | 
						|
<a name="CONFIGURATION"></a>
 | 
						|
</h2>
 | 
						|
 | 
						|
 | 
						|
 | 
						|
<p style="margin-left:11%; margin-top: 1em"><b>floppy144.vfd</b>
 | 
						|
can be customized to fit your needs. This is done by editing
 | 
						|
the file syslinux.cfg on the floppy image. The floppy image
 | 
						|
must be mounted. Under Linux you can simply attach
 | 
						|
<b>floppy144.vfd</b> to a loop device which is mountable
 | 
						|
like any other block device. For Windows you must use some
 | 
						|
software that allows mounting a floppy image, e.g.
 | 
						|
<a href="http://www.osforensics.com/tools/mount-disk-images.html">OSFMount</a></p>
 | 
						|
 | 
						|
<p style="margin-left:11%; margin-top: 1em">OSFMount works
 | 
						|
under all Windows versions beginning with Windows XP up to
 | 
						|
Windows 10 (32- and 64-bit).</p>
 | 
						|
 | 
						|
<p style="margin-left:11%; margin-top: 1em">The default
 | 
						|
syslinux.cfg file looks like this:</p>
 | 
						|
 | 
						|
<p style="margin-left:22%; margin-top: 1em"><small>prompt 0
 | 
						|
<br>
 | 
						|
TIMEOUT 50 <br>
 | 
						|
default dhcp</small></p>
 | 
						|
 | 
						|
<p style="margin-left:22%; margin-top: 1em"><small>LABEL
 | 
						|
dhcp <br>
 | 
						|
KERNEL bzImage <br>
 | 
						|
APPEND vga=773 quiet initrd=initrd KBD=us
 | 
						|
LISTEN=[::]:1688,0.0.0.0:1688 TZ=UTC0 IPV4_CONFIG=DHCP
 | 
						|
NTP_SERVER=pool.ntp.org HOST_NAME=vlmcsd
 | 
						|
ROOT_PASSWORD=vlmcsd USER_NAME=user USER_PASSWORD=vlmcsd
 | 
						|
GUEST_PASSWORD=vlmcsd INETD=Y
 | 
						|
WINDOWS=06401-00206-271-395032-03-1033-9600.0000-1652016
 | 
						|
OFFICE2010=06401-00096-199-204970-03-1033-9600.0000-1652016
 | 
						|
OFFICE2013=06401-00206-234-921934-03-1033-9600.0000-1652016
 | 
						|
HWID=36:4F:46:3A:88:63:D3:5F</small></p>
 | 
						|
 | 
						|
<p style="margin-left:22%; margin-top: 1em"><small>LABEL
 | 
						|
static <br>
 | 
						|
KERNEL bzImage <br>
 | 
						|
APPEND vga=773 quiet initrd=initrd KBD=fr
 | 
						|
LISTEN=[::]:1688,0.0.0.0:1688 TZ=CET-1CEST,M3.5.0,M10.5.0/3
 | 
						|
IPV4_CONFIG=STATIC IPV4_ADDRESS=192.168.20.123/24
 | 
						|
IPV4_GATEWAY=192.168.20.2 IPV4_DNS1=192.168.20.2
 | 
						|
IPV4_DNS2=NONE NTP_SERVER=pool.ntp.org HOST_NAME=vlmcsd
 | 
						|
ROOT_PASSWORD=vlmcsd USER_NAME=user USER_PASSWORD=vlmcsd
 | 
						|
GUEST_PASSWORD=vlmcsd INETD=Y</small></p>
 | 
						|
 | 
						|
<p style="margin-left:11%; margin-top: 1em">There are two
 | 
						|
configurations in this files: <i>dhcp</i> (for configuring
 | 
						|
the IPv4 network via DHCP) and <i>static</i> (for a static
 | 
						|
IPv4 configuration). The kernel always boots the <i>dhcp</i>
 | 
						|
configuration without asking (lines ’prompt 0’
 | 
						|
and ’default dhcp’). You can simply change the
 | 
						|
default configuration to <i>static</i> and then customize
 | 
						|
the APPEND line in the <i>static</i> configuration. For more
 | 
						|
details how to customize the syslinux.cfg file see
 | 
						|
<b>syslinux</b>(1).</p>
 | 
						|
 | 
						|
<p style="margin-left:11%; margin-top: 1em">Each APPPEND
 | 
						|
line contains one or more items seperated by spaces. <b>All
 | 
						|
items are case-sensitive</b>. The following parameters can
 | 
						|
be customized: <b><br>
 | 
						|
vga=</b><i>vesa-video-mode</i></p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">Sets the VESA display mode for
 | 
						|
the virtual machine. The parameter is not optional. If you
 | 
						|
ommit it, you will not see anything on the screen. 773 means
 | 
						|
1024x768 with 256 colors. See
 | 
						|
<a href="https://en.wikipedia.org/wiki/VESA_BIOS_Extensions#Linux_video_mode_numbers">Wikipedia</a>
 | 
						|
for more video modes. Note that all 16 color (4-bit) modes
 | 
						|
will not work. Use 8-bit (256 colors), 16-bit (65536
 | 
						|
colors), 24-bit and 32-bit (> 16 Million colors) only.
 | 
						|
All modes above 1280x1024 are non-VESA-standard and vary for
 | 
						|
all (virtual) graphic cards.</p>
 | 
						|
 | 
						|
<table width="100%" border="0" rules="none" frame="void"
 | 
						|
       cellspacing="0" cellpadding="0">
 | 
						|
<tr valign="top" align="left">
 | 
						|
<td width="11%"></td>
 | 
						|
<td width="7%">
 | 
						|
 | 
						|
 | 
						|
<p><b>quiet</b></p></td>
 | 
						|
<td width="4%"></td>
 | 
						|
<td width="78%">
 | 
						|
 | 
						|
 | 
						|
<p>This causes the kernel not display the its log during
 | 
						|
boot. You may omit <b>quiet</b> but it doesn’t make
 | 
						|
much sense. The boot log is actually very verbose and
 | 
						|
scrolls away from screen quickly. If any errors occur during
 | 
						|
boot, they will be displayed even if <b>quiet</b> is present
 | 
						|
in the APPEND line. You may evaluate the complete boot log
 | 
						|
later by using the dmesg command or the menu on
 | 
						|
/dev/tty8.</p> </td></tr>
 | 
						|
</table>
 | 
						|
 | 
						|
 | 
						|
<p style="margin-left:11%;"><b>initrd=</b><i>initial-ram-disk-file</i></p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">This defines the initial ram
 | 
						|
disk that the kernel will read. There is only one initial
 | 
						|
ram disk on the floppy thus leave <i>initrd=initrd</i> as it
 | 
						|
is.</p>
 | 
						|
 | 
						|
 | 
						|
<p style="margin-left:11%;"><b>KBD=</b><i>keyboard-layout-name</i></p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">This allows you to select the
 | 
						|
keyboard layout. <i>keyboard-layout-name</i> is usually the
 | 
						|
ISO 3166-1 (top level domain) code for a country. A list of
 | 
						|
valid <i>keyboard-layout-name</i>s can be accessed via the
 | 
						|
menu system on /dev/tty8 (press ALT-F8). Note, that this is
 | 
						|
a keyboard driver only. There is no Unicode font support in
 | 
						|
<b>floppy144.vfd</b> (due to the fact that the kernel uses a
 | 
						|
generic VESA framebuffer device only). Characters beyond
 | 
						|
ASCII work for Western European languages only but not
 | 
						|
Eastern European, Greek, Cyrillic, Arabic, Hebrew, CJK and
 | 
						|
other languages. There is no need in <b>floppy144.vfd</b> to
 | 
						|
enter any characters outside ASCII. The purpose of the
 | 
						|
keyboard maps are that you will find characters like dash,
 | 
						|
backslash, brackets, braces, etc. at the usual place on your
 | 
						|
keyboard.</p>
 | 
						|
 | 
						|
 | 
						|
<p style="margin-left:11%;"><b>LISTEN=</b>PRIVATE[:<i>tcp-port</i>]
 | 
						|
| <i><br>
 | 
						|
 | 
						|
ip-address</i>[:<i>tcp-port</i>][,<i>ip-address</i>[:<i>tcp-port</i>]][,...]</p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">One or more combinations of IP
 | 
						|
addresses and optional TCP port seperated by commas that
 | 
						|
<b>vlmcsd</b>(8) should listen on or PRIVATE to listen on
 | 
						|
all private IP addresses only. The default port is 1688. If
 | 
						|
you use an explicit port number, append it to the IP address
 | 
						|
seperated by a colon. If you use a port number and the IP
 | 
						|
address contains colons, you must enclose the IP address in
 | 
						|
brackets. For example
 | 
						|
<i>192.168.0.2,[fd00::dead:beef]:5678</i> causes
 | 
						|
<b>vlmcsd</b>(8) to listen on 192.168.0.2 port 1688 and
 | 
						|
fd00::dead:beef port 5678.</p>
 | 
						|
 | 
						|
<p style="margin-left:11%;"><b>WINDOWS=</b><i>epid</i></p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">Defines the ePID that is used
 | 
						|
for Windows activations. If you ommit this parameter, vlmcsd
 | 
						|
generates a random ePID when it is started.</p>
 | 
						|
 | 
						|
 | 
						|
<p style="margin-left:11%;"><b>OFFICE2010=</b><i>epid</i></p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">Defines the ePID that is used
 | 
						|
for Office 2010 activations. If you ommit this parameter,
 | 
						|
<b>vlmcsd</b>(8) generates a random ePID when it is
 | 
						|
started.</p>
 | 
						|
 | 
						|
 | 
						|
<p style="margin-left:11%;"><b>OFFICE2013=</b><i>epid</i></p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">Defines the ePID that is used
 | 
						|
for Office (versions 2013 and greater) activations. If you
 | 
						|
ommit this parameter, <b>vlmcsd</b>(8) generates a random
 | 
						|
ePID when it is started.</p>
 | 
						|
 | 
						|
<p style="margin-left:11%;"><b>HWID=</b><i>hwid</i></p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">Defines the HwId that is sent
 | 
						|
to clients. <i>hwid</i> must be specified as 16 hex digits
 | 
						|
that are interpreted as a series of 8 bytes (big endian).
 | 
						|
Any character that is not a hex digit will be ignored. This
 | 
						|
is for better readability.</p>
 | 
						|
 | 
						|
 | 
						|
<p style="margin-left:11%;"><b>TZ=</b><i>posix-time-zone-string</i></p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">Set the time zone to
 | 
						|
<i>posix-time-zone-string</i>. It must conform to the
 | 
						|
<a href="http://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap08.html">POSIX</a>
 | 
						|
specification. Simplified time zone strings like
 | 
						|
"Europe/London" or "America/Detroit" are
 | 
						|
not allowed. This has the very simple reason that there is
 | 
						|
no space on the floppy to store the time zone database.</p>
 | 
						|
 | 
						|
<p style="margin-left:22%; margin-top: 1em">The string
 | 
						|
<i>CET-1CEST,M3.5.0,M10.5.0/3</i> (most countries in Europe)
 | 
						|
reads as follows:</p>
 | 
						|
 | 
						|
<table width="100%" border="0" rules="none" frame="void"
 | 
						|
       cellspacing="0" cellpadding="0">
 | 
						|
<tr valign="top" align="left">
 | 
						|
<td width="22%"></td>
 | 
						|
<td width="13%">
 | 
						|
 | 
						|
 | 
						|
<p><i>CET</i></p></td>
 | 
						|
<td width="2%"></td>
 | 
						|
<td width="63%">
 | 
						|
 | 
						|
 | 
						|
<p>The standard (winter) time zone has the name CET.</p></td></tr>
 | 
						|
<tr valign="top" align="left">
 | 
						|
<td width="22%"></td>
 | 
						|
<td width="13%">
 | 
						|
 | 
						|
 | 
						|
<p><i>-1</i></p></td>
 | 
						|
<td width="2%"></td>
 | 
						|
<td width="63%">
 | 
						|
 | 
						|
 | 
						|
<p>The standard time zone is one hour east of UTC. Negative
 | 
						|
numbers are east of UTC. Positive numbers are west of
 | 
						|
UTC.</p> </td></tr>
 | 
						|
<tr valign="top" align="left">
 | 
						|
<td width="22%"></td>
 | 
						|
<td width="13%">
 | 
						|
 | 
						|
 | 
						|
<p><i>CEST</i></p></td>
 | 
						|
<td width="2%"></td>
 | 
						|
<td width="63%">
 | 
						|
 | 
						|
 | 
						|
<p>The daylight saving (summer) time zone has the name
 | 
						|
CEST.</p> </td></tr>
 | 
						|
<tr valign="top" align="left">
 | 
						|
<td width="22%"></td>
 | 
						|
<td width="13%">
 | 
						|
 | 
						|
 | 
						|
<p><i>M3.5.0</i></p></td>
 | 
						|
<td width="2%"></td>
 | 
						|
<td width="63%">
 | 
						|
 | 
						|
 | 
						|
<p>Daylight saving time starts in the 3rd month (March) on
 | 
						|
the 5th (=last) occurence of weekday 0 (Sunday) at 2
 | 
						|
o’clock (2 o’clock is a default value).</p></td></tr>
 | 
						|
<tr valign="top" align="left">
 | 
						|
<td width="22%"></td>
 | 
						|
<td width="13%">
 | 
						|
 | 
						|
 | 
						|
<p><i>M10.5.0/3</i></p></td>
 | 
						|
<td width="2%"></td>
 | 
						|
<td width="63%">
 | 
						|
 | 
						|
 | 
						|
<p>Daylight saving time ends in the 10th month (October) on
 | 
						|
the 5th (=last) occurence of weekday 0 (Sunday) at 3
 | 
						|
o’clock.</p> </td></tr>
 | 
						|
</table>
 | 
						|
 | 
						|
<p style="margin-left:22%; margin-top: 1em">If you
 | 
						|
don’t have daylight saving time, things are easier.
 | 
						|
For Chinese Standard Time for example, just use <i>CST-8</i>
 | 
						|
as the time zone string.</p>
 | 
						|
 | 
						|
<p style="margin-left:22%; margin-top: 1em">On a Linux
 | 
						|
desktop system, you can use a command like
 | 
						|
<b>strings /usr/share/zoneinfo/America/New_York | tail -n1</b>.
 | 
						|
This should return <i>EST5EDT,M3.2.0,M11.1.0</i>. You can
 | 
						|
use the returned string for the
 | 
						|
<b>TZ=</b><i>posix-time-zone-string</i> parameter.</p>
 | 
						|
 | 
						|
<p style="margin-left:11%;"><b>IPV4_CONFIG=</b>DHCP |
 | 
						|
STATIC</p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">This determines how you want to
 | 
						|
configure IPv4 networking. If you use
 | 
						|
<b>IPV4_CONFIG=</b>STATIC, you must supply additional
 | 
						|
paramaters to the APPEND command line.</p>
 | 
						|
 | 
						|
 | 
						|
<p style="margin-left:11%;"><b>IPV4_ADDRESS=</b><i>ipv4-address</i>/<i>CIDR-mask</i></p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">Use <i>ipv4-address</i> with
 | 
						|
netmask <i>CIDR-mask</i> for static IPv4 configuration. The
 | 
						|
netmask must not be ommitted. For IPv4 address 192.168.12.17
 | 
						|
with a netmask of 255.255.255.0 use <i>192.168.12.17/24</i>.
 | 
						|
For IPv4 address 10.4.0.8 with a netmask of 255.255.0.0 use
 | 
						|
10.4.0.8/16. This paramater is ignored, if you used
 | 
						|
<b>IPV4_CONFIG=</b>DHCP.</p>
 | 
						|
 | 
						|
 | 
						|
<p style="margin-left:11%;"><b>IPV4_GATEWAY=</b><i>ipv4-address</i>
 | 
						|
| NONE</p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">Use <i>ipv4-address</i> as the
 | 
						|
default gateway. This is usually the IPv4 address of your
 | 
						|
router. You may specify NONE explicitly for no gateway. In
 | 
						|
this case your virtual machine is only visible on its local
 | 
						|
LAN. This paramater is ignored, if you used
 | 
						|
<b>IPV4_CONFIG=</b>DHCP.</p>
 | 
						|
 | 
						|
 | 
						|
<p style="margin-left:11%;"><b>IPV4_DNS1=</b><i>ipv4-address</i>
 | 
						|
| NONE</p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">Use <i>ipv4-address</i> as the
 | 
						|
primary name server. In home networks this is often the IPv4
 | 
						|
address of your router. You may specify NONE explicitly. If
 | 
						|
you specified NONE for both <b>IPV4_DNS1=</b> and
 | 
						|
<b>IPV4_DNS2=</b>, your virtual machine cannot resolve host
 | 
						|
names to IP addresses. While <b>vlmcsd</b>(8) works
 | 
						|
perfectly without DNS servers, you must use IP addresses
 | 
						|
when referring to a host, e.g. for specifying an NTP server.
 | 
						|
This paramater is ignored, if you used
 | 
						|
<b>IPV4_CONFIG=</b>DHCP.</p>
 | 
						|
 | 
						|
 | 
						|
<p style="margin-left:11%;"><b>IPV4_DNS2=</b><i>ipv4-address</i>
 | 
						|
| NONE</p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">Use <i>ipv4-address</i> as the
 | 
						|
secondary name server. It serves as a backup if the primary
 | 
						|
name server is not available. Home networks often
 | 
						|
don’t have a secondary name server. In this case set
 | 
						|
this to NONE. This paramater is ignored, if you used
 | 
						|
<b>IPV4_CONFIG=</b>DHCP.</p>
 | 
						|
 | 
						|
 | 
						|
<p style="margin-left:11%;"><b>NTP_SERVER=</b><i>host-name</i>
 | 
						|
| <i>ipv4-address</i> | NONE</p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">This sets the name of a time
 | 
						|
server using the NTP protocol. If your virtualization
 | 
						|
environment reliably provides time, you can set this to
 | 
						|
NONE. Don’t use a public time service like
 | 
						|
pool.ntp.org or time.nist.gov if you have a (at least
 | 
						|
somewhat reliable) NTP server in your LAN.</p>
 | 
						|
 | 
						|
 | 
						|
<p style="margin-left:11%;"><b>HOST_NAME=</b><i>host-name</i></p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">Sets the local host name for
 | 
						|
your virtual machine. It can be a single name or a
 | 
						|
fully-qualified domain name FQDN. If you used
 | 
						|
<b>IPV4_CONFIG=</b>DHCP and your DHCP server returns a
 | 
						|
domain name, the domain part of an FQDN will be replaced by
 | 
						|
that name. This host name or host part of an FQDN will not
 | 
						|
replaced by a host name returned via DHCP. The host name is
 | 
						|
not important for the operation of <b>floppy144.vfd</b>.</p>
 | 
						|
 | 
						|
 | 
						|
<p style="margin-left:11%;"><b>ROOT_PASSWORD=</b><i>password</i></p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">Sets the password of the root
 | 
						|
user.</p>
 | 
						|
 | 
						|
 | 
						|
<p style="margin-left:11%;"><b>USER_NAME=</b><i>username</i></p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">Sets the name of for a general
 | 
						|
user with no special privileges. This user can login but
 | 
						|
can’t do much.</p>
 | 
						|
 | 
						|
 | 
						|
<p style="margin-left:11%;"><b>USER_PASSWORD=</b><i>password</i></p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">Sets the password for the user
 | 
						|
defined by <b>USER_NAME=</b><i>username</i>.</p>
 | 
						|
 | 
						|
 | 
						|
<p style="margin-left:11%;"><b>GUEST_PASSWORD=</b><i>password</i></p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">Sets the password for the
 | 
						|
pre-defined guest user. This user has the same priviliges
 | 
						|
(none) as the user defined by
 | 
						|
<b>USER_NAME=</b><i>username</i>.</p>
 | 
						|
 | 
						|
<p style="margin-left:11%;"><b>INETD=</b>Y | N</p>
 | 
						|
 | 
						|
<p style="margin-left:22%;"><b>INETD=</b>Y specifies that
 | 
						|
<b>inetd</b>(8) should automatically be started. That means
 | 
						|
you can telnet and ftp to your virtual machine.</p>
 | 
						|
 | 
						|
<h2>OPERATION
 | 
						|
<a name="OPERATION"></a>
 | 
						|
</h2>
 | 
						|
 | 
						|
 | 
						|
<p style="margin-left:11%; margin-top: 1em"><b>Diskless
 | 
						|
System</b> <br>
 | 
						|
The <b>floppy144.vfd</b> virtual machine is a diskless
 | 
						|
system that works entirely from RAM. The file system is
 | 
						|
actually a RAM disk that is created from the
 | 
						|
<b>initrd</b>(4) file on the floppy image.</p>
 | 
						|
 | 
						|
<p style="margin-left:11%; margin-top: 1em">Anything
 | 
						|
you’ll do from inside the virtual machine, for
 | 
						|
instance editing a config file, will be lost when you reboot
 | 
						|
the machine. So, if you ever asked yourself if <b>rm -fr
 | 
						|
/</b> (root privileges required) really deletes all files
 | 
						|
from all mounted partitions, the <b>floppy144.vfd</b> VM is
 | 
						|
the right place to test it (Yes, it does).</p>
 | 
						|
 | 
						|
<p style="margin-left:11%; margin-top: 1em">The VM uses a
 | 
						|
RAM disk, because the Linux kernel had to be stripped down
 | 
						|
to essential features to fit on a 1.44 MB floppy. It has no
 | 
						|
floppy driver, no disk file system drivers and no block
 | 
						|
layer (cannot use disks of any type).</p>
 | 
						|
 | 
						|
<p style="margin-left:11%; margin-top: 1em"><b>System
 | 
						|
startup</b> <br>
 | 
						|
The kernel boots up very quickly and the init script
 | 
						|
(/sbin/init) waits 5 seconds. In these 5 seconds you
 | 
						|
can:</p>
 | 
						|
 | 
						|
<p style="margin-left:22%; margin-top: 1em">Press
 | 
						|
’m’ to manually enter the time zone and the IPv4
 | 
						|
parameters. These will be queried interactively. <br>
 | 
						|
Press ’t’ to manually enter the time zone only.
 | 
						|
<br>
 | 
						|
Press ’s’ to escape to a shell.</p>
 | 
						|
 | 
						|
<p style="margin-left:11%; margin-top: 1em">If you
 | 
						|
don’t want to 5 seconds for continuing the init
 | 
						|
process, you can press any other key to speed things up. At
 | 
						|
the end of the init script you should see
 | 
						|
that<b>vlmcsd</b>(8) has started. You should also see the IP
 | 
						|
addresses and all user names and passwords.</p>
 | 
						|
 | 
						|
<p style="margin-left:11%; margin-top: 1em"><b>Logging into
 | 
						|
the system</b> <br>
 | 
						|
There are 5 local logins provided on /dev/tty2 to /dev/tty6.
 | 
						|
To switch to these logins, simply press ALT−F2 to
 | 
						|
ALT−F6. To return to the console on /dev/tty1, press
 | 
						|
ALT−F1. If <b>inetd</b>(8) is running you can also use
 | 
						|
<b>telnet</b>(1). This allows you use a terminal program
 | 
						|
(e.g. putty) that can utilize your keyboard layout, can be
 | 
						|
resized and has full UTF-8 support. The local terminals
 | 
						|
support US keyboard layout only. Please be aware that
 | 
						|
<b>telnet</b>(1) is unencrypted and everything including
 | 
						|
passwords is transmitted in clear text. There is not enough
 | 
						|
space for an ssh server like <b>sshd</b>(8) or
 | 
						|
<b>dropbear</b>(8).</p>
 | 
						|
 | 
						|
<p style="margin-left:11%; margin-top: 1em">The floppy
 | 
						|
image only provides basic Unix commands. Type <i>busybox</i>
 | 
						|
or <i>ll /bin</i> to get a list. The only editor available
 | 
						|
is <b>vi</b>(1). If you don’t like vi, you may
 | 
						|
transfer config files via <b>ftp</b>(1) edit them with the
 | 
						|
editor of your choice and transfer them back to the
 | 
						|
<b>floppy144.vfd</b> VM.</p>
 | 
						|
 | 
						|
<p style="margin-left:11%; margin-top: 1em"><b>The menu
 | 
						|
system</b> <br>
 | 
						|
You’ll find a menu system on /dev/tty8 (press
 | 
						|
ALT−F8 to see it). It allows you performing some
 | 
						|
administrative tasks and to view various system information.
 | 
						|
It is mainly for users that do not have much experience with
 | 
						|
Unix commands. <b><br>
 | 
						|
1) (Re)start vlmcsd</b></p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">Starts or restarts
 | 
						|
<b>vlmcsd</b>(8). This is useful if you changed
 | 
						|
<b>/etc/vlmcsd.ini</b>(5).</p>
 | 
						|
 | 
						|
<p style="margin-left:11%;"><b>2) Stop vlmcsd</b></p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">Stops <b>vlmcsd</b>(8).</p>
 | 
						|
 | 
						|
<p style="margin-left:11%;"><b>3) (Re)start inetd</b></p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">Starts or restarts
 | 
						|
<b>inetd</b>(8). If <b>inetd</b>(8) is restarted, current
 | 
						|
clients connected via <b>telnet</b>(1) or <b>ftp</b>(1) will
 | 
						|
<b>not</b> be dropped. They can continue their sessions.
 | 
						|
This is useful if you changed <b>/etc/inetd.conf</b>(5).</p>
 | 
						|
 | 
						|
<p style="margin-left:11%;"><b>4) Stop inet</b></p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">Stops <b>inetd</b>(8). All
 | 
						|
clients connected via <b>telnet</b>(1) or <b>ftp</b>(1) will
 | 
						|
be dropped immediately.</p>
 | 
						|
 | 
						|
<p style="margin-left:11%;"><b>5) Change the time
 | 
						|
zone</b></p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">Just in case you missed
 | 
						|
pressing ’t’ during system startup. This also
 | 
						|
restarts <b>vlmcsd</b>(8) if it was running to notify it
 | 
						|
that the time zone has changed. Restarting <b>vlmcsd</b>(8)
 | 
						|
allows currently connected clients to finish their
 | 
						|
activation.</p>
 | 
						|
 | 
						|
<p style="margin-left:11%;"><b>k) Change keyboard
 | 
						|
layout</b></p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">This allows you to select a
 | 
						|
different keyboard layout.</p>
 | 
						|
 | 
						|
<p style="margin-left:11%;"><b>6) Show all kernel boot
 | 
						|
parameters</b></p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">Shows all parameters passed to
 | 
						|
the kernel via syslinux.cfg. If you experience any
 | 
						|
unexpected behavior, you can use this to check if your
 | 
						|
APPEND line in syslinux.cfg is correct. The output is piped
 | 
						|
through <b>less(1)</b>. So press ’q’ to return
 | 
						|
to the menu.</p>
 | 
						|
 | 
						|
<p style="margin-left:11%;"><b>7) Show boot log
 | 
						|
(dmesg)</b></p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">Shows the boot log of the
 | 
						|
kernel. The output is piped through <b>less(1)</b>. So press
 | 
						|
’q’ to return to the menu.</p>
 | 
						|
 | 
						|
<p style="margin-left:11%;"><b>8) Show TCP/IP
 | 
						|
configuration</b></p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">Shows the TCP/IP configuration,
 | 
						|
listening sockets and current TCP and UDP connections.
 | 
						|
Useful, if you problems with net connectivity. The output is
 | 
						|
piped through <b>less(1)</b>. So press ’q’ to
 | 
						|
return to the menu.</p>
 | 
						|
 | 
						|
<p style="margin-left:11%;"><b>9) Show running
 | 
						|
processes</b></p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">Shows all processes including
 | 
						|
memory and CPU usage. Display will updated every second.
 | 
						|
Press ’q’ or CTRL-C to return to the menu.</p>
 | 
						|
 | 
						|
<p style="margin-left:11%;"><b>s) Shutdown</b></p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">Shuts down the
 | 
						|
<b>floppy144.vfd</b> virtual machine. Proper shutdown is not
 | 
						|
required. It is ok to use a hard power off in your
 | 
						|
virtualization program.</p>
 | 
						|
 | 
						|
<p style="margin-left:11%;"><b>r) Reboot</b></p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">Reboots the
 | 
						|
<b>floppy144.vfd</b> virtual machine. Proper reboot is not
 | 
						|
required. It is ok to use a hard reset in your
 | 
						|
virtualization program.</p>
 | 
						|
 | 
						|
<h2>PERMANENT CHANGES OF INITRD
 | 
						|
<a name="PERMANENT CHANGES OF INITRD"></a>
 | 
						|
</h2>
 | 
						|
 | 
						|
 | 
						|
<p style="margin-left:11%; margin-top: 1em">If you want to
 | 
						|
change any file or script of the file system (e.g. the init
 | 
						|
script /sbin/init or /etc/vlmcsd.ini), you’ll need to
 | 
						|
mount the floppy image, unpack the <b>initrd</b>(4) file,
 | 
						|
make any modfications you like, create a new
 | 
						|
<b>initrd</b>(4) file and copy it to the mounted floppy.</p>
 | 
						|
 | 
						|
<p style="margin-left:11%; margin-top: 1em">To unpack the
 | 
						|
<b>initrd</b>(4) file you’ll need <b>xz</b>(1) (or
 | 
						|
<b>lzma</b>(1) on older unix-like OSses) and <b>cpio</b>(1).
 | 
						|
These can be installed using your package manager on all
 | 
						|
major distros. It is ok to use the BSD version of
 | 
						|
<b>cpio</b>(1). No need to get the GNU version for BSD
 | 
						|
users. Provided the floppy is mounted in /mnt/floppy do the
 | 
						|
following: <br>
 | 
						|
Create an empty directory</p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">mkdir
 | 
						|
~/vlmcsd-floppy-initrd</p>
 | 
						|
 | 
						|
<p style="margin-left:11%;">cd into that directory</p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">cd ~/vlmcsd-floppy-initrd</p>
 | 
						|
 | 
						|
<p style="margin-left:11%;">Unpack initrd</p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">cat /mnt/floppy/initrd | unlzma
 | 
						|
| cpio -i</p>
 | 
						|
 | 
						|
<p style="margin-left:11%; margin-top: 1em">After applying
 | 
						|
your changes build a new <b>initrd</b>(4) file: <br>
 | 
						|
cd into your directory</p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">cd ~/vlmcsd-floppy-initrd</p>
 | 
						|
 | 
						|
<p style="margin-left:11%;">Create the packed file</p>
 | 
						|
 | 
						|
<p style="margin-left:22%;">find . | cpio -o -H newc | lzma
 | 
						|
> /mnt/floppy/initrd</p>
 | 
						|
 | 
						|
<p style="margin-left:11%; margin-top: 1em">Do not try to
 | 
						|
use ’lzma -9’ to achive better compression. The
 | 
						|
kernel can’t read the resulting file. While
 | 
						|
customizing the <b>initrd</b>(4) file works on almost any
 | 
						|
unix-like OS, it does not work on Windows even not with
 | 
						|
Cygwin. The reason is that the NTFS file system can’t
 | 
						|
handle uids and gids. These cannot be preserved when
 | 
						|
unpacking the <b>cpio</b>(1) archive to NTFS. If you use the
 | 
						|
WSL subsystem of Windows 10 Redstone (Anniversary Update)
 | 
						|
and later, you must make sure to unpack the <b>initrd</b>(4)
 | 
						|
file to a directory on VolFs (normally everything that is
 | 
						|
<b>not</b> mounted under /mnt). The <b>initrd</b>(4) file
 | 
						|
can be on a VolFs or DriveFs.</p>
 | 
						|
 | 
						|
<h2>FAQ
 | 
						|
<a name="FAQ"></a>
 | 
						|
</h2>
 | 
						|
 | 
						|
 | 
						|
<p style="margin-left:11%; margin-top: 1em"><b>On what
 | 
						|
distro is the floppy image based?</b> <br>
 | 
						|
None. Besides the boot loader <b>ldlinux.sys</b>, there are
 | 
						|
only three binaries: The Linux kernel <b>bzImage</b>,
 | 
						|
<b>busybox</b>(1) and <b>vlmcsdmulti-x86-musl-static</b>.
 | 
						|
<b>bzImage</b> and <b>busybox</b>(1) have been compiled with
 | 
						|
carefully selected configuration parameters not found in any
 | 
						|
distro. This was neccesary to fit everything on a 1.44 MB
 | 
						|
floppy.</p>
 | 
						|
 | 
						|
<p style="margin-left:11%; margin-top: 1em"><b>Why is a
 | 
						|
rather old Linux kernel (3.12) used?</b> <br>
 | 
						|
Linux 3.12 is the last kernel that can be booted with 16 MB
 | 
						|
of RAM. Beginning with Linux 3.13 it requires much more
 | 
						|
memory (about 80 MB) to boot. The floppy image is regularly
 | 
						|
tested with newer kernels. Everything works except that you
 | 
						|
need to assign much more main memory to the virtual
 | 
						|
machine.</p>
 | 
						|
 | 
						|
<p style="margin-left:11%; margin-top: 1em"><b>Can the
 | 
						|
floppy be booted on bare metal?</b> <br>
 | 
						|
Basically yes. However, only Intel Pro/1000 and AMD PCNET32
 | 
						|
ethernet cards are supported by the kernel. In addition
 | 
						|
there is no USB support compiled into the kernel. That means
 | 
						|
you can only use an IBM AT or IBM PS/2 keyboard which are
 | 
						|
not available on newer hardware.</p>
 | 
						|
 | 
						|
<h2>FILES
 | 
						|
<a name="FILES"></a>
 | 
						|
</h2>
 | 
						|
 | 
						|
 | 
						|
 | 
						|
<p style="margin-left:11%; margin-top: 1em"><b>syslinux.cfg</b>,
 | 
						|
<b>vlmcsd.ini</b>(5)</p>
 | 
						|
 | 
						|
<h2>BUGS
 | 
						|
<a name="BUGS"></a>
 | 
						|
</h2>
 | 
						|
 | 
						|
 | 
						|
<p style="margin-left:11%; margin-top: 1em">IPv6 cannot be
 | 
						|
configured with static or manual parameters. <br>
 | 
						|
DHCPv6 is not supported. <br>
 | 
						|
´ip route add ...’ does not work. Use
 | 
						|
’route add ...’ instead.</p>
 | 
						|
 | 
						|
<h2>AUTHOR
 | 
						|
<a name="AUTHOR"></a>
 | 
						|
</h2>
 | 
						|
 | 
						|
 | 
						|
 | 
						|
<p style="margin-left:11%; margin-top: 1em"><b>floppy144.vfd</b>
 | 
						|
has been created by Hotbird64</p>
 | 
						|
 | 
						|
<h2>CREDITS
 | 
						|
<a name="CREDITS"></a>
 | 
						|
</h2>
 | 
						|
 | 
						|
 | 
						|
<p style="margin-left:11%; margin-top: 1em">Linus Torvalds
 | 
						|
et al. for the Linux kernel <br>
 | 
						|
Erik Andersen et al. for the original uClibc <br>
 | 
						|
Waldemar Brodkorb et al. for uClibc-ng <br>
 | 
						|
Denys Vlasenko et al. for BusyBox <br>
 | 
						|
H. Peter Anvin et al. for SYSLINUX</p>
 | 
						|
 | 
						|
<h2>SEE ALSO
 | 
						|
<a name="SEE ALSO"></a>
 | 
						|
</h2>
 | 
						|
 | 
						|
 | 
						|
 | 
						|
<p style="margin-left:11%; margin-top: 1em"><b>vlmcsd</b>(8),
 | 
						|
<b>vlmcsd.ini</b>(5), <b>initrd</b>(4), <b>busybox</b>(1),
 | 
						|
<b>syslinux(1)</b></p>
 | 
						|
<hr>
 | 
						|
</body>
 | 
						|
</html>
 |