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