About this Document............................................3
Quick install notes for the impatient..........................3
What is NetBSD?................................................5
Changes Between The NetBSD 3.0 and 4.0 Releases................5
Networking..................................................5
File systems................................................6
Drivers.....................................................6
Platforms...................................................9
Kernel subsystems...........................................9
Security...................................................10
Userland...................................................11
Components removed from NetBSD.............................12
The Future of NetBSD..........................................13
Sources of NetBSD.............................................13
NetBSD 4.0 Release Contents...................................13
NetBSD/macppc subdirectory structure.......................15
Binary distribution sets...................................15
NetBSD/macppc System Requirements and Supported Devices.......17
Supported models...........................................18
Unsupported models.........................................19
Supported devices..........................................19
Unsupported devices........................................21
Supported boot devices and media...........................22
Getting the NetBSD System on to Useful Media..................22
Preparing your System for NetBSD installation.................24
Prepare yourself...........................................24
Preparing your Open Firmware 3 System for NetBSD..............26
Updating your BootROM......................................26
Getting to Open Firmware 3.................................26
Setting up Open Firmware 3 to boot NetBSD..................27
Available Boot Media.......................................27
Partitioning your hard drive for NetBSD....................29
Preparing the Open Firmware 3 Bootable Media...............30
Creating the NetBSD/macppc CD-R.........................31
Preparing an HFS or HFS+ partition......................31
Preparing a custom hybrid HFS/ISO9660 CD-R..............31
Creating an MS-DOS disk.................................32
Preparing the netboot server............................32
Preparing a SCSI or IDE drive with the CD-R image.......37
Preparing your Open Firmware 1.x or 2.x System for NetBSD.....37
Getting to Open Firmware on Apple Network Servers..........37
Open Firmware 1 and 2 System Preparation...................38
Getting to Open Firmware (MacOS X or Darwin)...............39
Getting to Open Firmware (Best, MacOS 8 or 9)..............39
Getting to Open Firmware (Harder, MacOS 7, 8, or...........40
Getting to Open Firmware (Without using MacOS).............41
Setting up Open Firmware 1 and 2 to boot...................42
Available Boot Media.......................................43
Partitioning your hard drive for NetBSD....................44
Preparing the Open Firmware 1 or 2 Bootable Media..........45
Creating the NetBSD/macppc CD-R.........................46
Creating the NetBSD install floppies....................46
Creating a custom ISO9660 CD-R..........................47
Creating an MS-DOS disk.................................48
Preparing the netboot server............................48
Preparing a SCSI or IDE drive with the CD-R image.......52
Installing the NetBSD System..................................53
Open Firmware boot syntax..................................53
Examples of Open Firmware boot commands....................56
Booting the NetBSD/macppc install CD-R..................56
Booting the NetBSD install floppies.....................57
Booting an IDE or SCSI drive with an HFS partition......57
Booting a custom CD-ROM.................................57
Booting an MS-DOS floppy................................58
Booting over the ethernet...............................58
Booting an IDE or SCSI drive with 'partition zero'......59
Example of a normal boot...................................59
Common Problems and Error Messages.........................60
Black screen............................................60
Grey screen with flashing question mark.................60
Information on your screen seems garbled or out of sync.60
DEFAULT CATCH!..........................................61
CLAIM failed............................................61
can't OPEN..............................................61
unrecognized Client Program formatstate not valid.......61
bad partition number, using 0no bootable HFS partition..62
READ TIMEOUT@...........................................62
TFTP timeout............................................62
enet:,/netbsd.ram.gz: Inappropriate file type or format.62
Bootloader hangs before the copyright notice............62
Hang after configuring devices..........................62
Milestone..................................................63
Running the sysinst installation program...................63
Introduction............................................63
General.................................................63
Quick install...........................................63
Booting NetBSD..........................................64
Network configuration...................................64
Preparing a disk for Open Firmware 3 systems............64
Installation drive selection and parameters.............66
Partitioning the disk...................................66
Preparing your hard disk................................67
Getting the distribution sets...........................67
Installation using ftp..................................67
Installation using NFS..................................68
Installation from CD-ROM................................68
Installation from an unmounted file system..............68
Installation from a local directory.....................68
Extracting the distribution sets........................68
Making the device nodes.................................69
Finalizing your installation............................69
Finalizing Open Firmware settings..........................69
Booting NetBSD exclusively..............................69
Additional Open Firmware tips...........................70
Booting NetBSD and MacOS X or Darwin....................70
Booting NetBSD and MacOS 9 or earlier...................70
Other boot techniques...................................71
Post installation steps.......................................71
Upgrading a previously-installed NetBSD System................74
Compatibility Issues With Previous NetBSD Releases............74
Issues affecting an upgrade from NetBSD 2.1 and older......75
Issues affecting an upgrade from NetBSD 3.x releases.......75
Issues with GDB 6.5...........................................76
Using online NetBSD documentation.............................76
Administrivia.................................................77
Thanks go to..................................................77
We are........................................................78
Dedication....................................................84
Legal Mumbo-Jumbo.............................................84
The End.......................................................90
This document describes the installation procedure for
NetBSD
4.0 on the
macppc
platform.
It is available in four different formats titled
INSTALL.ext,
where
.ext
is one of
.ps, .html, .more,
or .txt:
.ps.html.moremore(1)
and
less(1)
pager utility programs.
This is the format in which the on-line
man
pages are generally presented.
.txtYou are reading the HTML version.
This section contains some brief notes describing what you need to install NetBSD 4.0 on a machine of the macppc architecture.
macppc/installation/floppy/boot1.fs
and
macppc/installation/floppy/boot2.fs,
which include the bootloader and installation kernel.
For systems without floppy drives (most are Open Firmware 3), fetch the
bootloader
macppc/installation/ofwboot.xcf
and the installation kernel
macppc/binary/kernel/netbsd-GENERIC_MD.gz.
If you have a CD-R, you can fetch the CD image,
macppccd-4.0.iso.
Alternatively, you may netboot the installation kernel. This process is
covered below, in detail.
macppc/binary/sets/
directory.
When you boot the install
kernel from floppies, hard drive, or CD-ROM,
the installation program
can fetch these files for you (using e.g. ftp),
if you have a network connection.
There are several other methods to get the binary sets onto
your machine.
You will at a minimum need
the following sets:
kern-GENERIC.tgz,
base.tgz
and
etc.tgz.
In a typical workstation installation you will probably want
all the installation sets.
ofwboot.xcf and netbsd-GENERIC_MD.gz
to your hard drive icon (the top level of the drive, not the desktop).
If you are using the CD image, burn it now.
The disk(s) you just prepared will be used to boot the installation kernel, which contains all the tools required to install NetBSD.
At present, NetBSD/macppc cannot exist on the same hard drive as Mac OS unless you partition your disk before running the installer. Open Firmware versions prior to 3 require a dedicated NetBSD drive -- you must use the entire disk, partitioned with the installation tools. Open Firmware version 3 cannot boot into NetBSD on a drive partitioned with the installation tools, you must partition your disk before running the installer, then select the ``Re-install sets or install additional sets'' option in the installer (selecting the ``Install NetBSD to hard disk'' or ``Upgrade NetBSD on a hard disk'' options will render your drive unbootable). If you are unsure, you may want to read the section below on Partitioning your hard drive for NetBSD
COMMAND-OPTION-O-F
keys after the boot chime starts, but before the chime ends.
Entering Open Firmware versions prior to 3 is usually the most frustrating
part of installation -- you may want to read the section below on
Older Open Firmware System Preparation
You should have the Open Firmware
``0 >''
prompt on your screen before attempting to boot
NetBSD/macppc.
For boot CDs, the command is something like
``boot cd:,\ofwboot.xcf netbsd.macppc''
(for Open Firmware 3) or
``boot scsi-int/sd@3:0 NETBSD.MACPPC''
(for earlier Open Firmware versions).
You will need to use the correct case for
OFWBOOT.XCF and NETBSD.MACPPC
depending on how your version of Open Firmware interprets the ISO
file system.
You may need to replace
cd
with
scsi/sd@3 , scsi-int/sd@3 , ata/atapi-disk ,
or some other device alias.
You should also use the Open Firmware
dir
command to confirm that the
NetBSD/macppc
kernel is called
NETBSD.MACPPC.
You may want to read the section below on
Open Firmware boot syntax
The NetBSD Operating System is a fully functional Open Source UNIX-like operating system derived from the University of California, Berkeley Networking Release 2 (Net/2), 4.4BSD-Lite, and 4.4BSD-Lite2 sources. NetBSD runs on fifty four different system architectures (ports), featuring seventeen machine architectures across fifteen distinct CPU families, and is being ported to more. The NetBSD 4.0 release contains complete binary releases for many different system architectures. (A few ports are not fully supported at this time and are thus not part of the binary distribution. Please see the NetBSD web site at http://www.NetBSD.org/ for information on them.)
NetBSD is a completely integrated system. In addition to its highly portable, high performance kernel, NetBSD features a complete set of user utilities, compilers for several languages, the X Window System, firewall software and numerous other tools, all accompanied by full source code.
NetBSD is a creation of the members of the Internet community. Without the unique cooperation and coordination the net makes possible, it's likely that NetBSD wouldn't exist.
The NetBSD 4.0 release provides numerous significant functional enhancements, including support for many new devices, integration of hundreds of bug fixes, new and updated kernel subsystems, and many user-land enhancements. The result of these improvements is a stable operating system fit for production use that rivals most commercially available systems.
It is impossible to completely summarize more than a year of development that went into the NetBSD 4.0 release. The complete list of changes can be found in the CHANGES: ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-4.0/CHANGES and CHANGES-4.0: ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-4.0/CHANGES-4.0 files in the top level directory of the NetBSD 4.0 release tree. Some highlights include:
agr(4):
new pseudo-device driver for link level aggregation.
gre(4)
tunnels and the
tun(4)
device.
ndiscvt(8).
options(4)
and
in_getifa(9).
wpa_supplicant(8)
and
wpa_cli(8).
Utilities to connect and handle aspects of 802.11 WPA networks.
hostapd(8).
An authenticator for IEEE 802.11 networks.
carp(4):
imported Common Address Redundancy Protocol to allow multiple hosts to share a set of IP addresses for high availability / redundancy, from OpenBSD.
etherip(4):
new EtherIP tunneling device. It's able to tunnel Ethernet traffic over IPv4 and IPv6 using the EtherIP protocol specified in RFC 3378.
ftpd(8)
can now run in standalone mode, instead of from
inetd(8).
tftp(1)
now has support for multicast TFTP operation in open-loop mode, server is in progress.
tcp(4):
added support for RFC 3465 Appropriate Byte Counting (ABC) and Explicit Congestion Notification as defined in RFC 3168.
scan_ffs(8),
scan_lfs(8):
utilities to find FFSv1/v2 and LFS partitions to recover lost disklabels on disks and image files.
mount_tmpfs(8).
mount_udf(8).
Read-only for now.
vnd(4):
the vnode disk driver can be used on filesystems such as smbfs and tmpfs.
newfs_sysvbfs(8)
and
mount_sysvbfs(8).
auich(4):
added support to handle the AC'97 modem as audio device, enabled with the kernel option
``AUICH_ATTACH_MODEM''
azalia(4):
added support for S/PDIF.
amdpm(4):
added support for the i2c bus on the AMD-8111 used on many Opteron motherboards and for the Analog Devices ADT7464 hardware monitor chip.
adt7467c(4):
new driver for Analog Devices ADT7467 and ADM1030 hardware monitor chips.
ipmi(4):
new driver for motherboards implementing the Intelligent Platform Management Interface 1.5 or 2.0, from OpenBSD.
it(4):
new driver for iTE 8705F/8712F and SiS 950 hardware monitors.
lm(4)
driver was rewritten and support for more chips was added, for example for Winbond W83627HF, W83627THF, W83627DHG and Asus AS99127F.
owtemp(4):
new driver for the 1-Wire temperature sensors.
tmp121temp(4):
new driver for the Texas Instruments TMP121 temperature sensor.
ug(4):
new driver for Abit uGuru hardware monitor found on newer Abit motherboards.
geodewdog(4):
new AMD Geode SC1100 Watchdog Timer driver.
gscpcib(4):
new AMD Geode SC1100 PCI-ISA bridge that provides support for the GPIO interface.
ath(4):
updated HALs with support for WiSOC (AR531x) and 32bit SPARC.
bge(4):
added support for the following chips: BCM5753, BCM5753M, BCM5715, BCM5754, BCM5755 and BCM5787. Numerous improvements and bugfixes were made too.
kse(4):
new driver for Micrel KSZ8842/8841 PCI network cards.
msk(4):
new driver for Marvell Yukon 2 GigE PCI network cards, from OpenBSD.
nfe(4):
new driver for NVIDIA nForce Ethernet network cards, from OpenBSD.
ral(4):
new 802.11 driver for PCI/Cardbus Ralink RT2500, RT2501, RT2600, RT2661 and RT2500 USB chipsets, from OpenBSD.
rum(4):
new 802.11 driver for USB Ralink RT2501 and RT2601 chipsets, from OpenBSD.
sip(4):
now works on sparc64.
tlp(4):
added support for ASIX AX88140A and AX88141.
vr(4):
added support for the VIA Rhine III.
wm(4):
added support for i8003, ICH8, ICH9 and others. Support for IPv6 Rx TCP/UDP Checksum Offloading and more.
wpi(4):
new driver for Intel PRO/Wireless 3945ABG PCI 802.11 network cards, from OpenBSD.
glxsb(4):
new driver for the AMD Geode LX AES Security Block that provides random numbers and AES acceleration, from OpenBSD.
options(4)
for more information.
options(4)
for more information.
ahcisata(4):
new driver for AHCI 1.0 and 1.1 compliant SATA controllers.
ataraid(4):
added support to handle Adaptec HostRAID and VIA V-Tech software RAID.
ciss(4):
new driver for HP/Compaq 5th+ generation Smart ARRAY controllers, from OpenBSD.
fdc(4):
added support for SBus based sparc64 machines and fixed formatting on sparc.
gcscide(4):
new driver for the AMD Geode CS5535 Companion Device IDE controller.
jmide(4):
new driver for JMicron Technology JMB36x PCIe to SATA II/PATA controllers.
mfi(4):
new driver for LSI Logic and Dell MegaRAID SAS controllers, from OpenBSD.
mpt(4):
added support for newer SAS and similar devices.
njata(4):
new driver for Workbit NinjaATA-32 CardBus IDE controller.
pdcsata(4):
added support for the Promise PDC20775, PDC20771, PDC40518, PDC40718 and some bugfixes.
piixide(4):
added support for some ICH8/ICH8-M/ICH9 IDE and SATA controllers.
svwsata(4):
new driver for Serverworks K2 SATA controllers, from OpenBSD.
viaide(4)
added support for the VIA VT8237A SATA controller and AMD CS5536 Companion Device IDE Controller.
ucycom(4):
new driver for Cypress microcontroller based serial devices.
uipaq(4):
new driver for the iPAQ devices.
uslsa(4):
new driver for Silicon Labs CP210x series serial adapters.
utoppy(4):
new driver for the Topfield TF5000PVR range of digital video recorders.
vesafb(4):
added new framebuffer driver that supports VESA BIOS (VBE) 2.0 extensions and up.
teliosio(4)
driver for the Sharp Telios LCD screen and Battery unit.
midi(4)
framework got a complete overhaul for better support of Active Sensing and improved handling of tempo and timebase changes.
ubt(4)
for USB controllers, and
bt3c(4)
for the 3Com Bluetooth PC-Card.
See
bluetooth(4),
bthset(1)
and
btpin(1).
bio(4)
framework from OpenBSD, to query/control block hardware RAID device controllers. Currently supporting the
mfi(4)
driver.
dkctl(8)
can be used to switch buffer queuing strategies on the fly on
wd(4)
disks, see also
bufq(9).
fileassoc(9)
is used by Veriexec, it adds in-kernel and file-system independent file meta-data association interface.
firmload(9):
an API for loading firmware images used by various hardware devices.
gpio(4):
imported General Purpose I/O framework from OpenBSD.
onewire(4):
imported Dallas Semiconductor 1-wire bus framework from OpenBSD.
proplib(3)
protocol was added for sending property lists to/from the kernel using ioctls.
spi(4):
new SPI (Serial Peripherial Interface) framework.
timecounter(9)
adds a new time-keeping infrastructure along with NTP API 4 nanokernel implementation. Almost all platforms were changed to support this API.
wscons(4)
console driver supports splash screens, scrolling, progress bar for kernel and boot messages.
Kernel interfaces have continued to be refined, and more subsystems and device drivers are shared among the different ports. You can look for this trend to continue.
fast_ipsec(4)
for more information.
mprotect(2)
got restrictions to enforce W^X policies, from PaX. See
options(4),
sysctl(3),
and
paxctl(1).
security(8).
kauth(9)
was added, replacing the traditional BSD credential management and privileged operation access control with an abstract layer, allowing the implementation of various security models either as part of the NetBSD distribution or as third-party LKMs.
NetBSD's kernel authorization is a hybrid clean-room implementation of a similar interface developed by Apple, extending its capabilities and combining concepts of credential inheritance control.
cdplay(1):
added digital transfer mode support.
cksum(1)
can now verify checksums.
csplit(1):
new utility that splits a file into pieces. From FreeBSD/OpenBSD.
identd(1):
added support for forwarding ident queries and receiving of proxied ident queries.
getent(1):
added support for the ethers database.
gkermit(1):
new program for transferring files using the Kermit protocol.
mail(1):
added support for Mime and multi-character set handling, command line editing and completion.
utoppya(1):
new utility to interface to the
utoppy(4)
driver.
init(8):
added support for running multi-user in a chroot() environment. Allows / file system on e.g.,
cgd(4),
vnd(4)
or
ccd(4)
volumes.
gpt(8):
new GUID partition table maintenance utility, from FreeBSD.
iscsi-target(8);
Initiator (client) code is underway.
lockstat(8):
new command to display a summary of kernel locking events recorded over the lifetime of a called program.
ofctl(8):
new command to display the OpenPROM or OpenFirmware device tree for the macppc, shark and sparc64.
btconfig(8)
for controller configuration.
btdevctl(8)
to manage pseudo devices relating to remote services.
bthcid(8)
and
btpin(1)
for authenticating radio connections.
sdpd(8)
for providing service discovery to remote devices.
sdpquery(1)
for querying services on remote devices.
rfcomm_sppd(1)
to access remote services over RFCOMM via stdio or pty.
bthset(1)
for making connections to Bluetooth headsets.
Besides this list, there have also been innumerable bug fixes and other miscellaneous enhancements of course.
In this release of NetBSD, some software components known from previous releases were removed from the system. In some cases those were components that are not useful anymore or their utility does not justify maintenance overhead. Other components were not working properly and there was lack of interest in fixing them.
raid(4),
raidctl(8),
and the
NetBSD Guide:
http://www.NetBSD.org/docs/guide/en/chap-rf.html.
sendmail(1)
command line tool. Postfix has been included with NetBSD since NetBSD 1.5 was released in December 2005. Details about Postfix can be found in the
NetBSD Guide:
http://www.NetBSD.org/docs/guide/en/chap-mail.html.
For those who need Sendmail, it is available from pkgsrc in the
mail/sendmail
and
mail/sendmail813
packages.
net/uucp
package. The
cu(1)
command is available as a frontend to
tip(1).
lang/gcc3-f77
package.
The NetBSD Foundation has been incorporated as a non-profit organization. Its purpose is to encourage, foster and promote the free exchange of computer software, namely the NetBSD Operating System. The foundation will allow for many things to be handled more smoothly than could be done with our previous informal organization. In particular, it provides the framework to deal with other parties that wish to become involved in the NetBSD Project.
The NetBSD Foundation will help improve the quality of NetBSD by:
We hope to support even more hardware in the future, and we have a rather large number of other ideas about what can be done to improve NetBSD.
We intend to continue our current practice of making the NetBSD-current development source available on a daily basis.
We intend to integrate free, positive changes from whatever sources submit them, providing that they are well thought-out and increase the usability of the system.
Above all, we hope to create a stable and accessible system, and to be
responsive to the needs and desires of
NetBSD
users, because it is for
and because of them that
NetBSD
exists.
Refer to
http://www.NetBSD.org/mirrors/.
The root directory of the NetBSD 4.0 release is organized as follows:
.../NetBSD-4.0/
CHANGESCHANGES-4.0CHANGES.prevLAST_MINUTEMIRRORSREADME.filesTODOpatches/source/In addition to the files and directories listed above, there is one directory per architecture, for each of the architectures for which NetBSD 4.0 has a binary distribution.
The source distribution sets can be found in subdirectories of the
source
subdirectory of the distribution tree.
They contain the complete sources to the system.
The source distribution sets are as follows:
config(1);
and
dbsym(8).
All the above source sets are located in the
source/sets
subdirectory of the distribution tree.
The source sets are distributed as compressed tar files.
Except for the
pkgsrc
set, which is traditionally unpacked into
/usr/pkgsrc,
all sets may be unpacked into
/usr/src
with the command:
# cd / ; tar -zxpf set_name.tgz
In each of the source distribution set directories, there are files which contain the checksums of the files in the directory:
BSDSUMCKSUMMD5SHA512SYSVSUMThe SHA512 digest is the safest checksum, followed by the MD5 digest, and finally the POSIX checksum. The other two checksums are provided only to ensure that the widest possible range of systems can check the integrity of the release files.
macppc
subdirectory of the distribution:
.../NetBSD-4.0/macppc/.
It contains the following files and directories:
INSTALL.htmlINSTALL.psINSTALL.txtINSTALL.more.more
file contains underlined text using the
more(1)
conventions for indicating italic and bold display.
binary/kernel/netbsd-GENERIC.gznetbsd-GENERIC.MP.gznetbsd-GENERIC_MD.gznetbsd-INSTALL.gzsets/installation/floppy/boot1.fsfloppy/boot2.fsofwboot.xcfmacppc/binary/sets
subdirectory
of the
NetBSD
4.0
distribution tree, and are as follows:
/usr/include)
and the various system libraries (except the shared
libraries, which are included as part of the
base
set).
This set also includes the manual pages for
all of the utilities it contains, as well as the
system call and library manual pages.
/etc
and in several other places.
This set
must
be installed if you are installing the system from scratch, but should
not
be used if you are upgrading.
GENERIC
kernel named
/netbsd.
You
must
install this distribution set.
GENERIC.MP
kernel, which will use multiple processors (if present), named
/netbsd.
/usr/share.
groff(1),
all related programs, and their manual pages.
NetBSD maintains its own set of sources for the X Window System in order to assure tight integration and compatibility. These sources are based on XFree86, and tightly track XFree86 releases. They are currently equivalent to XFree86 4.5.0. Binary sets for the X Window System are distributed with NetBSD. The sets are:
See the X11 FAQ for help using X on macppc systems.
http://www.NetBSD.org/ports/macppc/x11.html
11 MB gzipped, 28 MB uncompressed
The macppc binary distribution sets are distributed as gzipped tar files
named with the extension
.tgz,
e.g.
base.tgz.
The instructions given for extracting the source sets work equally
well for the binary sets, but it is worth noting that if you use that
method, the filenames stored in the sets are relative and therefore
the files are extracted
below the current directory.
Therefore, if you want to extract the binaries into your system, i.e.
replace the system binaries with them, you have to run the
tar -xpf
command from the root directory (
/
) of your system.
This utility is used only in a Traditional method installation.
Currently, NetBSD/macppc requires the use of Open Firmware to boot. Open Firmware is a command environment using the FORTH language. The NetBSD kernel uses Open Firmware to gather information about your system and to control some of your devices. It is part of the boot ROMs in most PowerPC-based Macintosh systems. Until late 1996, Apple never intended to use Open Firmware for anything other than internal debugging and hardware support. It was not intended to be used to boot an operating system. This is why earlier machines have so much trouble with Open Firmware. This also means that PowerMacs and clones that lack Open Firmware cannot boot NetBSD on the macppc platform. Most machines introduced by Apple and the clone-makers after August 17, 1995 have Open Firmware and are supported.
Apple made several revisions of this Open Firmware environment, and each has various quirks and problems that we must work around. The single hardest step of installing NetBSD/macppc is to set up Open Firmware properly. Open Firmware versions 1.0.5 and 2.0.x act similarly and the same set of instructions applies to them. Open Firmware version 2.4 is slightly different with regards to booting. Open Firmware version 3 is altogether different, but easier to set up for NetBSD.
At present, NetBSD/macppc does not support the PPC 601 microprocessor, which means that the PowerMacintosh 7200 and 7500 models are not supported. The PowerMacintosh 7500 may be upgraded to a PPC 604, G3 or G4 microprocessor via a daughtercard replacement, in which case NetBSD will run on this system.
The minimal configuration requires 16 MB of RAM and ~80 MB of disk space. To install the entire system requires 200 MB plus space for the swap partition (usually the RAM size, unless you've got a lot of RAM). To install X, an additional 60 MB disk space is required, as is more RAM (at least 32 MB). NetBSD with 16 MB of RAM is very slow. Until you have around 32 MB of RAM, getting more RAM is more important than getting a faster CPU.
Go to the
NetBSD/macppc
Model Support webpage and look up your system.
Take note of the comments about your model and keep these in
mind during the rest of this installation procedure.
http://www.NetBSD.org/ports/macppc/models.html
You should wait to decide where to put the NetBSD distribution sets until you have figured out how you are going to boot your system. Refer back to this section after you have done so.
Note that if you are installing or upgrading from a writable media, the media can be write-protected if you wish. These systems mount a root image from inside the kernel, and will not need to write to the media. If you booted from a floppy, the floppy disk may be removed from the drive after the system has booted.
Installation is supported from several media types, including:
The steps necessary to prepare the distribution sets for installation depend upon which installation medium you choose. The steps for the various media are outlined below.
binary/sets
and
macppc/binary/sets.
Proceed to the instruction on installation.
split(1)
command, running e.g.
split -b 235k base.tgz base.
to split the
base.tgz
file from
macppc/binary/sets
into files named
base.aa,
base.ab,
and so on.
Repeat this for all
set_name.tgz
files, splitting them into
set_name.xx
files.
Count the number of
set_name.xx
files that make up the
distribution sets you want to install or upgrade.
You will need one sixth that number of 1.44 MB floppies.
Format all of the floppies with
MS-DOS.
Do
not
make any of them bootable
MS-DOS
floppies, i.e. don't use
format /s
to format them.
(If the floppies are bootable, then the
MS-DOS
system files that make them bootable will take up some space, and you
won't be able to fit the distribution set parts on the disks.)
If you're using floppies that are formatted for
MS-DOS
by their manufacturers, they probably aren't bootable, and you can use
them out of the box.
Place all of the
set_name.xx
files on the
MS-DOS
disks.
Once you have the files on MS-DOS disks, you can proceed to the next step in the installation or upgrade process. If you're installing NetBSD from scratch, go to the section on preparing your hard disk, below. If you're upgrading an existing installation, go directly to the section on upgrading.
204.152.190.13
and the IPv6 address is
2001:4f8:4:7:230:48ff:fe31:43f2
(as of December, 2007).
Once you have this information, you can proceed to the next step in the installation or upgrade process. If you're installing NetBSD from scratch, go to the section on preparing your hard disk, below. If you're upgrading an existing installation, go directly to the section on upgrading.
/etc/exports
file on the NFS server and resetting its mount daemon (mountd).
(Both of these actions will probably require superuser
privileges on the server.)
You need to know the numeric IP address of the NFS server, and, if you don't have DHCP available on your network and the server is not on a network directly connected to the machine on which you're installing or upgrading NetBSD, you need to know the numeric IP address of the router closest to the NetBSD machine. Finally, you need to know the numeric IP address of the NetBSD machine itself.
Once the NFS server is set up properly and you have the information mentioned above, you can proceed to the next step in the installation or upgrade process. If you're installing NetBSD from scratch, go to the section on preparing your hard disk, below. If you're upgrading an existing installation, go directly to the section on upgrading.
If you're making the tape on a UNIX-like system, the easiest way to do so is probably something like:
# tar -cf tape_device dist_directories
where
tape_device
is the name of the tape device that
describes the tape drive you're using; possibly
/dev/rst0,
or something similar, but it will vary from system to system.
(If you can't figure it out, ask your system administrator.)
In the above example,
dist_directories
are the
distribution sets' directories, for the distribution sets you
wish to place on the tape.
For instance, to put the
kern-GENERIC, base, and etc
distributions on tape (in
order to do the absolute minimum installation to a new disk),
you would do the following:
# cd .../NetBSD-4.0
# cd macppc/binary
# tar -cf tape_device kern-GENERIC base etc
Once you have the files on the tape, you can proceed to the next step in the installation or upgrade process. If you're installing NetBSD from scratch, go to the section on preparing your hard disk, below. If you're upgrading an existing installation, go directly to the section on upgrading.
Good.
Now, make sure you are reading the PDF (if available), PostScript,
or HTML version of this document, as the
.txt and .more
versions lack important formatting information that will prevent you from
following the twisted path you must follow.
OK, good.
Now, print out this document.
While it's printing, get some coffee, relax a bit, and mentally prepare yourself for something that promises to be confusing, frustrating, and annoying. If you assume the worst, you'll be pleasantly surprised when everything works easier than you expected. Also, forget everything you've been told about installing NetBSD/macppc. That's right, flush your knowledge cache -- some of it is almost certainly dirty.
Some of this document assumes familiarity with MacOS, e.g. how to download BinHex files and extract things with StuffIt Expander. If you've never heard of those terms before, it is possible to install NetBSD/macppc without booting or knowing how to use MacOS, but depending on your model it may be almost as painful as learning a little MacOS. See the FAQ for more help: http://www.NetBSD.org/ports/macppc/faq.html#macos-newbie
It's done printing? Fine, time to get started.
The recommended installation procedure is as follows:
Go to the `Apple Software Downloads' web site at http://www.info.apple.com/support/downloads.html and search for `firmware' and install the most recent version for your model. For most G3 and G4 models, you will need to run the FirmWare updater from MacOS 9.
There is one report that FirmWare Update 4.1.9 on iMac (Summer 2000) will
prevent the CD-ROM and the hard drive from operating together.
You may get
wdc0:0:1: lost interrupt
problems.
After the chime starts, but before it stops, hold down the four
COMMAND-OPTION-O-F
keys (the
COMMAND
key looks like a four-leaf clover or an open apple, and the
OPTION
key may look like a two-way switch with four straight line segments or say
ALT)
until you see the Open Firmware command prompt on your screen:
Apple PowerBook3,1 2.1f1 BootROM built on 01/29/00 at 22:38:07
Copyright 1994-2000 Apple Computer, Inc.
All Rights Reserved
Welcome to Open Firmware.
To continue booting, type "mac-boot" and press return.
To shut down, type "shut-down" and press return.
ok
0 >
Now, set your system to always stop at the Open Firmware prompt.
0 > setenv auto-boot? false
Alternatively, if you are currently running MacOS X or Darwin, you can use the nvram command to set this variable before rebooting.
# nvram auto-boot\?=false
You will need to escape the question-mark or enclose the whole nvram argument in double-quotes to prevent your shell from trying to interpret it.
Double-check your Open Firmware version:
0 > dev /openprom
0 > .properties
name openprom
device_type BootROM
model OpenFirmware 3
relative-addressing
supports-bootinfo
ok
If you will be netbooting your system, you can look up your MAC address.
0 > dev enet
0 > .properties
[...]
local-mac-address CCCCCCCC CCCC
[...]
You can check your Open Firmware settings with the
printenv
command:
0 > printenv
-------------- Partition: common -------- Signature: 0x70 ---------------
little-endian? false false
real-mode? false false
auto-boot? false true
diag-switch? false false
[...]
use-nvramrc? true false
real-base -1 -1
[...]
input-device keyboard keyboard
output-device screen screen
Therefore, to boot the
NetBSD
kernel, Open Firmware must first load a
`bootloader'
(ofwboot.xcf)
which knows how to load the
NetBSD
kernel.
ofwboot.elf
is obsoleted. All users should be using
ofwboot.xcf
instead of
ofwboot.elf
now.
The following bootable media are available for loading the bootloader:
This method loads
ofwboot.xcf
from an HFS or HFS+ partition which then loads the kernel from an acceptable
location. The kernel (compressed
or non-compressed) may be on an HFS or HFS+ partition.
Due to Open Firmware pickiness, it must be on the same partition as
ofwboot.xcf.
In this method, Open Firmware loads the
ofwboot.xcf
bootloader from an MS-DOS file system. It may then load a
NetBSD
kernel from the same MS-DOS file system.
This has only been thoroughly tested on floppy disks,
but may work on Zip disks or FDISK-formatted hard drives.
This does not work for MS-DOS partitions on a hard drive with an Apple
Partition Map.
You can run your entire system diskless or netboot only the files necessary to boot (i.e. the bootloader and the installation kernel). You must have root access for the UNIX-like netboot server, which must be on the same subnet as your NetBSD/macppc machine.
Load the
ofwboot.xcf
bootloader from the CD-ROM's HFS file system.
It can then load a
NetBSD
kernel from the HFS or ISO9660 file system.
Make sure that the CD has an Apple Partition Map.
Once the bootloader is loaded, it can open the kernel from one of the following sources:
The boot CD-R images provided with the distribution sets has both a
`partition zero'
bootloader and
ofwboot.xcf
on a hybrid partition so it can be booted on all Open Firmware
versions. It also has an ISO9660 file system with
an installation kernel and the distribution sets.
This is the drive that will have the bootloader,
ofwboot.xcf.
Your
NetBSD
partitions may either be on this same disk (using the method described
in the rest of this section), or on a separate disk accessible only to
NetBSD.
This section describes how to make a single disk usable by both MacOS and NetBSD -- this is necessary for machines which have only one hard drive (such as the eMac, iBook, iMac, PowerBook, and PowerMacintosh Cube systems). If you do not want MacOS you must still follow this procedure, but create only a small HFS+ partition (large enough for the bootloader).
There are two partitioning tools available for
NetBSD/macppc,
disklabel(8)
and
pdisk(8).
The former is used in the
NetBSD
sysinst
installer, and will render your disk unusable by
MacOS.
It will also prevent Open Firmware 3 machines from booting from that disk.
When running the installer, you will need to use the installer's
``Re-install sets''
option to skip the
disklabel
step.
Do not use disklabel or ``Re-install sets'' unless you will use one drive for NetBSD only and have another drive which will have the bootloader.
The process is more fully detailed in the Partitioning HOW-TO: http://www.NetBSD.org/ports/macppc/partitioning.html
You can create a partition map with
pdisk(8),
but the disk will not be usable with MacOS 9 and earlier. If this is a
concern, you will need to use Apple's Drive Setup or Disk Utility.
If you are using Apple's Drive Setup tool, make sure you have version 1.8.1 or later. This tool only runs under MacOS 9 and earlier. Drive Setup will erase the contents of your drive -- it does not preserve data from any of your partitions.
Apple's Disk Utility only runs under MacOS X 10.0.0 and later. Make sure you click the ``Install Mac OS 9 Disk Drivers'' checkbox. Also, keep in mind that Disk Utility does not create the partitions that NetBSD/macppc requires. After creating the initial partition map with Disk Utility, you will need to use the NetBSD pdisk to change the partition types. Also, Disk Utility will erase the contents of your drive -- it does not preserve data from any of your partitions.
pdisk is the most flexible (and most difficult to use) partitioning tool available. It runs on almost all OSes that macppc machines support. Download it: ftp://ftp.NetBSD.org/pub/NetBSD/arch/macppc/netbsd-pdisk/ ftp://ftp.NetBSD.org/pub/NetBSD/arch/macppc/macos-utils/pdisk.sea.hqx
There is built-in help describing how it works. When it asks you to enter
the
``Type of partition'',
use
Apple_UNIX_SVR2
for
NetBSD
partitions,
Apple_HFS
for HFS and HFS+ partitions, and
Apple_UFS
for UFS partitions.
After you've written the partition map with
pdisk,
you will need to create the file systems. Use
newfs(8)
and
mount(8)
for
NetBSD
file systems, and
hfstools
to create and mount HFS file systems.
ftp://ftp.NetBSD.org/pub/NetBSD/packages/pkgsrc/sysutils/hfsutils/README.html
Make the following partitions:
/usr (at least 200 MB), /home, /usr/local,
or
/usr/pkg.
NetBSD
interprets these partitions as normal
NetBSD-style
partitions.
These partitions are not readable from
MacOS.
Now would be a good time to use pdisk to determine the partition numbers for your bootloader and kernel.
If you will be running your system diskless (i.e. entirely over NFS, not using any local hard drives), then you do not need to run the installer, you only need to extract the distribution sets on the diskless server.
To get the distribution sets onto appropriate media, see the above section entitled Getting the NetBSD System on to Useful Media. You may want to get the distribution sets when you create the bootable media.
What follows are the steps to create different types of bootable media for the NetBSD install kernel. You should only need to create one of these to get your system to boot the installer
Go to one of the
NetBSD
mirror sites and download the CD-R image
macppccd-4.0.iso
from the
pub/NetBSD/iso
directory.
http://www.NetBSD.org/mirrors/#iso
Get and install cdrecord.
NetBSD
users should install it from the package collection.
Other
UNIX-like
systems should get it from the official website:
ftp://ftp.NetBSD.org/pub/NetBSD/packages/pkgsrc/sysutils/cdrtools/README.html
http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html
# cdrecord -v speed=4 dev=/dev/cd1c macppccd-4.0.iso
You will need to substitute the correct name of the disk image file,
speed for your CD writer, and the
correct device for your system (for i386 it would be
/dev/cd1d).
Skip forward to Installing the NetBSD System
Place
ofwboot.xcf
and the installation kernel
netbsd-GENERIC_MD.gz
at the top level of your Macintosh file system.
That is, drag the two icons onto your hard drive icon (not the desktop).
Make sure they're both on the same partition.
Skip forward to Installing the NetBSD System
This section describes how to create your own bootable NetBSD/macppc CD-R. We recommend that you use the official NetBSD/macppc-4.0 CD-R image, as described in the section above.
Place
ofwboot.xcf
and the installation kernel
netbsd-GENERIC_MD.gz
at the top level of the CD.
Make sure that the bootloader is present on the HFS partition, and the kernel
is on both the ISO9660 and HFS partitions.
Due to restrictions in the way that Open Firmware deals with ISO
filenames, you may wish to name your kernel
netbsd.gz.
You may also place the
NetBSD4.0
distribution sets on the
ISO9660 partition (not only on the HFS partition).
Get and install mkisofs.
This is now part of the cdrecord package.
NetBSD
users should install it from the package collection.
Other
UNIX-like
systems should get it from the official website:
ftp://ftp.NetBSD.org/pub/NetBSD/packages/pkgsrc/sysutils/cdrtools/README.html
http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html
# mkisofs -o output.iso -hfs -part -l -J -r -L -N /cdsources
# cdrecord -v speed=4 dev=/dev/cd1c output.iso
You will need to substitute the correct speed for your CD writer, and the
correct device for your system (for i386 it would be
/dev/cd1d).
See the NetBSD Bootable CD-ROM HOW-TO for more detail: http://www.NetBSD.org/docs/bootcd.html
installation/ofwboot.xcf
and
binary/kernel/netbsd-GENERIC_MD.gz
into the window. You may also want to drag the
NetBSD4.0
distribution sets to this window as well.
Skip forward to Installing the NetBSD System
Open Firmware 3 cannot boot from a floppy disk, but you can still create a bootable Zip disk with this method.
mount_msdos(8)
on any
UNIX-like
machine.
netbsd-INSTALL.gz and ofwboot.xcf
to the disk.
netbsd-INSTALL.gz to netbsd.gz,
since OpenFirmware can't deal with MS-DOS filenames longer than eight
characters.
Skip forward to Installing the NetBSD System
To netboot a macppc, you must configure one or more servers to provide
information and files to your macppc (the
`client').
If you are using
NetBSD
(any architecture) on your netboot server(s), the information
provided here should be sufficient to configure everything.
Additionally, you may wish to look at the
diskless(8)
manual page and the manual pages for each daemon you'll be configuring.
If the server(s) are another operating system, you should consult the
NetBSD Diskless HOW-TO, which will walk you through the steps necessary to
configure the netboot services on a variety of platforms.
http://www.NetBSD.org/docs/network/netboot/
You may either netboot the installer so you can install onto a locally attached disk, or you may run your system entirely over the network.
Briefly, the netboot
process involves discovery, bootstrap, kernel and file system stages.
In the first stage, the client discovers information
about where to find the bootstrap program.
Next, it downloads and executes the bootstrap program.
The bootstrap program goes through another discovery phase to determine
where the kernel is located.
The bootstrap program tries to mount the NFS share containing the kernel.
Once the kernel is loaded, it starts executing.
For RAM disk kernels, it mounts the RAM disk file system and begins
executing the installer from the RAM disk.
For normal (non-RAM disk) kernels, the
kernel tries to mount the NFS share that had the kernel and starts
executing
the installation tools or
init(8).
All macppc systems use BOOTP for the discovery stage.
TFTP is used in the bootstrap phase to download
the bootstrap program,
ofwboot.xcf.
NFS is used in both the kernel and file system stages to download the
kernel, and to access files on the file server.
We will use
`CC:CC:CC:CC:CC:CC'
as the MAC address (ethernet hardware address) of your netboot client
machine.
You should have determined this address in an earlier stage.
In this example, we will use
`192.168.1.10'
as the IP address of your client and
`client.test.net'
as its name.
We will assume you're providing all of your netboot services
on one machine called
`server.test.net'
with the client's files exported from the directory
/export/client/root.
You should, of course, replace all of these with the names, addresses,
and paths appropriate to your environment.
<