^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) .. SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) =========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) BeOS filesystem for Linux
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) =========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) Document last updated: Dec 6, 2001
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) Warning
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) =======
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) Make sure you understand that this is alpha software. This means that the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) implementation is neither complete nor well-tested.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) I DISCLAIM ALL RESPONSIBILITY FOR ANY POSSIBLE BAD EFFECTS OF THIS CODE!
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) License
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) =======
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) This software is covered by the GNU General Public License.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) See the file COPYING for the complete text of the license.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) Or the GNU website: <http://www.gnu.org/licenses/licenses.html>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) Author
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) ======
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) The largest part of the code written by Will Dyson <will_dyson@pobox.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) He has been working on the code since Aug 13, 2001. See the changelog for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) details.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) Original Author: Makoto Kato <m_kato@ga2.so-net.ne.jp>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) His original code can still be found at:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) <http://hp.vector.co.jp/authors/VA008030/bfs/>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) Does anyone know of a more current email address for Makoto? He doesn't
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) respond to the address given above...
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) This filesystem doesn't have a maintainer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) What is this Driver?
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) ====================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) This module implements the native filesystem of BeOS http://www.beincorporated.com/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) for the linux 2.4.1 and later kernels. Currently it is a read-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) implementation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) Which is it, BFS or BEFS?
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) =========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) Be, Inc said, "BeOS Filesystem is officially called BFS, not BeFS".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) But Unixware Boot Filesystem is called bfs, too. And they are already in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) the kernel. Because of this naming conflict, on Linux the BeOS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) filesystem is called befs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) How to Install
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) ==============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) step 1. Install the BeFS patch into the source code tree of linux.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) Apply the patchfile to your kernel source tree.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) Assuming that your kernel source is in /foo/bar/linux and the patchfile
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) is called patch-befs-xxx, you would do the following:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) cd /foo/bar/linux
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) patch -p1 < /path/to/patch-befs-xxx
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) if the patching step fails (i.e. there are rejected hunks), you can try to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) figure it out yourself (it shouldn't be hard), or mail the maintainer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) (Will Dyson <will_dyson@pobox.com>) for help.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) step 2. Configuration & make kernel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) The linux kernel has many compile-time options. Most of them are beyond the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) scope of this document. I suggest the Kernel-HOWTO document as a good general
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) reference on this topic. http://www.linuxdocs.org/HOWTOs/Kernel-HOWTO-4.html
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) However, to use the BeFS module, you must enable it at configure time::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) cd /foo/bar/linux
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) make menuconfig (or xconfig)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) The BeFS module is not a standard part of the linux kernel, so you must first
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) enable support for experimental code under the "Code maturity level" menu.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) Then, under the "Filesystems" menu will be an option called "BeFS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) filesystem (experimental)", or something like that. Enable that option
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) (it is fine to make it a module).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) Save your kernel configuration and then build your kernel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) step 3. Install
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) See the kernel howto <http://www.linux.com/howto/Kernel-HOWTO.html> for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) instructions on this critical step.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) Using BFS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) =========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) To use the BeOS filesystem, use filesystem type 'befs'.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) ex::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) mount -t befs /dev/fd0 /beos
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) Mount Options
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) =============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) ============= ===========================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) uid=nnn All files in the partition will be owned by user id nnn.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) gid=nnn All files in the partition will be in group nnn.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) iocharset=xxx Use xxx as the name of the NLS translation table.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) debug The driver will output debugging information to the syslog.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) ============= ===========================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) How to Get Lastest Version
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) ==========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) The latest version is currently available at:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) <http://befs-driver.sourceforge.net/>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) Any Known Bugs?
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) ===============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) As of Jan 20, 2002:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) None
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) Special Thanks
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) ==============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) Dominic Giampalo ... Writing "Practical file system design with Be filesystem"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) Hiroyuki Yamada ... Testing LinuxPPC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128)