pavement

FreeBSD ISO layout

From FreeBSDwiki
Revision as of 11:20, 6 August 2012 by 173.88.199.104 (Talk)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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.

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