pavement

FreeBSD ISO layout

From FreeBSDwiki
(Difference between revisions)
Jump to: navigation, search
(vnconfig(8) has been discontinued -> mdconfig(8))
(Sample ISO layout of 8.2-RELEASE i386)
 
Line 1: Line 1:
==Sample ISO layout of 6.2-RELEASE i386==
+
==Sample ISO layout of 8.2-RELEASE i386==
  
The directory <tt>ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/6.2</tt> lists the following contents:   
+
The directory <tt>ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/8.2</tt> lists the following contents:   
 
<pre>
 
<pre>
6.2-RELEASE-i386-bootonly.iso  24848 KB  01/12/2007  12:00:00 AM
+
8.2-RELEASE-i386-bootonly.iso  24848 KB  01/12/2012 
6.2-RELEASE-i386-disc1.iso 587138 KB 01/12/2007 12:00:00 AM
+
8.2-RELEASE-i386-disc1.iso 587138 KB 01/12/2012
6.2-RELEASE-i386-disc2.iso 654402 KB 01/12/2007 12:00:00 AM
+
8.2-RELEASE-i386-disc2.iso 654402 KB 01/12/2012
6.2-RELEASE-i386-docs.iso 192414 KB 01/12/2007 12:00:00 AM
+
8.2-RELEASE-i386-docs.iso 192414 KB 01/12/2012
CHECKSUM.MD5                     1 KB 01/12/2007 12:00:00 AM
+
CHECKSUM.MD5                     1 KB 01/12/2012
CHECKSUM.SHA256                     1 KB 01/12/2007 12:00:00 AM
+
CHECKSUM.SHA256                     1 KB 01/12/2012
 
</pre>  
 
</pre>  
  
 
The file <tt>CHECKSUM.MD5</tt> contains the following text:  
 
The file <tt>CHECKSUM.MD5</tt> contains the following text:  
 
<pre>  
 
<pre>  
MD5 (6.2-RELEASE-i386-bootonly.iso) = 4e8701ac951bc4537f8420fdac7efbb5
+
MD5 (8.2-RELEASE-i386-bootonly.iso) = 4e8701ac951bc4537f8420fdac7efbb5
MD5 (6.2-RELEASE-i386-disc1.iso) = 3d27214700687c0b5390e8b6dd3706e3
+
MD5 (8.2-RELEASE-i386-disc1.iso) = 3d27214700687c0b5390e8b6dd3706e3
MD5 (6.2-RELEASE-i386-disc2.iso) = fd30bfc65ef8adaa67aeffd07c72bf21
+
MD5 (8.2-RELEASE-i386-disc2.iso) = fd30bfc65ef8adaa67aeffd07c72bf21
MD5 (6.2-RELEASE-i386-docs.iso) = e3512834982a9beebc3670499c7f3817
+
MD5 (8.2-RELEASE-i386-docs.iso) = e3512834982a9beebc3670499c7f3817
 
</pre>  
 
</pre>  
  
Line 25: Line 25:
 
mkdir boot disc1 disc2 docs  
 
mkdir boot disc1 disc2 docs  
  
sudo mdconfig -a -t vnode -f 6.2-RELEASE-i386-bootonly.iso  
+
sudo mdconfig -a -t vnode -f 8.2-RELEASE-i386-bootonly.iso  
 
sudo mount -t cd9660 /dev/md0 boot
 
sudo mount -t cd9660 /dev/md0 boot
  
sudo mdconfig -a -t vnode -f 6.2-RELEASE-i386-disc1.iso  
+
sudo mdconfig -a -t vnode -f 8.2-RELEASE-i386-disc1.iso  
 
sudo mount -t cd9660 /dev/md1 disc1
 
sudo mount -t cd9660 /dev/md1 disc1
  
sudo mdconfig -a -t vnode -f 6.2-RELEASE-i386-disc2.iso  
+
sudo mdconfig -a -t vnode -f 8.2-RELEASE-i386-disc2.iso  
 
sudo mount -t cd9660 /dev/md2 disc2
 
sudo mount -t cd9660 /dev/md2 disc2
  
sudo mdconfig -a -t vnode -f 6.2-RELEASE-i386-docs.iso  
+
sudo mdconfig -a -t vnode -f 8.2-RELEASE-i386-docs.iso  
 
sudo mount -t cd9660 /dev/md3 docs
 
sudo mount -t cd9660 /dev/md3 docs
 
</pre>
 
</pre>
Line 48: Line 48:
 
./boot/boot/modules
 
./boot/boot/modules
 
./disc1
 
./disc1
./disc1/6.2-RELEASE
+
./disc1/8.2-RELEASE
./disc1/6.2-RELEASE/base
+
./disc1/8.2-RELEASE/base
./disc1/6.2-RELEASE/catpages
+
./disc1/8.2-RELEASE/catpages
./disc1/6.2-RELEASE/dict
+
./disc1/8.2-RELEASE/dict
./disc1/6.2-RELEASE/doc
+
./disc1/8.2-RELEASE/doc
./disc1/6.2-RELEASE/games
+
./disc1/8.2-RELEASE/games
./disc1/6.2-RELEASE/info
+
./disc1/8.2-RELEASE/info
./disc1/6.2-RELEASE/kernels
+
./disc1/8.2-RELEASE/kernels
./disc1/6.2-RELEASE/manpages
+
./disc1/8.2-RELEASE/manpages
./disc1/6.2-RELEASE/ports
+
./disc1/8.2-RELEASE/ports
./disc1/6.2-RELEASE/proflibs
+
./disc1/8.2-RELEASE/proflibs
./disc1/6.2-RELEASE/src
+
./disc1/8.2-RELEASE/src
 
./disc1/bin
 
./disc1/bin
 
./disc1/boot
 
./disc1/boot
Line 319: Line 319:
 
Whereas the ISO file sizes are:  
 
Whereas the ISO file sizes are:  
 
<pre>  
 
<pre>  
6.2-RELEASE-i386-bootonly.iso  24,848 KB
+
8.2-RELEASE-i386-bootonly.iso  24,848 KB
6.2-RELEASE-i386-disc1.iso 587,138 KB
+
8.2-RELEASE-i386-disc1.iso 587,138 KB
6.2-RELEASE-i386-disc2.iso 654,402 KB
+
8.2-RELEASE-i386-disc2.iso 654,402 KB
6.2-RELEASE-i386-docs.iso 192,414 KB
+
8.2-RELEASE-i386-docs.iso 192,414 KB
 
</pre>  
 
</pre>  
  

Latest revision as of 11:20, 6 August 2012

[edit] Sample ISO layout of 8.2-RELEASE i386

The directory ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/8.2 lists the following contents:

8.2-RELEASE-i386-bootonly.iso  	 24848 KB  	01/12/2012  
8.2-RELEASE-i386-disc1.iso 	587138 KB 	01/12/2012 
8.2-RELEASE-i386-disc2.iso 	654402 KB 	01/12/2012 
8.2-RELEASE-i386-docs.iso 	192414 KB 	01/12/2012 
CHECKSUM.MD5 	                     1 KB 	01/12/2012 
CHECKSUM.SHA256	                     1 KB 	01/12/2012 

The file CHECKSUM.MD5 contains the following text:

 
MD5 (8.2-RELEASE-i386-bootonly.iso) = 4e8701ac951bc4537f8420fdac7efbb5
MD5 (8.2-RELEASE-i386-disc1.iso) = 3d27214700687c0b5390e8b6dd3706e3
MD5 (8.2-RELEASE-i386-disc2.iso) = fd30bfc65ef8adaa67aeffd07c72bf21
MD5 (8.2-RELEASE-i386-docs.iso) = e3512834982a9beebc3670499c7f3817

The four ISO images were downloaded to an OpenBSD host (from various mirrors) and the signatures were verified using the OpenBSD md5 command. For some other systems the command is md5sum instead.

The four ISO images were then loopback mounted using svnd devices as follows:

 
mkdir boot disc1 disc2 docs 

sudo mdconfig -a -t vnode -f 8.2-RELEASE-i386-bootonly.iso 
sudo mount -t cd9660 /dev/md0 boot

sudo mdconfig -a -t vnode -f 8.2-RELEASE-i386-disc1.iso 
sudo mount -t cd9660 /dev/md1 disc1

sudo mdconfig -a -t vnode -f 8.2-RELEASE-i386-disc2.iso 
sudo mount -t cd9660 /dev/md2 disc2

sudo mdconfig -a -t vnode -f 8.2-RELEASE-i386-docs.iso 
sudo mount -t cd9660 /dev/md3 docs

After mounting the four images as above, the top-level structure of the ISO images was listed out with the command:

find . -maxdepth 4 -type d  

which produces the following output:

./boot
./boot/boot
./boot/boot/defaults
./boot/boot/kernel
./boot/boot/modules
./disc1
./disc1/8.2-RELEASE
./disc1/8.2-RELEASE/base
./disc1/8.2-RELEASE/catpages
./disc1/8.2-RELEASE/dict
./disc1/8.2-RELEASE/doc
./disc1/8.2-RELEASE/games
./disc1/8.2-RELEASE/info
./disc1/8.2-RELEASE/kernels
./disc1/8.2-RELEASE/manpages
./disc1/8.2-RELEASE/ports
./disc1/8.2-RELEASE/proflibs
./disc1/8.2-RELEASE/src
./disc1/bin
./disc1/boot
./disc1/boot/defaults
./disc1/boot/kernel
./disc1/boot/modules
./disc1/dev
./disc1/etc
./disc1/etc/bluetooth
./disc1/etc/defaults
./disc1/etc/gnats
./disc1/etc/isdn
./disc1/etc/mail
./disc1/etc/mtree
./disc1/etc/ntp
./disc1/etc/pam.d
./disc1/etc/periodic
./disc1/etc/periodic/daily
./disc1/etc/periodic/monthly
./disc1/etc/periodic/security
./disc1/etc/periodic/weekly
./disc1/etc/ppp
./disc1/etc/rc.d
./disc1/etc/security
./disc1/etc/skel
./disc1/etc/ssh
./disc1/etc/ssl
./disc1/etc/X11
./disc1/floppies
./disc1/lib
./disc1/lib/geom
./disc1/libexec
./disc1/media
./disc1/mnt
./disc1/packages
./disc1/packages/All
./disc1/packages/devel
./disc1/packages/emulators
./disc1/packages/graphics
./disc1/packages/lang
./disc1/packages/linux
./disc1/packages/perl5
./disc1/packages/print
./disc1/packages/textproc
./disc1/packages/x11
./disc1/packages/x11-fonts
./disc1/packages/x11-servers
./disc1/proc
./disc1/rescue
./disc1/root
./disc1/sbin
./disc1/tmp
./disc1/tools
./disc1/tools/bsdboot
./disc1/tools/dist
./disc1/tools/srcs
./disc1/tools/srcs/bteasy
./disc1/tools/srcs/EXTIPL
./disc1/tools/srcs/fips
./disc1/tools/srcs/ide_conf
./disc1/tools/srcs/pfdisk
./disc1/tools/srcs/rawrite
./disc1/usr
./disc1/usr/bin
./disc1/usr/games
./disc1/usr/include
./disc1/usr/include/altq
./disc1/usr/include/arpa
./disc1/usr/include/bsm
./disc1/usr/include/bsnmp
./disc1/usr/include/cam
./disc1/usr/include/crypto
./disc1/usr/include/c++
./disc1/usr/include/dev
./disc1/usr/include/fs
./disc1/usr/include/geom
./disc1/usr/include/gnu
./disc1/usr/include/gpib
./disc1/usr/include/isofs
./disc1/usr/include/kadm5
./disc1/usr/include/libmilter
./disc1/usr/include/lwres
./disc1/usr/include/machine
./disc1/usr/include/net
./disc1/usr/include/net80211
./disc1/usr/include/netatalk
./disc1/usr/include/netatm
./disc1/usr/include/netgraph
./disc1/usr/include/netinet
./disc1/usr/include/netinet6
./disc1/usr/include/netipsec
./disc1/usr/include/netipx
./disc1/usr/include/netkey
./disc1/usr/include/netnatm
./disc1/usr/include/netncp
./disc1/usr/include/netsmb
./disc1/usr/include/nfs
./disc1/usr/include/nfsclient
./disc1/usr/include/nfsserver
./disc1/usr/include/objc
./disc1/usr/include/openssl
./disc1/usr/include/pccard
./disc1/usr/include/posix4
./disc1/usr/include/protocols
./disc1/usr/include/readline
./disc1/usr/include/rpc
./disc1/usr/include/rpcsvc
./disc1/usr/include/security
./disc1/usr/include/sys
./disc1/usr/include/ufs
./disc1/usr/include/vm
./disc1/usr/lib
./disc1/usr/lib/aout
./disc1/usr/lib/compat
./disc1/usr/libdata
./disc1/usr/libdata/gcc
./disc1/usr/libdata/ldscripts
./disc1/usr/libdata/lint
./disc1/usr/libexec
./disc1/usr/libexec/lpr
./disc1/usr/libexec/sendmail
./disc1/usr/libexec/sm.bin
./disc1/usr/local
./disc1/usr/obj
./disc1/usr/sbin
./disc1/usr/share
./disc1/usr/share/calendar
./disc1/usr/share/dict
./disc1/usr/share/doc
./disc1/usr/share/examples
./disc1/usr/share/games
./disc1/usr/share/groff_font
./disc1/usr/share/info
./disc1/usr/share/isdn
./disc1/usr/share/locale
./disc1/usr/share/man
./disc1/usr/share/me
./disc1/usr/share/misc
./disc1/usr/share/mk
./disc1/usr/share/nls
./disc1/usr/share/openssl
./disc1/usr/share/pcvt
./disc1/usr/share/security
./disc1/usr/share/sendmail
./disc1/usr/share/skel
./disc1/usr/share/snmp
./disc1/usr/share/syscons
./disc1/usr/share/tabset
./disc1/usr/share/tmac
./disc1/usr/share/vi
./disc1/usr/share/zoneinfo
./disc1/usr/src
./disc1/var
./disc1/var/account
./disc1/var/at
./disc1/var/at/jobs
./disc1/var/at/spool
./disc1/var/audit
./disc1/var/backups
./disc1/var/crash
./disc1/var/cron
./disc1/var/cron/tabs
./disc1/var/db
./disc1/var/db/entropy
./disc1/var/db/freebsd-update
./disc1/var/db/ipf
./disc1/var/db/pkg
./disc1/var/db/ports
./disc1/var/db/portsnap
./disc1/var/empty
./disc1/var/heimdal
./disc1/var/log
./disc1/var/mail
./disc1/var/msgs
./disc1/var/named
./disc1/var/named/dev
./disc1/var/named/etc
./disc1/var/named/var
./disc1/var/preserve
./disc1/var/run
./disc1/var/run/named
./disc1/var/run/ppp
./disc1/var/rwho
./disc1/var/spool
./disc1/var/spool/clientmqueue
./disc1/var/spool/lock
./disc1/var/spool/lpd
./disc1/var/spool/mqueue
./disc1/var/spool/opielocks
./disc1/var/spool/output
./disc1/var/tmp
./disc1/var/tmp/vi.recover
./disc1/var/yp
./disc2
./disc2/packages
./disc2/packages/accessibility
./disc2/packages/afterstep
./disc2/packages/All
./disc2/packages/archivers
./disc2/packages/astro
./disc2/packages/audio
./disc2/packages/comms
./disc2/packages/converters
./disc2/packages/databases
./disc2/packages/deskutils
./disc2/packages/devel
./disc2/packages/dns
./disc2/packages/editors
./disc2/packages/emulators
./disc2/packages/ftp
./disc2/packages/games
./disc2/packages/gnome
./disc2/packages/graphics
./disc2/packages/ipv6
./disc2/packages/irc
./disc2/packages/kde
./disc2/packages/lang
./disc2/packages/mail
./disc2/packages/math
./disc2/packages/misc
./disc2/packages/multimedia
./disc2/packages/net
./disc2/packages/net-mgmt
./disc2/packages/news
./disc2/packages/palm
./disc2/packages/perl5
./disc2/packages/print
./disc2/packages/python
./disc2/packages/ruby
./disc2/packages/scheme
./disc2/packages/security
./disc2/packages/shells
./disc2/packages/sysutils
./disc2/packages/textproc
./disc2/packages/windowmaker
./disc2/packages/www
./disc2/packages/x11
./disc2/packages/x11-clocks
./disc2/packages/x11-fm
./disc2/packages/x11-fonts
./disc2/packages/x11-themes
./disc2/packages/x11-toolkits
./disc2/packages/x11-wm
./docs
./docs/rr_moved
./docs/usr
./docs/usr/share
./docs/usr/share/doc

The mounted size, as reported by du -shPx differs from the ISO image size:

 
23.3M   boot
997M    disc1
638M    disc2
177M    docs

Whereas the ISO file sizes are:

 
8.2-RELEASE-i386-bootonly.iso  	 24,848 KB
8.2-RELEASE-i386-disc1.iso 	587,138 KB
8.2-RELEASE-i386-disc2.iso 	654,402 KB
8.2-RELEASE-i386-docs.iso 	192,414 KB

For a mirror combining the contents of disc1 and disc2, about 1.6 GB of storage would be consumed.

[edit] FreeBSD ftp mirror layout

For comparison, the file ftp://ftp.freebsd.org/pub/FreeBSD/dir.sizes shows the layout of a typical FreeBSD mirror, presumably giving the file sizes in multiples of KiB. The total size of the mirror for all architectures appears to be 440GB. The FreeBSD mirror documentation at Requirements for FreeBSD mirrors states that a Full FTP Distribution occupies 412 GB. Mirroring the whole of the ftp distribution is not practical for a local mirror.

[edit] See also

Personal tools