vlmcsd-floppy.7.html 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832
  1. <!-- Creator : groff version 1.22.3 -->
  2. <!-- CreationDate: Sat Jun 17 00:53:29 2017 -->
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  4. "http://www.w3.org/TR/html4/loose.dtd">
  5. <html>
  6. <head>
  7. <meta name="generator" content="groff -Thtml, see www.gnu.org">
  8. <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
  9. <meta name="Content-Style" content="text/css">
  10. <style type="text/css">
  11. p { margin-top: 0; margin-bottom: 0; vertical-align: top }
  12. pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
  13. table { margin-top: 0; margin-bottom: 0; vertical-align: top }
  14. h1 { text-align: center }
  15. </style>
  16. <title>VLMCSD-FLOPPY</title>
  17. </head>
  18. <body>
  19. <h1 align="center">VLMCSD-FLOPPY</h1>
  20. <a href="#NAME">NAME</a><br>
  21. <a href="#DESCRIPTION">DESCRIPTION</a><br>
  22. <a href="#SUPPORTED HYPERVISORS">SUPPORTED HYPERVISORS</a><br>
  23. <a href="#SETUP">SETUP</a><br>
  24. <a href="#CONFIGURATION">CONFIGURATION</a><br>
  25. <a href="#OPERATION">OPERATION</a><br>
  26. <a href="#PERMANENT CHANGES OF INITRD">PERMANENT CHANGES OF INITRD</a><br>
  27. <a href="#FAQ">FAQ</a><br>
  28. <a href="#FILES">FILES</a><br>
  29. <a href="#BUGS">BUGS</a><br>
  30. <a href="#AUTHOR">AUTHOR</a><br>
  31. <a href="#CREDITS">CREDITS</a><br>
  32. <a href="#SEE ALSO">SEE ALSO</a><br>
  33. <hr>
  34. <h2>NAME
  35. <a name="NAME"></a>
  36. </h2>
  37. <p style="margin-left:11%; margin-top: 1em">floppy144.vfd -
  38. a bootable floppy disk with Linux and <b>vlmcsd</b>(8)</p>
  39. <h2>DESCRIPTION
  40. <a name="DESCRIPTION"></a>
  41. </h2>
  42. <p style="margin-left:11%; margin-top: 1em"><b>floppy144.vfd</b>
  43. is an image of a bootable floppy that contains a minimal
  44. version of Linux and <b>vlmcsd</b>(8). It requires only 16
  45. MB of RAM. Its primary purpose is to run <b>vlmcsd</b>(8) in
  46. a small virtual machine which makes it easy to use
  47. <b>vlmcsd</b>(8) to activate the virtual machine&rsquo;s
  48. host computer which is not possible in Windows 8.1 and up.
  49. The floppy image is a standard 3,5&quot; floppy with 1.44 MB
  50. storage. It is formatted with a FAT12 filesystem. The floppy
  51. can be mounted to apply several customizations.</p>
  52. <h2>SUPPORTED HYPERVISORS
  53. <a name="SUPPORTED HYPERVISORS"></a>
  54. </h2>
  55. <p style="margin-left:11%; margin-top: 1em">The floppy
  56. image has been tested with the following hypervisors:</p>
  57. <p style="margin-left:22%; margin-top: 1em">VMWare,
  58. VirtualBox, Hyper-V and QEMU</p>
  59. <p style="margin-left:11%; margin-top: 1em">Others are
  60. likely to work.</p>
  61. <h2>SETUP
  62. <a name="SETUP"></a>
  63. </h2>
  64. <p style="margin-left:11%; margin-top: 1em">Create a new
  65. virtual machine. Assign 16 MB of RAM. Add a floppy drive and
  66. attach <b>floppy144.vfd</b> to this drive. Do not create a
  67. virtual hard disk. Setup the virtual machine to boot from a
  68. floppy drive (VirtualBox has floppy boot disabled by
  69. default). If possible, setup a virtual machine with plain
  70. old BIOS (not UEFI). If you created an UEFI virtual machine,
  71. enable the compatibility support mode (CSM) to allow a BIOS
  72. compatible boot. Set number of CPUs to 1. The Linux kernel
  73. is not capable of SMP. Remove IDE, SATA, SCSI and USB
  74. support if possible. The Linux kernel can&rsquo;t handle
  75. this and ignores any devices connected to these buses.</p>
  76. <p style="margin-left:11%; margin-top: 1em">Setup an
  77. ethernet card. The following models are supported:</p>
  78. <p style="margin-left:22%; margin-top: 1em">Intel PRO/1000
  79. <br>
  80. AMD PCNET III <br>
  81. AMD PCNET32 <br>
  82. VMWare vmxnet3 (paravirtualized driver used by VMWare) <br>
  83. virtio (paravirtualized driver used by VirtualBox, QEMU, KVM
  84. and lguest)</p>
  85. <p style="margin-left:11%; margin-top: 1em">Most
  86. hypervisors emulate an Intel PRO/1000 or AMD PCNET32 by
  87. default. Selecting a paravirtualized driver slightly
  88. improves performance. In VirtualBox you can simply select
  89. virtio in the network configuration dialog. VMWare requires
  90. that you add or change the VMX file. Use
  91. &rsquo;ethernet0.virtualDev&nbsp;=&nbsp;&quot;vmxnet3&quot;&rsquo;
  92. in your VMWare config file.</p>
  93. <p style="margin-left:11%; margin-top: 1em">If you are
  94. using QEMU, you must also setup a TAP adapter. Port
  95. redirection does not work to activate your own computer.</p>
  96. <h2>CONFIGURATION
  97. <a name="CONFIGURATION"></a>
  98. </h2>
  99. <p style="margin-left:11%; margin-top: 1em"><b>floppy144.vfd</b>
  100. can be customized to fit your needs. This is done by editing
  101. the file syslinux.cfg on the floppy image. The floppy image
  102. must be mounted. Under Linux you can simply attach
  103. <b>floppy144.vfd</b> to a loop device which is mountable
  104. like any other block device. For Windows you must use some
  105. software that allows mounting a floppy image, e.g.
  106. <a href="http://www.osforensics.com/tools/mount-disk-images.html">OSFMount</a></p>
  107. <p style="margin-left:11%; margin-top: 1em">OSFMount works
  108. under all Windows versions beginning with Windows XP up to
  109. Windows 10 (32- and 64-bit).</p>
  110. <p style="margin-left:11%; margin-top: 1em">The default
  111. syslinux.cfg file looks like this:</p>
  112. <p style="margin-left:22%; margin-top: 1em"><small>prompt 0
  113. <br>
  114. TIMEOUT 50 <br>
  115. default dhcp</small></p>
  116. <p style="margin-left:22%; margin-top: 1em"><small>LABEL
  117. dhcp <br>
  118. KERNEL bzImage <br>
  119. APPEND vga=773 quiet initrd=initrd KBD=us
  120. LISTEN=[::]:1688,0.0.0.0:1688 TZ=UTC0 IPV4_CONFIG=DHCP
  121. NTP_SERVER=pool.ntp.org HOST_NAME=vlmcsd
  122. ROOT_PASSWORD=vlmcsd USER_NAME=user USER_PASSWORD=vlmcsd
  123. GUEST_PASSWORD=vlmcsd INETD=Y
  124. WINDOWS=06401-00206-271-395032-03-1033-9600.0000-1652016
  125. OFFICE2010=06401-00096-199-204970-03-1033-9600.0000-1652016
  126. OFFICE2013=06401-00206-234-921934-03-1033-9600.0000-1652016
  127. HWID=36:4F:46:3A:88:63:D3:5F</small></p>
  128. <p style="margin-left:22%; margin-top: 1em"><small>LABEL
  129. static <br>
  130. KERNEL bzImage <br>
  131. APPEND vga=773 quiet initrd=initrd KBD=fr
  132. LISTEN=[::]:1688,0.0.0.0:1688 TZ=CET-1CEST,M3.5.0,M10.5.0/3
  133. IPV4_CONFIG=STATIC IPV4_ADDRESS=192.168.20.123/24
  134. IPV4_GATEWAY=192.168.20.2 IPV4_DNS1=192.168.20.2
  135. IPV4_DNS2=NONE NTP_SERVER=pool.ntp.org HOST_NAME=vlmcsd
  136. ROOT_PASSWORD=vlmcsd USER_NAME=user USER_PASSWORD=vlmcsd
  137. GUEST_PASSWORD=vlmcsd INETD=Y</small></p>
  138. <p style="margin-left:11%; margin-top: 1em">There are two
  139. configurations in this files: <i>dhcp</i> (for configuring
  140. the IPv4 network via DHCP) and <i>static</i> (for a static
  141. IPv4 configuration). The kernel always boots the <i>dhcp</i>
  142. configuration without asking (lines &rsquo;prompt 0&rsquo;
  143. and &rsquo;default dhcp&rsquo;). You can simply change the
  144. default configuration to <i>static</i> and then customize
  145. the APPEND line in the <i>static</i> configuration. For more
  146. details how to customize the syslinux.cfg file see
  147. <b>syslinux</b>(1).</p>
  148. <p style="margin-left:11%; margin-top: 1em">Each APPPEND
  149. line contains one or more items seperated by spaces. <b>All
  150. items are case-sensitive</b>. The following parameters can
  151. be customized: <b><br>
  152. vga=</b><i>vesa-video-mode</i></p>
  153. <p style="margin-left:22%;">Sets the VESA display mode for
  154. the virtual machine. The parameter is not optional. If you
  155. ommit it, you will not see anything on the screen. 773 means
  156. 1024x768 with 256 colors. See
  157. <a href="https://en.wikipedia.org/wiki/VESA_BIOS_Extensions#Linux_video_mode_numbers">Wikipedia</a>
  158. for more video modes. Note that all 16 color (4-bit) modes
  159. will not work. Use 8-bit (256 colors), 16-bit (65536
  160. colors), 24-bit and 32-bit (&gt; 16 Million colors) only.
  161. All modes above 1280x1024 are non-VESA-standard and vary for
  162. all (virtual) graphic cards.</p>
  163. <table width="100%" border="0" rules="none" frame="void"
  164. cellspacing="0" cellpadding="0">
  165. <tr valign="top" align="left">
  166. <td width="11%"></td>
  167. <td width="7%">
  168. <p><b>quiet</b></p></td>
  169. <td width="4%"></td>
  170. <td width="78%">
  171. <p>This causes the kernel not display the its log during
  172. boot. You may omit <b>quiet</b> but it doesn&rsquo;t make
  173. much sense. The boot log is actually very verbose and
  174. scrolls away from screen quickly. If any errors occur during
  175. boot, they will be displayed even if <b>quiet</b> is present
  176. in the APPEND line. You may evaluate the complete boot log
  177. later by using the dmesg command or the menu on
  178. /dev/tty8.</p> </td></tr>
  179. </table>
  180. <p style="margin-left:11%;"><b>initrd=</b><i>initial-ram-disk-file</i></p>
  181. <p style="margin-left:22%;">This defines the initial ram
  182. disk that the kernel will read. There is only one initial
  183. ram disk on the floppy thus leave <i>initrd=initrd</i> as it
  184. is.</p>
  185. <p style="margin-left:11%;"><b>KBD=</b><i>keyboard-layout-name</i></p>
  186. <p style="margin-left:22%;">This allows you to select the
  187. keyboard layout. <i>keyboard-layout-name</i> is usually the
  188. ISO 3166-1 (top level domain) code for a country. A list of
  189. valid <i>keyboard-layout-name</i>s can be accessed via the
  190. menu system on /dev/tty8 (press ALT-F8). Note, that this is
  191. a keyboard driver only. There is no Unicode font support in
  192. <b>floppy144.vfd</b> (due to the fact that the kernel uses a
  193. generic VESA framebuffer device only). Characters beyond
  194. ASCII work for Western European languages only but not
  195. Eastern European, Greek, Cyrillic, Arabic, Hebrew, CJK and
  196. other languages. There is no need in <b>floppy144.vfd</b> to
  197. enter any characters outside ASCII. The purpose of the
  198. keyboard maps are that you will find characters like dash,
  199. backslash, brackets, braces, etc. at the usual place on your
  200. keyboard.</p>
  201. <p style="margin-left:11%;"><b>LISTEN=</b>PRIVATE[:<i>tcp-port</i>]
  202. | <i><br>
  203. ip-address</i>[:<i>tcp-port</i>][,<i>ip-address</i>[:<i>tcp-port</i>]][,...]</p>
  204. <p style="margin-left:22%;">One or more combinations of IP
  205. addresses and optional TCP port seperated by commas that
  206. <b>vlmcsd</b>(8) should listen on or PRIVATE to listen on
  207. all private IP addresses only. The default port is 1688. If
  208. you use an explicit port number, append it to the IP address
  209. seperated by a colon. If you use a port number and the IP
  210. address contains colons, you must enclose the IP address in
  211. brackets. For example
  212. <i>192.168.0.2,[fd00::dead:beef]:5678</i> causes
  213. <b>vlmcsd</b>(8) to listen on 192.168.0.2 port 1688 and
  214. fd00::dead:beef port 5678.</p>
  215. <p style="margin-left:11%;"><b>WINDOWS=</b><i>epid</i></p>
  216. <p style="margin-left:22%;">Defines the ePID that is used
  217. for Windows activations. If you ommit this parameter, vlmcsd
  218. generates a random ePID when it is started.</p>
  219. <p style="margin-left:11%;"><b>OFFICE2010=</b><i>epid</i></p>
  220. <p style="margin-left:22%;">Defines the ePID that is used
  221. for Office 2010 activations. If you ommit this parameter,
  222. <b>vlmcsd</b>(8) generates a random ePID when it is
  223. started.</p>
  224. <p style="margin-left:11%;"><b>OFFICE2013=</b><i>epid</i></p>
  225. <p style="margin-left:22%;">Defines the ePID that is used
  226. for Office 2016 activations. If you ommit this parameter,
  227. <b>vlmcsd</b>(8) generates a random ePID when it is
  228. started.</p>
  229. <p style="margin-left:11%;"><b>OFFICE2016=</b><i>epid</i></p>
  230. <p style="margin-left:22%;">Defines the ePID that is used
  231. for Office 2016 activations. If you ommit this parameter,
  232. <b>vlmcsd</b>(8) generates a random ePID when it is
  233. started.</p>
  234. <p style="margin-left:11%;"><b>WINCHINAGOV=</b><i>epid</i></p>
  235. <p style="margin-left:22%;">Defines the ePID that is used
  236. for Windows China Government Edition activations (Enterprise
  237. G/GN). If you ommit this parameter, <b>vlmcsd</b>(8)
  238. generates a random ePID when it is started.</p>
  239. <p style="margin-left:11%;"><b>HWID=</b><i>hwid</i></p>
  240. <p style="margin-left:22%;">Defines the HwId that is sent
  241. to clients. <i>hwid</i> must be specified as 16 hex digits
  242. that are interpreted as a series of 8 bytes (big endian).
  243. Any character that is not a hex digit will be ignored. This
  244. is for better readability.</p>
  245. <p style="margin-left:11%;"><b>TZ=</b><i>posix-time-zone-string</i></p>
  246. <p style="margin-left:22%;">Set the time zone to
  247. <i>posix-time-zone-string</i>. It must conform to the
  248. <a href="http://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap08.html">POSIX</a>
  249. specification. Simplified time zone strings like
  250. &quot;Europe/London&quot; or &quot;America/Detroit&quot; are
  251. not allowed. This has the very simple reason that there is
  252. no space on the floppy to store the time zone database.</p>
  253. <p style="margin-left:22%; margin-top: 1em">The string
  254. <i>CET-1CEST,M3.5.0,M10.5.0/3</i> (most countries in Europe)
  255. reads as follows:</p>
  256. <table width="100%" border="0" rules="none" frame="void"
  257. cellspacing="0" cellpadding="0">
  258. <tr valign="top" align="left">
  259. <td width="22%"></td>
  260. <td width="13%">
  261. <p><i>CET</i></p></td>
  262. <td width="2%"></td>
  263. <td width="63%">
  264. <p>The standard (winter) time zone has the name CET.</p></td></tr>
  265. <tr valign="top" align="left">
  266. <td width="22%"></td>
  267. <td width="13%">
  268. <p><i>-1</i></p></td>
  269. <td width="2%"></td>
  270. <td width="63%">
  271. <p>The standard time zone is one hour east of UTC. Negative
  272. numbers are east of UTC. Positive numbers are west of
  273. UTC.</p> </td></tr>
  274. <tr valign="top" align="left">
  275. <td width="22%"></td>
  276. <td width="13%">
  277. <p><i>CEST</i></p></td>
  278. <td width="2%"></td>
  279. <td width="63%">
  280. <p>The daylight saving (summer) time zone has the name
  281. CEST.</p> </td></tr>
  282. <tr valign="top" align="left">
  283. <td width="22%"></td>
  284. <td width="13%">
  285. <p><i>M3.5.0</i></p></td>
  286. <td width="2%"></td>
  287. <td width="63%">
  288. <p>Daylight saving time starts in the 3rd month (March) on
  289. the 5th (=last) occurence of weekday 0 (Sunday) at 2
  290. o&rsquo;clock (2 o&rsquo;clock is a default value).</p></td></tr>
  291. <tr valign="top" align="left">
  292. <td width="22%"></td>
  293. <td width="13%">
  294. <p><i>M10.5.0/3</i></p></td>
  295. <td width="2%"></td>
  296. <td width="63%">
  297. <p>Daylight saving time ends in the 10th month (October) on
  298. the 5th (=last) occurence of weekday 0 (Sunday) at 3
  299. o&rsquo;clock.</p> </td></tr>
  300. </table>
  301. <p style="margin-left:22%; margin-top: 1em">If you
  302. don&rsquo;t have daylight saving time, things are easier.
  303. For Chinese Standard Time for example, just use <i>CST-8</i>
  304. as the time zone string.</p>
  305. <p style="margin-left:22%; margin-top: 1em">On a Linux
  306. desktop system, you can use a command like
  307. <b>strings&nbsp;/usr/share/zoneinfo/America/New_York&nbsp;|&nbsp;tail&nbsp;-n1</b>.
  308. This should return <i>EST5EDT,M3.2.0,M11.1.0</i>. You can
  309. use the returned string for the
  310. <b>TZ=</b><i>posix-time-zone-string</i> parameter.</p>
  311. <p style="margin-left:11%;"><b>IPV4_CONFIG=</b>DHCP |
  312. STATIC</p>
  313. <p style="margin-left:22%;">This determines how you want to
  314. configure IPv4 networking. If you use
  315. <b>IPV4_CONFIG=</b>STATIC, you must supply additional
  316. paramaters to the APPEND command line.</p>
  317. <p style="margin-left:11%;"><b>IPV4_ADDRESS=</b><i>ipv4-address</i>/<i>CIDR-mask</i></p>
  318. <p style="margin-left:22%;">Use <i>ipv4-address</i> with
  319. netmask <i>CIDR-mask</i> for static IPv4 configuration. The
  320. netmask must not be ommitted. For IPv4 address 192.168.12.17
  321. with a netmask of 255.255.255.0 use <i>192.168.12.17/24</i>.
  322. For IPv4 address 10.4.0.8 with a netmask of 255.255.0.0 use
  323. 10.4.0.8/16. This paramater is ignored, if you used
  324. <b>IPV4_CONFIG=</b>DHCP.</p>
  325. <p style="margin-left:11%;"><b>IPV4_GATEWAY=</b><i>ipv4-address</i>
  326. | NONE</p>
  327. <p style="margin-left:22%;">Use <i>ipv4-address</i> as the
  328. default gateway. This is usually the IPv4 address of your
  329. router. You may specify NONE explicitly for no gateway. In
  330. this case your virtual machine is only visible on its local
  331. LAN. This paramater is ignored, if you used
  332. <b>IPV4_CONFIG=</b>DHCP.</p>
  333. <p style="margin-left:11%;"><b>IPV4_DNS1=</b><i>ipv4-address</i>
  334. | NONE</p>
  335. <p style="margin-left:22%;">Use <i>ipv4-address</i> as the
  336. primary name server. In home networks this is often the IPv4
  337. address of your router. You may specify NONE explicitly. If
  338. you specified NONE for both <b>IPV4_DNS1=</b> and
  339. <b>IPV4_DNS2=</b>, your virtual machine cannot resolve host
  340. names to IP addresses. While <b>vlmcsd</b>(8) works
  341. perfectly without DNS servers, you must use IP addresses
  342. when referring to a host, e.g. for specifying an NTP server.
  343. This paramater is ignored, if you used
  344. <b>IPV4_CONFIG=</b>DHCP.</p>
  345. <p style="margin-left:11%;"><b>IPV4_DNS2=</b><i>ipv4-address</i>
  346. | NONE</p>
  347. <p style="margin-left:22%;">Use <i>ipv4-address</i> as the
  348. secondary name server. It serves as a backup if the primary
  349. name server is not available. Home networks often
  350. don&rsquo;t have a secondary name server. In this case set
  351. this to NONE. This paramater is ignored, if you used
  352. <b>IPV4_CONFIG=</b>DHCP.</p>
  353. <p style="margin-left:11%;"><b>NTP_SERVER=</b><i>host-name</i>
  354. | <i>ipv4-address</i> | NONE</p>
  355. <p style="margin-left:22%;">This sets the name of a time
  356. server using the NTP protocol. If your virtualization
  357. environment reliably provides time, you can set this to
  358. NONE. Don&rsquo;t use a public time service like
  359. pool.ntp.org or time.nist.gov if you have a (at least
  360. somewhat reliable) NTP server in your LAN.</p>
  361. <p style="margin-left:11%;"><b>HOST_NAME=</b><i>host-name</i></p>
  362. <p style="margin-left:22%;">Sets the local host name for
  363. your virtual machine. It can be a single name or a
  364. fully-qualified domain name FQDN. If you used
  365. <b>IPV4_CONFIG=</b>DHCP and your DHCP server returns a
  366. domain name, the domain part of an FQDN will be replaced by
  367. that name. This host name or host part of an FQDN will not
  368. replaced by a host name returned via DHCP. The host name is
  369. not important for the operation of <b>floppy144.vfd</b>.</p>
  370. <p style="margin-left:11%;"><b>ROOT_PASSWORD=</b><i>password</i></p>
  371. <p style="margin-left:22%;">Sets the password of the root
  372. user.</p>
  373. <p style="margin-left:11%;"><b>USER_NAME=</b><i>username</i></p>
  374. <p style="margin-left:22%;">Sets the name of for a general
  375. user with no special privileges. This user can login but
  376. can&rsquo;t do much.</p>
  377. <p style="margin-left:11%;"><b>USER_PASSWORD=</b><i>password</i></p>
  378. <p style="margin-left:22%;">Sets the password for the user
  379. defined by <b>USER_NAME=</b><i>username</i>.</p>
  380. <p style="margin-left:11%;"><b>GUEST_PASSWORD=</b><i>password</i></p>
  381. <p style="margin-left:22%;">Sets the password for the
  382. pre-defined guest user. This user has the same priviliges
  383. (none) as the user defined by
  384. <b>USER_NAME=</b><i>username</i>.</p>
  385. <p style="margin-left:11%;"><b>INETD=</b>Y | N</p>
  386. <p style="margin-left:22%;"><b>INETD=</b>Y specifies that
  387. <b>inetd</b>(8) should automatically be started. That means
  388. you can telnet and ftp to your virtual machine.</p>
  389. <p style="margin-left:11%;"><b>VLMCSD_EXTRA_ARGS=</b><i>comma-seperated-argument-list</i></p>
  390. <p style="margin-left:22%;">Allows you to specify
  391. additional command line options that will be passed to
  392. <b>vlmcsd</b>(8). Instead of spaces you use commas between
  393. arguments. Example: <b>VLMCSD_EXTRA_ARGS=</b>-c1,-K3,-M1</p>
  394. <h2>OPERATION
  395. <a name="OPERATION"></a>
  396. </h2>
  397. <p style="margin-left:11%; margin-top: 1em"><b>Diskless
  398. System</b> <br>
  399. The <b>floppy144.vfd</b> virtual machine is a diskless
  400. system that works entirely from RAM. The file system is
  401. actually a RAM disk that is created from the
  402. <b>initrd</b>(4) file on the floppy image.</p>
  403. <p style="margin-left:11%; margin-top: 1em">Anything
  404. you&rsquo;ll do from inside the virtual machine, for
  405. instance editing a config file, will be lost when you reboot
  406. the machine. So, if you ever asked yourself if <b>rm -fr
  407. /</b> (root privileges required) really deletes all files
  408. from all mounted partitions, the <b>floppy144.vfd</b> VM is
  409. the right place to test it (Yes, it does).</p>
  410. <p style="margin-left:11%; margin-top: 1em">The VM uses a
  411. RAM disk, because the Linux kernel had to be stripped down
  412. to essential features to fit on a 1.44 MB floppy. It has no
  413. floppy driver, no disk file system drivers and no block
  414. layer (cannot use disks of any type).</p>
  415. <p style="margin-left:11%; margin-top: 1em"><b>System
  416. startup</b> <br>
  417. The kernel boots up very quickly and the init script
  418. (/sbin/init) waits 5 seconds. In these 5 seconds you
  419. can:</p>
  420. <p style="margin-left:22%; margin-top: 1em">Press
  421. &rsquo;m&rsquo; to manually enter the time zone and the IPv4
  422. parameters. These will be queried interactively. <br>
  423. Press &rsquo;t&rsquo; to manually enter the time zone only.
  424. <br>
  425. Press &rsquo;s&rsquo; to escape to a shell.</p>
  426. <p style="margin-left:11%; margin-top: 1em">If you
  427. don&rsquo;t want to 5 seconds for continuing the init
  428. process, you can press any other key to speed things up. At
  429. the end of the init script you should see
  430. that<b>vlmcsd</b>(8) has started. You should also see the IP
  431. addresses and all user names and passwords.</p>
  432. <p style="margin-left:11%; margin-top: 1em"><b>Logging into
  433. the system</b> <br>
  434. There are 5 local logins provided on /dev/tty2 to /dev/tty6.
  435. To switch to these logins, simply press ALT-F2 to ALT-F6. To
  436. return to the console on /dev/tty1, press ALT-F1. If
  437. <b>inetd</b>(8) is running you can also use
  438. <b>telnet</b>(1). This allows you use a terminal program
  439. (e.g. putty) that can utilize your keyboard layout, can be
  440. resized and has full UTF-8 support. The local terminals
  441. support US keyboard layout only. Please be aware that
  442. <b>telnet</b>(1) is unencrypted and everything including
  443. passwords is transmitted in clear text. There is not enough
  444. space for an ssh server like <b>sshd</b>(8) or
  445. <b>dropbear</b>(8).</p>
  446. <p style="margin-left:11%; margin-top: 1em">The floppy
  447. image only provides basic Unix commands. Type <i>busybox</i>
  448. or <i>ll /bin</i> to get a list. The only editor available
  449. is <b>vi</b>(1). If you don&rsquo;t like vi, you may
  450. transfer config files via <b>ftp</b>(1) edit them with the
  451. editor of your choice and transfer them back to the
  452. <b>floppy144.vfd</b> VM.</p>
  453. <p style="margin-left:11%; margin-top: 1em"><b>The menu
  454. system</b> <br>
  455. You&rsquo;ll find a menu system on /dev/tty8 (press ALT-F8
  456. to see it). It allows you performing some administrative
  457. tasks and to view various system information. It is mainly
  458. for users that do not have much experience with Unix
  459. commands. <b><br>
  460. 1) (Re)start vlmcsd</b></p>
  461. <p style="margin-left:22%;">Starts or restarts
  462. <b>vlmcsd</b>(8). This is useful if you changed
  463. <b>/etc/vlmcsd.ini</b>(5).</p>
  464. <p style="margin-left:11%;"><b>2) Stop vlmcsd</b></p>
  465. <p style="margin-left:22%;">Stops <b>vlmcsd</b>(8).</p>
  466. <p style="margin-left:11%;"><b>3) (Re)start inetd</b></p>
  467. <p style="margin-left:22%;">Starts or restarts
  468. <b>inetd</b>(8). If <b>inetd</b>(8) is restarted, current
  469. clients connected via <b>telnet</b>(1) or <b>ftp</b>(1) will
  470. <b>not</b> be dropped. They can continue their sessions.
  471. This is useful if you changed <b>/etc/inetd.conf</b>(5).</p>
  472. <p style="margin-left:11%;"><b>4) Stop inet</b></p>
  473. <p style="margin-left:22%;">Stops <b>inetd</b>(8). All
  474. clients connected via <b>telnet</b>(1) or <b>ftp</b>(1) will
  475. be dropped immediately.</p>
  476. <p style="margin-left:11%;"><b>5) Change the time
  477. zone</b></p>
  478. <p style="margin-left:22%;">Just in case you missed
  479. pressing &rsquo;t&rsquo; during system startup. This also
  480. restarts <b>vlmcsd</b>(8) if it was running to notify it
  481. that the time zone has changed. Restarting <b>vlmcsd</b>(8)
  482. allows currently connected clients to finish their
  483. activation.</p>
  484. <p style="margin-left:11%;"><b>k) Change keyboard
  485. layout</b></p>
  486. <p style="margin-left:22%;">This allows you to select a
  487. different keyboard layout.</p>
  488. <p style="margin-left:11%;"><b>6) Show all kernel boot
  489. parameters</b></p>
  490. <p style="margin-left:22%;">Shows all parameters passed to
  491. the kernel via syslinux.cfg. If you experience any
  492. unexpected behavior, you can use this to check if your
  493. APPEND line in syslinux.cfg is correct. The output is piped
  494. through <b>less(1)</b>. So press &rsquo;q&rsquo; to return
  495. to the menu.</p>
  496. <p style="margin-left:11%;"><b>7) Show boot log
  497. (dmesg)</b></p>
  498. <p style="margin-left:22%;">Shows the boot log of the
  499. kernel. The output is piped through <b>less(1)</b>. So press
  500. &rsquo;q&rsquo; to return to the menu.</p>
  501. <p style="margin-left:11%;"><b>8) Show TCP/IP
  502. configuration</b></p>
  503. <p style="margin-left:22%;">Shows the TCP/IP configuration,
  504. listening sockets and current TCP and UDP connections.
  505. Useful, if you problems with net connectivity. The output is
  506. piped through <b>less(1)</b>. So press &rsquo;q&rsquo; to
  507. return to the menu.</p>
  508. <p style="margin-left:11%;"><b>9) Show running
  509. processes</b></p>
  510. <p style="margin-left:22%;">Shows all processes including
  511. memory and CPU usage. Display will updated every second.
  512. Press &rsquo;q&rsquo; or CTRL-C to return to the menu.</p>
  513. <p style="margin-left:11%;"><b>s) Shutdown</b></p>
  514. <p style="margin-left:22%;">Shuts down the
  515. <b>floppy144.vfd</b> virtual machine. Proper shutdown is not
  516. required. It is ok to use a hard power off in your
  517. virtualization program.</p>
  518. <p style="margin-left:11%;"><b>r) Reboot</b></p>
  519. <p style="margin-left:22%;">Reboots the
  520. <b>floppy144.vfd</b> virtual machine. Proper reboot is not
  521. required. It is ok to use a hard reset in your
  522. virtualization program.</p>
  523. <h2>PERMANENT CHANGES OF INITRD
  524. <a name="PERMANENT CHANGES OF INITRD"></a>
  525. </h2>
  526. <p style="margin-left:11%; margin-top: 1em">If you want to
  527. change any file or script of the file system (e.g. the init
  528. script /sbin/init or /etc/vlmcsd.ini), you&rsquo;ll need to
  529. mount the floppy image, unpack the <b>initrd</b>(4) file,
  530. make any modfications you like, create a new
  531. <b>initrd</b>(4) file and copy it to the mounted floppy.</p>
  532. <p style="margin-left:11%; margin-top: 1em">To unpack the
  533. <b>initrd</b>(4) file you&rsquo;ll need <b>xz</b>(1) (or
  534. <b>lzma</b>(1) on older unix-like OSses) and <b>cpio</b>(1).
  535. These can be installed using your package manager on all
  536. major distros. It is ok to use the BSD version of
  537. <b>cpio</b>(1). No need to get the GNU version for BSD
  538. users. Provided the floppy is mounted in /mnt/floppy do the
  539. following: <br>
  540. Create an empty directory</p>
  541. <p style="margin-left:22%;">mkdir
  542. ~/vlmcsd-floppy-initrd</p>
  543. <p style="margin-left:11%;">cd into that directory</p>
  544. <p style="margin-left:22%;">cd ~/vlmcsd-floppy-initrd</p>
  545. <p style="margin-left:11%;">Unpack initrd</p>
  546. <p style="margin-left:22%;">cat /mnt/floppy/initrd | unlzma
  547. | cpio -i</p>
  548. <p style="margin-left:11%; margin-top: 1em">After applying
  549. your changes build a new <b>initrd</b>(4) file: <br>
  550. cd into your directory</p>
  551. <p style="margin-left:22%;">cd ~/vlmcsd-floppy-initrd</p>
  552. <p style="margin-left:11%;">Create the packed file</p>
  553. <p style="margin-left:22%;">find . | cpio -o -H newc | lzma
  554. &gt; /mnt/floppy/initrd</p>
  555. <p style="margin-left:11%; margin-top: 1em">Do not try to
  556. use &rsquo;lzma -9&rsquo; to achive better compression. The
  557. kernel can&rsquo;t read the resulting file. While
  558. customizing the <b>initrd</b>(4) file works on almost any
  559. unix-like OS, it does not work on Windows even not with
  560. Cygwin. The reason is that the NTFS file system can&rsquo;t
  561. handle uids and gids. These cannot be preserved when
  562. unpacking the <b>cpio</b>(1) archive to NTFS. If you use the
  563. WSL subsystem of Windows 10 Redstone (Anniversary Update)
  564. and later, you must make sure to unpack the <b>initrd</b>(4)
  565. file to a directory on VolFs (normally everything that is
  566. <b>not</b> mounted under /mnt). The <b>initrd</b>(4) file
  567. can be on a VolFs or DriveFs.</p>
  568. <h2>FAQ
  569. <a name="FAQ"></a>
  570. </h2>
  571. <p style="margin-left:11%; margin-top: 1em"><b>On what
  572. distro is the floppy image based?</b> <br>
  573. None. Besides the boot loader <b>ldlinux.sys</b>, there are
  574. only three binaries: The Linux kernel <b>bzImage</b>,
  575. <b>busybox</b>(1) and <b>vlmcsdmulti-x86-musl-static</b>.
  576. <b>bzImage</b> and <b>busybox</b>(1) have been compiled with
  577. carefully selected configuration parameters not found in any
  578. distro. This was neccesary to fit everything on a 1.44 MB
  579. floppy.</p>
  580. <p style="margin-left:11%; margin-top: 1em"><b>Why is a
  581. rather old Linux kernel (3.12) used?</b> <br>
  582. Linux 3.12 is the last kernel that can be booted with 16 MB
  583. of RAM. Beginning with Linux 3.13 it requires much more
  584. memory (about 80 MB) to boot. The floppy image is regularly
  585. tested with newer kernels. Everything works except that you
  586. need to assign much more main memory to the virtual
  587. machine.</p>
  588. <p style="margin-left:11%; margin-top: 1em"><b>Can the
  589. floppy be booted on bare metal?</b> <br>
  590. Basically yes. However, only Intel Pro/1000 and AMD PCNET32
  591. ethernet cards are supported by the kernel. In addition
  592. there is no USB support compiled into the kernel. That means
  593. you can only use an IBM AT or IBM PS/2 keyboard which are
  594. not available on newer hardware.</p>
  595. <h2>FILES
  596. <a name="FILES"></a>
  597. </h2>
  598. <p style="margin-left:11%; margin-top: 1em"><b>syslinux.cfg</b>,
  599. <b>vlmcsd.ini</b>(5)</p>
  600. <h2>BUGS
  601. <a name="BUGS"></a>
  602. </h2>
  603. <p style="margin-left:11%; margin-top: 1em">IPv6 cannot be
  604. configured with static or manual parameters. <br>
  605. DHCPv6 is not supported. <br>
  606. &acute;ip route add ...&rsquo; does not work. Use
  607. &rsquo;route add ...&rsquo; instead.</p>
  608. <h2>AUTHOR
  609. <a name="AUTHOR"></a>
  610. </h2>
  611. <p style="margin-left:11%; margin-top: 1em"><b>floppy144.vfd</b>
  612. has been created by Hotbird64</p>
  613. <h2>CREDITS
  614. <a name="CREDITS"></a>
  615. </h2>
  616. <p style="margin-left:11%; margin-top: 1em">Linus Torvalds
  617. et al. for the Linux kernel <br>
  618. Erik Andersen et al. for the original uClibc <br>
  619. Waldemar Brodkorb et al. for uClibc-ng <br>
  620. Denys Vlasenko et al. for BusyBox <br>
  621. H. Peter Anvin et al. for SYSLINUX</p>
  622. <h2>SEE ALSO
  623. <a name="SEE ALSO"></a>
  624. </h2>
  625. <p style="margin-left:11%; margin-top: 1em"><b>vlmcsd</b>(8),
  626. <b>vlmcsd.ini</b>(5), <b>initrd</b>(4), <b>busybox</b>(1),
  627. <b>syslinux(1)</b></p>
  628. <hr>
  629. </body>
  630. </html>