Remove the M-Systems DiskOnChip and the associated fla(4) driver from the solid

state article.  The driver was removed in 2004.  Transform some tables into
regular paragraph to avoid 1-column tables.

Approved by:	trhodes
This commit is contained in:
Rene Ladan 2009-04-02 07:59:32 +00:00
parent 43f2d00292
commit 4848522688
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=34028

View file

@ -55,12 +55,12 @@
<copyright>
<year>2001</year>
<year>2009</year>
<holder>The FreeBSD Documentation Project</holder>
</copyright>
<legalnotice id="trademarks" role="trademarks">
&tm-attrib.freebsd;
&tm-attrib.m-systems;
&tm-attrib.general;
</legalnotice>
@ -109,22 +109,13 @@
temperature of the environment.</para>
<para>Specifically, we will be discussing ATA compatible compact-flash
units and the M-Systems &diskonchip; flash memory unit. ATA compatible
compact-flash cards are quite popular as storage media for digital
units, which are quite popular as storage media for digital
cameras. Of particular interest is the fact that they pin out directly
to the IDE bus and are compatible with the ATA command set. Therefore,
with a very simple and low-cost adaptor, these devices can be attached
directly to an IDE bus in a computer. Once implemented in this manner,
operating systems such as FreeBSD see the device as a normal hard disk
(albeit small). The M-Systems &diskonchip; product is based on the same
underlying flash memory technology as ATA compatible compact-flash
cards, but resides in a DIP form factor and is not ATA compatible. To
use such a device, not only must you install it on a motherboard that
has a &diskonchip; socket, you must also build the `fla` driver into any
FreeBSD kernel you wish to use it with. Further, there is critical,
manufacturer-specific data residing in the boot sector of this device,
so you must take care not to install the FreeBSD (or any other) boot
loader when using this.</para>
(albeit small).</para>
<para>Other solid state disk solutions do exist, but their expense,
obscurity, and relative unease of use places them beyond the scope of
@ -153,11 +144,6 @@
<programlisting>options MFS # Memory Filesystem
options MD_ROOT # md device usable as a potential root device
pseudo-device md # memory disk</programlisting>
<para>Second, if you will be using the M-Systems &diskonchip; product, you
must also include this line:</para>
<programlisting>device fla0 at isa?</programlisting>
</sect1>
<sect1 id="ro-fs">
@ -250,12 +236,9 @@ pseudo-device md # memory disk</programlisting>
<title>Building a File System From Scratch</title>
<para>Because ATA compatible compact-flash cards are seen by FreeBSD as
normal IDE hard drives, as is a M-Systems &diskonchip; product (when you
are running a kernel with the fla driver built in) you could
normal IDE hard drives, you could
theoretically install FreeBSD from the network using the kern and
mfsroot floppies or from a CD. Other than the fact that you should not
write a boot-loader of any kind to the M-Systems device, no special
instructions are needed.</para>
mfsroot floppies or from a CD.</para>
<para>However, even a small installation of FreeBSD using normal
installation procedures can produce a system in size of greater than 200
@ -274,11 +257,7 @@ pseudo-device md # memory disk</programlisting>
installation is not being performed, operations such as partitioning,
labeling, file-system creation, etc. need to be performed by hand. In
addition to the kern and mfsroot floppy disks, you will also need to use
the fixit floppy. If you are using a M-Systems &diskonchip;, the kernel
on your kern floppy must have the <literal>fla</literal> option detailed
in <xref linkend="kernel"> compiled into it. Please see
<xref linkend="kern.flp"> for instructions on creating a new kernel for
<filename>kern.flp</filename>.</para>
the fixit floppy.</para>
<procedure>
<step>
@ -294,9 +273,7 @@ pseudo-device md # memory disk</programlisting>
type of the partition, make sure the value is set to
<literal>165</literal>. Now write this partition table to the disk
by pressing the <keycap>w</keycap> key (this is a hidden option on
this screen). When presented with a menu to choose a boot manager,
take care to select <literal>None</literal> if you are using an
M-Systems &diskonchip;. If you are using an ATA compatible compact
this screen). If you are using an ATA compatible compact
flash card, you should choose the FreeBSD Boot Manager. Now press
the <keycap>q</keycap> key to quit the partition menu. You will be
shown the boot manager menu once more - repeat the choice you made
@ -310,35 +287,12 @@ pseudo-device md # memory disk</programlisting>
installation menu choose the <literal>fixit</literal> option. After
entering the fixit environment, enter the following commands:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry align="center">ATA compatible</entry>
<entry align="center">&diskonchip;</entry>
</row>
</thead>
<tbody>
<row>
<entry><para><screen>&prompt.root; <userinput>mknod /dev/ad0a c 116 0</userinput>
<para><screen>&prompt.root; <userinput>mknod /dev/ad0a c 116 0</userinput>
&prompt.root; <userinput>mknod /dev/ad0c c 116 2</userinput>
&prompt.root; <userinput>disklabel -e /dev/ad0c</userinput></screen></para></entry>
<entry><para><screen>&prompt.root; <userinput>mknod /dev/fla0a c 102 0</userinput>
&prompt.root; <userinput>mknod /dev/fla0c c 102 2</userinput>
&prompt.root; <userinput>disklabel -e /dev/fla0c</userinput></screen></para></entry>
</row>
</tbody>
</tgroup>
</informaltable>
&prompt.root; <userinput>disklabel -e /dev/ad0c</userinput></screen></para>
<para>At this point you will have entered the vi editor under the
auspices of the disklabel command. If you are using &diskonchip;,
the first step will be to change the type value near the beginning
of the file from <literal>ESDI</literal> to
<literal>DOC2K</literal>. Next, regardless of whether you are using
&diskonchip; or ATA compatible compact flash media, you need to add
auspices of the disklabel command. Next, you need to add
an <literal>a:</literal> line at the end of the file. This
<literal>a:</literal> line should look like:</para>
@ -351,26 +305,8 @@ pseudo-device md # memory disk</programlisting>
sure that fstype is <literal>4.2BSD</literal>. Save the file and
exit.</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry align="center">ATA compatible</entry>
<entry align="center">&diskonchip;</entry>
</row>
</thead>
<tbody>
<row>
<entry><para><screen>&prompt.root; <userinput>disklabel -B -r /dev/ad0c</userinput>
&prompt.root; <userinput>newfs /dev/ad0a</userinput></screen></para></entry>
<entry><para><screen>&prompt.root; <userinput>disklabel -B -r /dev/fla0c</userinput>
&prompt.root; <userinput>newfs /dev/fla0a</userinput></screen></para></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para><screen>&prompt.root; <userinput>disklabel -B -r /dev/ad0c</userinput>
&prompt.root; <userinput>newfs /dev/ad0a</userinput></screen></para>
</step>
<step>
@ -378,24 +314,7 @@ pseudo-device md # memory disk</programlisting>
<para>Mount the newly prepared flash media:</para>
<informaltable frame="none" pgwide="1">
<tgroup cols="2">
<thead>
<row>
<entry align="center">ATA compatible</entry>
<entry align="center">&diskonchip;</entry>
</row>
</thead>
<tbody>
<row>
<entry><para><screen>&prompt.root; <userinput>mount /dev/ad0a /flash</userinput></screen></para></entry>
<entry><para><screen>&prompt.root; <userinput>mount /dev/fla0a /flash</userinput></screen></para></entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para><screen>&prompt.root; <userinput>mount /dev/ad0a /flash</userinput></screen></para>
<para>Bring this machine up on the network so we may transfer our tar
file and explode it onto our flash media filesystem. One example of
@ -438,53 +357,6 @@ pseudo-device md # memory disk</programlisting>
</procedure>
</sect1>
<sect1 id="kern.flp">
<title>Building a <filename>kern.flp</filename> Installation Floppy with
the fla Driver</title>
<note>
<para>This section of the article is relevant only to those using
M-Systems &diskonchip; flash media.</para>
</note>
<para>It is possible that your <filename>kern.flp</filename> boot floppy
does not have a kernel with the <devicename>fla</devicename> driver
compiled into it necessary for the system to recognize the &diskonchip;.
If you have booted off of the installation floppies and are told that no
disks are present, then you are probably lacking the
<devicename>fla</devicename> driver in your kernel.</para>
<para>After you have built a kernel with <devicename>fla</devicename>
support that is smaller than 1.4 megabytes, you can create a custom
<filename>kern.flp</filename> floppy image with it by following these
instructions:</para>
<procedure>
<step>
<para>Obtain an existing kern.flp image file</para>
</step>
<step>
<para><screen>&prompt.root; <userinput>vnconfig vn0c kern.flp</userinput></screen></para>
</step>
<step>
<para><screen>&prompt.root; <userinput>mount /dev/vn0c /mnt</userinput></screen></para>
</step>
<step>
<para>Place your kernel file into <filename>/mnt</filename>, replacing
the existing one</para>
</step>
<step>
<para><screen>&prompt.root; <userinput>vnconfig -d vn0c</userinput></screen></para>
</step>
</procedure>
<para>Your <filename>kern.flp</filename> file now has your new kernel on it.</para>
</sect1>
<sect1 id="strategies">
<title>System Strategies for Small and Read Only Environments</title>