INSTALL.I386(7) BSD Reference Manual INSTALL.I386(7)
install.i386 - installation instructions for the i386 architecture
/install
This manual page describes how to install the MirBSD operating system on an i386 (PC) machine.
The MirBSD homepage (see below) contains a comprehensive list of possi- bilities to get bootable installation media. In many cases, you will download MirBSD from the internet via HTTP or BitTorrent. On some confer- ences and fairs, you can also get CDs directly from the developers. You can also mail them to have a CD sent to you if you don't have broadband. You will need a bootable medium to start the installation and one that contains the installation sets. For booting, you have the following op- tions: - the "big" CD-ROM (which is bootable and contains all the installation sets) - the baselive CD-ROM (which can be booted into either a Live CD with the base system pre-installed, or into an installer behaving exactly like the "big" CD-ROM, which is what you need to install MirBSD) - the CD mini-ISO or midi-ISO (multi-architecture mini-ISO) (burned from cdrom10.iso) - one of the serial console preconfigured ISOs (burned from cdrom9600.iso, etc.) - the ssh daemon preconfigured ISO (burned from cdsshd10.iso) - one of the aforementioned ISOs, written to a USB stick, CF/SD card, HDD, or any other medium bootable by the firmware, "raw" using dd(1) - a floppy disk (created from floppy10.fs) - one of the serial console preconfigured floppies (created from floppy9600.fs, etc.) - bsd.rd, a kernel that contains a "rescue system". This is the best solution if you already have MirBSD installed. - If your machine is capable of netbooting via PXE and you have another box that can be a bootserver, you can even do a network installation without any physical media. This, however, is outside of the scope of this document. The installation sets can be fetched from the following sources: - again, the CD-ROM - another filesystem on your hard disk, e.g. FAT, NTFS, ext2fs, etc. - an NFS, HTTP or FTP server in your local network - a USB stick or external hard drive - directly from the MirBSD homepage To write the floppy image to a disk, use a command such as: dd if=floppy10.fs of=/dev/rfd0c bs=9216 Under GNU/Linux, use /dev/fd0 as the device name instead. To create the floppy under DOS, use the tool rawrite.exe. For MS Windows(R), use rawritewin (see URL below). To burn the ISO image to a CD-ROM (a rewritable CD is recommended), you can use any CD burning program. Under UNIX, use cdrecord for example: cdrecord -v dev=/dev/rcd1c cdrom10.iso You will need to change the device name above according to your system. cdrecord is available within the MirPorts Framework as sysutils/cdrtools. On MirBSD #11, OpenBSD 4.0 and up, use cdio(1) to burn the CD: cdio blank; cdio tao cdsshd10.iso The ISO images can be written to a hard disc or other bootable medium: dd if=cdrom9600.iso of=/dev/sda bs=262144 BEFORE YOU START: THOUGHTS ON PARTITIONING You should plan the organization of your hard disk now before you start the installation. The BSD operating systems don't use PC-style partition tables. Instead, they have their own scheme called a "disklabel". Thus, you will normally create one fdisk(8) partition for MirBSD which contains the disklabel and all the MirBSD filesystems. This partition is then sub- divided into so-called "slices" using the disklabel(8) editor. Partitions of other operating systems (e.g. ext2fs, msdos, or ntfs partitions) are usually automatically added to the disklabel. In fact, MirBSD only uses the partition entry to find its disklabel and to show other operating systems that the space is used. The MirBSD partition needs to be big enough to hold all the filesystems and the swap partition. At least 2 Gibibytes are recommended. It needs to be a primary or logical partition with type 0x27. If you are using a dif- ferent operating system now and you are familiar with its partitioning tool (e.g. GNU fdisk), you can use it to create the partition before you start the installation. This way, you avoid having to learn a new parti- tioning tool and minimise the risk of data loss. In any case, do a full backup of your data NOW in case anything goes wrong during the installa- tion or the change of the partition table. In case you have only one big partition (for example, if you had only MS Windows(R) installed before), you need to either delete or shrink it. For the latter, tools such as fips, parted or Partition Magic (commercial) can be used. In special cases, you can have more than one area on the disk for MirBSD. However, you will have to calculate slice offsets yourself, so do this only if you know what you are doing. In this case, the other partitions should be of a type otherwise unused in the system, such as 0xDB (CP/M- 86). The slices inside the disklabel are named using letters. 'a' This is always the root filesystem, i.e. the one from which you boot and which contains the kernel. For a full MirBSD installation including XFree86(R), you will need at least 500 MiB of space in this partition - more if you want to install third-party applica- tions using MirPorts or binary packages. 'b' This slice is always for swap space. As for its size, it used to be recommended to make it twice as big as the installed RAM, but on modern systems, you can use less (say 300 MiB) to save space. However, more swap space does not hurt, and it can be useful for high loads or compiling big software. It should be noted that the installer used to force the disk with the root filesystem to have a usable and allocated swap slice of at least 8 MiB. 'c' As this slice represents the whole disk, you cannot change its size or put a filesystem on it. 'i' Auto-detected partitions from other operating systems are given names from i on.
You will now boot from the installation media you have chosen. If you use a floppy, just insert it before rebooting. To boot from the CD-ROM, you may need to alter the settings in your BIOS setup. Again, this depends on your system. The first thing you will see is the MirBSD bootloader. A boot prompt will appear: boot> Wait a few seconds (depending on the installation medium) or enter the boot command shown to load the kernel and begin with the installation. You will see lots of messages on a blue background scroll by. These are the normal kernel startup messages while your hardware is being probed and the appropriate drivers are loaded. Once the kernel has finished loading, you will be asked: (I)nstall, (U)pgrade, or (S)hell? Press the 'I' key to start the installation procedure. You will be greeted with a welcome message: Welcome to the MirBSD #10/i386 install program. This program will help you to install MirBSD. At any prompt except password prompts you can run a shell command by typing '!foo', or escape to a shell by typing '!'. Default answers are shown in []s and are selected by just RETURN, but sometimes there is no default. At any time you can exit this program by pressing ^C (Control-C) and then RETURN, but quitting during an install can leave your sys- tem in an inconsistent state. Terminal type? [wsvtg] Simply press Enter at this prompt. The next question is: kbd(8) mapping? ('?' for list) [none] If you want to use the default US keyboard table, press Enter. If not, enter the short code for your keyboard layout here. It is usually identi- cal to your country code, for example de for Germany. IS YOUR DATA BACKED UP? As with anything that modifies disk con- tents, this program can cause SIGNIFICANT data loss. It is often helpful to have the installation notes handy. For com- plex disk configurations, relevant disk hardware manuals and a cal- culator are useful. Proceed with install? [no] This is the point where you should stop if you do not really want to do the installation now. If you are really sure you want to continue and if you have planned your disk layout (see above), then enter yes now to con- tinue. Cool! Let's get into it... You will now initialise the disk(s) that MirBSD will use. To enable all available security features you should configure the disk(s) to allow the creation of separate filesystems for /, /tmp, /var, /usr, and /home. Available disks are: wd0. Which disk is the root disk (or 'done') [wd0] Enter the name of the hard disk you want to install MirBSD on. The first IDE hard disk is 'wd0', while the first SCSI hard disk is 'sd0'. The next steps are partitioning with fdisk(8) and disklabel(8). See the section above for advice - you should have read it by now anyway. Enter the partition scheme you planned earlier here. If you want to use MirBSD exclusively on the hard disk, say yes on the next question: Do you want to use all of wd0 for MirBSD? [no] In most cases, you will say no here, so fdisk(8) will be started. You will get a prompt from fdisk that looks like this: fdisk: 1> The print command will show the current table. If you think you made a mistake, use the exit command to quit fdisk without saving any changes. quit saves the changes and exit. As an example of fdisk use, we will create one partition on an otherwise empty hard disk here. At the fdisk prompt, we edit the first entry in the partition table by entering edit 0. Starting Ending LBA Info: #: id C H S - C H S [ start: size ] --------------------------------------------------------------------- !0: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused Partition id ('0' to disable) [0 - FF]: [0] (? for help) 27 Do you wish to edit in CHS mode? [n] y BIOS Starting cylinder [0 - 1014]: [0] 0 BIOS Starting head [0 - 15]: [0] 1 BIOS Starting sector [1 - 63]: [0] 1 BIOS Ending cylinder [0 - 1014]: [0] 1014 BIOS Ending head [0 - 15]: [0] 15 BIOS Ending sector [1 - 63]: [0] 63 fdisk:*1> flag 0 Partition 0 marked active. fdisk:*1> NOTE: If you are doing the installation on a "virgin" hard disk, you must use the update command to install a boot loader into the MBR (Master Boot Record) and initialise the magic number. It is very important that the first partition begins on head 1 and not on head 0 (i.e. at sector 63) to leave some space for the partition table. As you see, the prompt in fdisk is now marked with an asterisk. This means that the partition table was changed. Type quit now to save it and quit fdisk. You will now create a MirBSD disklabel inside the MirBSD MBR parti- tion. The disklabel defines how MirBSD splits up the MBR partition (rather, the whole disk) into MirBSD slices in which filesystems and swap space are created. The offsets used in the disklabel are ABSOLUTE, i.e. relative to the start of the disk, NOT the start of the MirBSD MBR partition. If you have created a split space, i.e. one partition of type 27 and one or more partitions of type (e.g.) DB, use the command b<return>0<return>*<return> to enable using the entire disk for MirBSD. Be sure to create slices mapping the filesystems of any other operating systems in order to not overwrite them. # Inside MBR partition 0: type 27 start 63 (0x3F) size 1023057 (0xF9C51). Treating sectors 63-1023120 as the MirBSD portion of the disk. You can use the 'b' command to change this. Initial label editor (enter '?' for help at any prompt) > To see your current disklabel, use the p command. To add a slice in the disklabel editor, enter a followed by the slice name, for example a a. To create a slice, enter its offset (the starting point), size, and mount point. Offset and size values are in sectors, thus twice their size in kibibytes. Note that it is also possible to use a number and a modifier, for example 250M for a partition of 256 MiB or 2G for a partition of 2 Gibibytes. The default value for the offset is the beginning of free space, thus it is the right one if you add the partitions one after another. The default value for the size is the remaining space. Always leave the default when asked for the FS type. A very simple example with just two slices fol- lows: > a a offset: [63] size: [1023057] 896000 FS type: [4.2BSD] mount point: [none] / > a b offset: [896063] size: [127057] FS type: [swap] > Type q to quit and save your changes or x to quit without saving if you made a mistake and want to redo the disklabel or the partitioning. After the disklabel is created, the new filesystems will be initialised (erased): The root filesystem will be mounted on wd0a. wd0b will be used for swap space. No more disks to initialise. MirBSD filesystems: wd0a / The next step DESTROYS all existing data on these partitions! Are you really sure that you're ready to proceed? [no] This is really your last chance to abort. To continue, enter yes.
System hostname? (short form, e.g. 'foo') After the creation of the filesystems, you will be asked for the host name of the system. This is the name that you give your computer, without the domain name. It should be unique on your local network. Many people use some kind of naming scheme for their machines, for example the last names of their favourite authors. Configure the network? [yes] If you say no here, you can skip the whole network configuration. This is useful if you do not have a local network or if you want to configure it by hand later. However, if you want to fetch the installation sets over the network, you must do the configuration now. Available interfaces are: ne3 plip0 irip0 irip1. Which one do you wish to initialise? (or 'done') [ne3] Now, you need to figure out the name of your local network interface. Under MirBSD, network interfaces have a the name of their driver plus a number. 'plip0, irip0' and 'irip1' are "virtual" interfaces, thus the LAN interface in this example is 'ne3'. The media options for ne3 are currently media: Ethernet autoselect (10baseT) Do you want to change the media options? [no] The default media type of "Ethernet autoselect" is sufficient in most cases. Say yes here if you want to fix the speed or the cable type manu- ally. The latter might be necessary for cards with 10baseT via RJ-45 and 10base2 via coaxial cables, or if your switch is broken. IPv4 address for ne3? (or 'none' or 'dhcp') Enter the IPv4 address of the interface here. If you want to automatical- ly configure the parameters using DHCP (Dynamic Host Configuration Protocol), enter dhcp. If you do not want to give the interface an IPv4 address, enter none. If you are not sure what to do, ask your network ad- ministrator or try dhcp. Netmask? [255.255.255.0] Enter the subnet mask here. In most cases, you can keep the default. Now you are brought back to the interface selector from before, where you can configure additional network interfaces if you want. Enter done after you finished configuring the last one. DNS Domain name? (e.g. 'bar.com') [my.domain] Enter the internet domain name of your computer here. If you do not have your own domain, then use something like invalid, but never enter a domain name that belongs to someone else. DNS Nameserver? (IP address or 'none) [none] Enter the name of your local domain name server here. If you used DHCP before, the nameserver has been configured automatically, and you can just leave the default. If you use a DSL router or something similar, enter the address your ISP gave you. If you do not want to use a nameserver now, enter none. Edit hosts with ed? [no] If you enter yes here, you can edit the /etc/hosts file with ed. This file contains a static table of host names and corresponding IP ad- dresses. You will almost never need this. As the next step, you will create an initial user account for the system. In MirBSD, the "root" account is disabled by default. Instead, you can execute commands with root rights via sudo(8).
The installation sets are compressed archives that contain the different parts of MirBSD proper. You will now specify the location and names of the install sets you want to load. You will be able to repeat this step until all of your sets have been successfully loaded. Sets can be located on a mounted filesystem; a cdrom, disk or tape device; or a ftp, nfs, http or https server. Let's install the sets! Location of sets? (cd disk ftp http shttp nfs or 'done') [cd] If you have the "big" CD-ROM, just enter cd here and accept the defaults for the next questions. For an installation via internet, enter http or shttp (actually, this means https, but since the first character of the response is enough, it can be shortened to 's' this way) and also accept the defaults. In any case, you will be dropped into the install set selector. The available sets are: base10.ngz As the name implies, this set contains the base files and direc- tories. You want this. bsd The operating system kernel. You need this. bsd.rd A kernel image that boots into a "rescue system" that is con- tained within the image itself. A very handy tool for system recovery and later upgrades. dev10.ngz The GNU Compiler Collection, binutils, system headers, static li- braries and manual pages and associated documentation for developers. You will need this if you want to install additional software using the MirPorts Framework, or want to develop or com- pile yourself. For most normal systems, you will want this; how- ever, in some cases (like when building a router), it might be wise not to install the compiler. etc10.ngz This set installs the files in /etc as well as the httpd(8) manu- al and the default .profile files. It is never offered during an upgrade to not overwrite your changes. gnu10.ngz Contains those parts of the base system that are under less free licences, such as perl, sendmail, and lynx. You can choose to not install this set, but your system will not really be functional without. xbase10.ngz Most of the files needed for XFree86(R), the graphical user in- terface. xetc10.ngz Configuration files for XFree86(R), not offered during an upgrade either. xfont10.ngz Fonts for XFree86(R), Freetype2, and other applications. xserv10.ngz XFree86(R) regular (including DMX), nested and print servers. Do not install these on headless servers or if you do not plan on running an X11 server. The presence of this set switches the de- fault value for the X Window System question below to "yes". ada10.ngz Contains GNAT, the GCC Ada compiler. unfree10.ngz Contains FDL licenced documentation for the GNU toolchain. fixes10.ngz May contain post-release or post-snapshot should-have fixes. ports10.ngz Extracted MirPorts Framework tree. It is recommended to check this out from CVS. This set takes a very long time to unpack. You do not need to install this if you only want to install binary packages; choose the next set instead. pkgutl10.ngz Precompiled MirPorts Framework package tools, such as pkg_add(1). pkgsrc10.ngz Extracted pkgsrc(R) source package tree. It is recommended to check this out from CVS. This set takes a very long time to un- pack. You do not need to install this if you only want to install binary packages; choose the next set instead. psbsk10.ngz Precompiled pkgsrc(R) bootstrap binaries. site10.ngz May have been filled with content by your site administrator. source10.ngz Extracted source code of MirBSD, including GCC. xfree10.ngz Extracted source code of XFree86(R) for MirBSD. The installation of the sets is going to take a while. After it has fin- ished, you will be asked a final set of questions. Start sshd(8) by default? [yes] ssh (Secure Shell) is a service that allows secure remote logins with en- cryption. It can be very handy for many uses, so will almoast always say yes here. Start ntpd(8) by default? [yes] The ntp daemon synchronises your system clock from time servers over the internet or a local network. NFS and many other services rely on an exact time, so answer yes here if the machine has an internet connection. This setting affects the machdep.allowaperture sysctl. If you respond negatively, you must enable it later in /etc/sysctl.conf in order to be able to run XFree86(R). Do you expect to run the X Window System? [yes] If you ever want to run the X Window System (the graphical user inter- face), answer yes to this question. Please note that this is a huge security hole as long as the X server is not yet running, cf. xf86(4). Finally, you must select your local timezone, for example Europe/Berlin in Germany. Enter ? to get a list. Finally, the device nodes which reside in /dev are created by executing MAKEDEV(8), and the bootloader will be installed. You will also have to create a user which you will be using after reboot to log into the system (locally or via ssh(1)), for normal work if desired, but primarily for management tasks with sudo(1). At the end of the installation, the installer asks you to reboot. If you flagged the MirBSD partition as bootable in the beginning, the computer will automatically boot into MirBSD. If you use a boot manager, you will have to configure it accordingly to boot the partition (this is called a "chainloader" in LILO and GNU grub). The default MirBSD MBR also contains a boot manager. To boot the active partition, just press Return; select one of the four primary partitions with the keys 0 to 3, or boot from a floppy by pressing 5. To install a simple MBR without boot manager, use "fdisk -ef /nonexistent wd0" and press (um)in, (w)rite, (q)uit. Have fun with your new MirBSD installation!
afterboot(8), boot_i386(8), disklabel(8), fdisk(8) The MirBSD homepage: http://mirbsd.de/ The MirBSD IRC channel: irc://irc.mirbsd.org/%23MirBSD rawrite for Microsoft(R) Windows(R): http://uranus.it.swin.edu.au/~jn/linux/rawwrite.htm http://www.mirbsd.org/cvs.cgi/contrib/code/Snippets/NTRawrite.exe
This manual page was written by Benny Siegert <bsiegert@gmx.de>. For the names of the authors and all the copyright notices, see the file /usr/share/doc/legal/1stREAD on the installed system. MirBSD #10-current June 15, 2021 8