Please consider a donation to the Higher Intellect project. See https://preterhuman.net/donate.php or the Donate to Higher Intellect page for more info.

EFS: Difference between revisions

From Higher Intellect Vintage Wiki
No edit summary
No edit summary
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<html>
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- misc-responsive -->
<ins class="adsbygoogle"
    style="display:block"
    data-ad-client="ca-pub-8542359430745061"
    data-ad-slot="5971110325"
    data-ad-format="auto"
    data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
</html>


'''EFS''' ('''E'''xtent '''F'''ile '''S'''ystem) was the default file system used by Silicon Graphics for its UNIX operating systems from GL2-W2.4 through IRIX 5.3 and for all "IRIX software distribution CD-ROMs."
'''EFS''' ('''E'''xtent '''F'''ile '''S'''ystem) was the default file system used by [[Silicon Graphics]] for its UNIX operating systems from GL2-W2.4 through [[IRIX]] 5.3 and for all "IRIX software distribution CD-ROMs."


== History ==
== History ==


EFS was introduced in March of 1986 with GL2-W2.4 to replace the System V/Bell file system created by AT&T.
EFS was introduced in March of 1986 with GL2-W2.4 to replace the System V/Bell file system created by AT&T.
EFS was deprecated in favor of XFS beginning with the introduction of IRIX 5.3 XFS in December of 1994 and later IRIX 6.0.1 XFS in March of 1995 with all subsequent versions of IRIX using XFS.
EFS was deprecated in favor of [[XFS]] beginning with the introduction of IRIX 5.3 XFS in December of 1994 and later IRIX 6.0.1 XFS in March of 1995 with all subsequent versions of [[IRIX]] using [[XFS]].


== Performance ==
== Performance ==


According to Silicon Graphics' documentation EFS offered "a significant improvement in file handling performance over the System V file system" while also maintaining complete compatibility with the System V file system: EFS "stores groups of blocks (extents) contiguously on the disk" thus reducing the seek time and access overhead required to access a file.
According to [[Silicon Graphics]]' documentation EFS offered "a significant improvement in file handling performance over the System V file system" while also maintaining complete compatibility with the System V file system: EFS "stores groups of blocks (extents) contiguously on the disk" thus reducing the seek time and access overhead required to access a file.


== Details ==
== Details ==
Line 32: Line 19:
* Maximum individual file size: 2GB
* Maximum individual file size: 2GB
* Number of fixed-files created by mkfs: 9
* Number of fixed-files created by mkfs: 9
== Working with EFS CD Images Using "efs2tar" ==
Because all SGI IRIX CDs used the EFS system, many of the downloadable software archives available today are EFS images. Note that often these images have misleading extensions, such as .iso, which belies the actual format of the file. Because IRIX lacks a loopback capability, the only way to directly use these EFS images is to burn them to a CD and then load that CD into the SGI machine.
Fortunately, developer [https://blog.pizzabox.computer/posts/sgi-efs-yakshave/ Sophie Haskins produced an open-source golang program] called [https://github.com/sophaskins/efs2tar efs2tar] that converts EFS images into .tar files. These .tar files can then be directly opened by SGI's command-line [[Inst]] and GUI [[Software Manager]] utilities, or manipulated using any tool that handle .tar files. The source for efs2tar [https://github.com/sophaskins/efs2tar is available on GitHub]. Unfortunately, as there is no go support for IRIX, using this utility requires another computer with a more modern operating system.
The following steps can be used to create a .tar file using efs2tar on Ubuntu and similar linux distros:
1. Install go and git from GitHub
<pre>sudo apt install golang-go
sudo apt install git</pre>
2. Build efs2tar and modify execution path to include the default go folder:
<pre>go get 'github.com/sophaskins/efs2tar'
export PATH=$PATH:/home/$username/go/bin </pre>
3. Run efs2tar on the image (generally takes a few seconds):
<pre>efs2tar -in ~/example.iso -out ~/example.tar</pre>
Note that efs2tar has no error handling, so if you direct it to a non-EFS image it will fail. Users have successfully tested efs2tar against dozens of widely-available EFS images, including most of those on the nekochan ftp archive.
== External Links ==
[https://blog.pizzabox.computer/posts/sgi-efs-yakshave/ https://blog.pizzabox.computer/posts/sgi-efs-yakshave/] Detailed article on the efs2tar utility including methods of exploring EFS.


[[Category:SGI]]
[[Category:SGI]]
[[Category:1986]]

Latest revision as of 02:27, 14 September 2020

EFS (Extent File System) was the default file system used by Silicon Graphics for its UNIX operating systems from GL2-W2.4 through IRIX 5.3 and for all "IRIX software distribution CD-ROMs."

History

EFS was introduced in March of 1986 with GL2-W2.4 to replace the System V/Bell file system created by AT&T. EFS was deprecated in favor of XFS beginning with the introduction of IRIX 5.3 XFS in December of 1994 and later IRIX 6.0.1 XFS in March of 1995 with all subsequent versions of IRIX using XFS.

Performance

According to Silicon Graphics' documentation EFS offered "a significant improvement in file handling performance over the System V file system" while also maintaining complete compatibility with the System V file system: EFS "stores groups of blocks (extents) contiguously on the disk" thus reducing the seek time and access overhead required to access a file.

Details

  • Block size: 512-bytes
    • Block 0: unused or contains a bootstrap program
    • Block 1: superblock, contains file system metadata
  • Maximum file system size: 8GB (224 or 16777214 blocks)
  • Maximum individual file size: 2GB
  • Number of fixed-files created by mkfs: 9

Working with EFS CD Images Using "efs2tar"

Because all SGI IRIX CDs used the EFS system, many of the downloadable software archives available today are EFS images. Note that often these images have misleading extensions, such as .iso, which belies the actual format of the file. Because IRIX lacks a loopback capability, the only way to directly use these EFS images is to burn them to a CD and then load that CD into the SGI machine.

Fortunately, developer Sophie Haskins produced an open-source golang program called efs2tar that converts EFS images into .tar files. These .tar files can then be directly opened by SGI's command-line Inst and GUI Software Manager utilities, or manipulated using any tool that handle .tar files. The source for efs2tar is available on GitHub. Unfortunately, as there is no go support for IRIX, using this utility requires another computer with a more modern operating system.

The following steps can be used to create a .tar file using efs2tar on Ubuntu and similar linux distros:

1. Install go and git from GitHub

sudo apt install golang-go
sudo apt install git

2. Build efs2tar and modify execution path to include the default go folder:

go get 'github.com/sophaskins/efs2tar'
export PATH=$PATH:/home/$username/go/bin 

3. Run efs2tar on the image (generally takes a few seconds):

efs2tar -in ~/example.iso -out ~/example.tar

Note that efs2tar has no error handling, so if you direct it to a non-EFS image it will fail. Users have successfully tested efs2tar against dozens of widely-available EFS images, including most of those on the nekochan ftp archive.

External Links

https://blog.pizzabox.computer/posts/sgi-efs-yakshave/ Detailed article on the efs2tar utility including methods of exploring EFS.