Home | History | Annotate | Line # | Download | only in prepare
install.md revision 1.6
      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