1# $NetBSD: install.md,v 1.1.1.1 2002/04/12 21:11:46 leo Exp $ 2# 3# 4# Copyright (c) 1996 The NetBSD Foundation, Inc. 5# All rights reserved. 6# 7# This code is derived from software contributed to The NetBSD Foundation 8# by Jason R. Thorpe. 9# 10# Redistribution and use in source and binary forms, with or without 11# modification, are permitted provided that the following conditions 12# are met: 13# 1. Redistributions of source code must retain the above copyright 14# notice, this list of conditions and the following disclaimer. 15# 2. Redistributions in binary form must reproduce the above copyright 16# notice, this list of conditions and the following disclaimer in the 17# documentation and/or other materials provided with the distribution. 18# 3. All advertising materials mentioning features or use of this software 19# must display the following acknowledgement: 20# This product includes software developed by the NetBSD 21# Foundation, Inc. and its contributors. 22# 4. Neither the name of The NetBSD Foundation nor the names of its 23# contributors may be used to endorse or promote products derived 24# from this software without specific prior written permission. 25# 26# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 27# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 28# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 29# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 30# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 33# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 34# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 35# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 36# POSSIBILITY OF SUCH DAMAGE. 37# 38 39# 40# machine dependent section of installation/upgrade script. 41# 42 43VERSION= # filled in automatically (see list) 44export VERSION 45 46md_set_term() { 47 if [ ! -z "$TERM" ]; then 48 return 49 fi 50 echo -n "Specify terminal type [vt220]: " 51 getresp "vt220" 52 TERM="$resp" 53 export TERM 54} 55 56__mount_kernfs() { 57 # 58 # Force kern_fs to be mounted 59 # 60 if [ ! -d /kern -o ! -e /kern/msgbuf ]; then 61 mkdir /kern > /dev/null 2>&1 62 /sbin/mount_kernfs /kern /kern >/dev/null 2>&1 63 fi 64} 65 66md_makerootwritable() { 67 # Mount root rw for convenience of the tester ;-) 68 if [ ! -e /tmp/.root_writable ]; then 69 __mount_kernfs 70 mount -t ffs -u /kern/rootdev / > /dev/null 2>&1 71 cp /dev/null /tmp/.root_writable 72 fi 73} 74 75md_get_diskdevs() { 76 # return available disk devices 77 __mount_kernfs 78 sed -n -e '/^[sw]d[0-9] /s/ .*//p' \ 79 < /kern/msgbuf | sort -u 80} 81 82md_prep_disklabel() 83{ 84 # $1 is the root disk 85 # Note that the first part of this function is just a *very* verbose 86 # version of md_label_disk(). 87 88 cat << \__md_prep_disklabel_1 89You now have to prepare your root disk for the installation of NetBSD. This 90is further referred to as 'labeling' a disk. 91 92First you get the chance to edit or create an AHDI compatible partitioning on 93the installation disk. Note that NetBSD can do without AHDI partitions, 94check the documentation. 95If you want to use an AHDI compatible partitioning, you have to assign some 96partitions to NetBSD before NetBSD is able to use the disk. Change the 'id' 97of all partitions you want to use for NetBSD filesystems to 'NBD'. Change 98the 'id' of the partition you wish to use for swap to 'SWP'. 99 100Hit the <return> key when you have read this... 101__md_prep_disklabel_1 102 getresp "" 103 ahdilabel /dev/r${1}c 104 105 # display example 106 cat << \__md_prep_disklabel_3 107Here is an example of what the partition information will look like once 108you have entered the disklabel editor. Disk partition sizes and offsets 109are in sector (most likely 512 bytes) units. 110 111[Example] 112partition start (c/t/s) nblks (c/t/s) type 113 114 a (root) 0 (0/00/00) 31392 (109/00/00) 4.2BSD 115 b (swap) 31392 (109/00/00) 73440 (255/00/00) swap 116 c (disk) 0 (0/00/00) 1070496 (3717/00/00) unused 117 d (user) 104832 (364/00/00) 30528 (106/00/00) 4.2BSD 118 e (user) 135360 (470/00/00) 40896 (142/00/00) 4.2BSD 119 f (user) 176256 (612/00/00) 92160 (320/00/00) 4.2BSD 120 g (user) 268416 (932/00/00) 802080 (2785/00/00) 4.2BSD 121 122[End of example] 123 124Hit the <return> key when you have read this... 125 126__md_prep_disklabel_3 127 getresp "" 128 edlabel /dev/r${1}c 129 130 cat << \__md_prep_disklabel_4 131 132You will now be given the opportunity to place disklabels on any additional 133disks on your system. 134__md_prep_disklabel_4 135 136 _DKDEVS=`rmel ${1} ${_DKDEVS}` 137 resp="X" # force at least one iteration 138 while [ "X$resp" != X"done" ]; do 139 labelmoredisks 140 done 141} 142 143md_labeldisk() { 144 edahdi /dev/r${1}c < /dev/null > /dev/null 2>&1 145 [ $? -eq 0 ] && edahdi /dev/r${1}c 146 edlabel /dev/r${1}c 147} 148 149md_welcome_banner() { 150 echo "" 151 echo "Welcome to the NetBSD/atari ${VERSION} preparation program." 152 cat << \__welcome_banner_1 153 154This program is designed to partition your disk in preparation of the 155NetBSD installation. At this stage, the only thing you _must_ setup 156is a swap partition. If you wish, the remaining partitioning work might 157be delayed until the actual installation. 158 159As with anything which modifies your disk's contents, this 160program can cause SIGNIFICANT data loss, and you are advised 161to make sure your data is backed up before beginning the 162preparation process. 163 164Default answers are displayed in brackets after the questions. 165You can hit Control-C at any time to quit, but if you do so at a 166prompt, you may have to hit return. 167__welcome_banner_1 168} 169 170md_not_going_to_install() { 171 cat << \__not_going_to_install_1 172 173OK, then. Enter `halt' at the prompt to halt the machine. Once the 174machine has halted, power-cycle the system to load new boot code. 175 176Note: If you wish to have another try. Just type '^D' at the prompt. After 177 a moment, the program will restart itself. 178 179__not_going_to_install_1 180} 181 182md_congrats() { 183 cat << __congratulations_1 184 185CONGRATULATIONS! You have successfully partitioned your disks! 186Now you can use file2swap.ttp to transfer the install.fs to your 187swap partition and continue the installation. 188Enter halt at the command prompt. Once the system has halted, reset the 189machine and re-boot it. 190 191Note: If you wish to have another try. Just type '^D' at the prompt. After 192 a moment, the installer will restart itself. 193 194__congratulations_1 195} 196