pavement

FreeBSD ISO layout

From FreeBSDwiki
Revision as of 01:24, 23 July 2007 by MaxEnt (Talk | contribs)
Jump to: navigation, search

Sample ISO layout of 6.2-RELEASE i386

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

6.2-RELEASE-i386-bootonly.iso  	 24848 KB  	01/12/2007  	12:00:00 AM
6.2-RELEASE-i386-disc1.iso 	587138 KB 	01/12/2007 	12:00:00 AM
6.2-RELEASE-i386-disc2.iso 	654402 KB 	01/12/2007 	12:00:00 AM
6.2-RELEASE-i386-docs.iso 	192414 KB 	01/12/2007 	12:00:00 AM
CHECKSUM.MD5 	                     1 KB 	01/12/2007 	12:00:00 AM
CHECKSUM.SHA256	                     1 KB 	01/12/2007 	12:00:00 AM

The file CHECKSUM.MD5 contains the following text:

 
MD5 (6.2-RELEASE-i386-bootonly.iso) = 4e8701ac951bc4537f8420fdac7efbb5
MD5 (6.2-RELEASE-i386-disc1.iso) = 3d27214700687c0b5390e8b6dd3706e3
MD5 (6.2-RELEASE-i386-disc2.iso) = fd30bfc65ef8adaa67aeffd07c72bf21
MD5 (6.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 vnconfig svnd0 6.2-RELEASE-i386-bootonly.iso 
sudo mount -t cd9660 /dev/svnd0c boot

sudo vnconfig svnd1 6.2-RELEASE-i386-disc1.iso 
sudo mount -t cd9660 /dev/svnd1c disc1

sudo vnconfig svnd2 6.2-RELEASE-i386-disc2.iso 
sudo mount -t cd9660 /dev/svnd2c disc2

sudo vnconfig svnd3 6.2-RELEASE-i386-docs.iso 
sudo mount -t cd9660 /dev/svnd3c 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/6.2-RELEASE
./disc1/6.2-RELEASE/base
./disc1/6.2-RELEASE/catpages
./disc1/6.2-RELEASE/dict
./disc1/6.2-RELEASE/doc
./disc1/6.2-RELEASE/games
./disc1/6.2-RELEASE/info
./disc1/6.2-RELEASE/kernels
./disc1/6.2-RELEASE/manpages
./disc1/6.2-RELEASE/ports
./disc1/6.2-RELEASE/proflibs
./disc1/6.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:

 
6.2-RELEASE-i386-bootonly.iso  	 24,848 KB
6.2-RELEASE-i386-disc1.iso 	587,138 KB
6.2-RELEASE-i386-disc2.iso 	654,402 KB
6.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.

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.

See also

Personal tools