| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809 |
- <!-- Creator : groff version 1.22.3 -->
- <!-- CreationDate: Thu Oct 6 01:17:00 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>
|