File:  [NetBSD Developer Wiki] / wikisrc / ports / evbarm / install_using_sysinst.mdwn
Revision 1.6: download - view: text, annotated - select for diffs
Mon Nov 19 20:56:25 2018 UTC (2 years, 4 months ago) by leot
Branches: MAIN
CVS tags: HEAD
Add instructions about fetching and populating (u)SD card with armv7.img.

    1: [[!meta title="NetBSD/evbarm install via sysinst(8) on a SATA hard disk, USB stick or (u)SD card"]]
    2: 
    3: In this document we will see step by step how to install NetBSD/evbarm on an
    4: external media (SATA hard disk, USB stick or (u)SD card) using
    5: [[!template id=man name="sysinst" section="8"]].
    6: 
    7: 
    8: # Populating (u)SD card with `armv7.img`
    9: 
   10: - Download or build `armv7.img`, e.g.:
   11: ````
   12: $ ftp http://cdn.NetBSD.org/pub/NetBSD/NetBSD-8.0/evbarm-earmv7hf/binary/gzimg/armv7.img.gz
   13: $ gunzip armv7.img.gz
   14: ````
   15: - Write the image to (u)SD card:
   16: ````
   17: $ dd if=armv7.img of=/dev/rsd0d bs=1m conv=sync
   18: ````
   19: - Write u-boot to (u)SD card. `u-boot` images are provided by
   20: `sysutils/u-boot-<boardname>` packages, for example for Allwinner SoC:
   21: ````
   22: $ dd if=/usr/pkg/share/u-boot/<boardname>/u-boot-sunxi-with-spl.bin of=/dev/rld0d bs=1k seek=8 conv=sync
   23: ````
   24: 
   25: *TODOleot*: Adjust/provide u-boot incantantions to boot on a BPI
   26: 
   27: 
   28: # Installing via sysinst(8)
   29: 
   30: *TODOleot*: Document all sysinst(8) "screenshot"!
   31: 
   32: Now that the SD card is populated with `armv7.img` we can login as `root` (by
   33: default the password is empty) and run `sysinst`:
   34: 
   35: [[!template id=programlisting text="""
   36: # sysinst
   37: """]]
   38: 
   39: The first menu is about the system type (Respberry PI or Other), we select the
   40: latter ("Other"):
   41: 
   42: [[!template id=programlisting text="""
   43: 
   44: 
   45: 
   46: 
   47: 
   48: 
   49: 
   50: 
   51: 
   52: 
   53:                     +-------------------------------------+
   54:                     | What kind of system do you have?    |
   55:                     |                                     |
   56:                     | a: Raspberry PI                     |
   57:                     |>b: Other                            |
   58:                     +-------------------------------------+
   59: 
   60: 
   61: 
   62: 
   63: 
   64: 
   65: 
   66: 
   67: 
   68: 
   69: """]]
   70: 
   71: We want to install NetBSD/evbarm on the hard disk so let's select
   72: "Install NetBSD to hard disk":
   73: 
   74: [[!template id=programlisting text="""
   75: 
   76:  NetBSD/evbarm 8.0
   77: 
   78:  This menu-driven tool is designed to help you install NetBSD to a hard disk,
   79:  or upgrade an existing NetBSD system, with a minimum of work.
   80:  In the following menus type the reference letter (a, b, c, ...) to select an
   81:  item, or type CTRL+N/CTRL+P to select the next/previous item.
   82:  The arrow keys and Page-up/Page-down may also work.
   83:  Activate the current selection from the menu by typing the enter key.
   84: 
   85:  If you booted from a floppy, you may now remove the disk.
   86:  Thank you for using NetBSD!
   87:                +-----------------------------------------------+
   88:                | NetBSD-8.0 Install System                     |
   89:                |                                               |
   90:                |>a: Install NetBSD to hard disk                |
   91:                | b: Upgrade NetBSD on a hard disk              |
   92:                | c: Re-install sets or install additional sets |
   93:                | d: Reboot the computer                        |
   94:                | e: Utility menu                               |
   95:                | f: Config menu                                |
   96:                | x: Exit Install System                        |
   97:                +-----------------------------------------------+
   98: 
   99: 
  100: 
  101: """]]
  102: 
  103: Before proceeding with the installation, if the hard disk had any important data
  104: it is better to stop and doing a backup before proceeding. If it is empty and/or
  105: we can safetely remove its data we can proceed:
  106: 
  107: [[!template id=programlisting text="""
  108: 
  109:  You have chosen to install NetBSD on your hard disk.  This will change
  110:  information on your hard disk.  You should have made a full backup before
  111:  this procedure!  This procedure will do the following things:
  112:          a) Partition your disk
  113:          b) Create new BSD file systems
  114:          c) Load and install distribution sets
  115:          d) Some initial system configuration
  116: 
  117:  (After you enter the partition information but before your disk is changed,
  118:  you will have the opportunity to quit this procedure.)
  119: 
  120:  Shall we continue?
  121:                                +---------------+
  122:                                | yes or no?    |
  123:                                |               |
  124:                                | a: No         |
  125:                                |>b: Yes        |
  126:                                +---------------+
  127: 
  128: 
  129: 
  130: 
  131: 
  132: 
  133: 
  134: """]]
  135: 
  136: Now we can see all the available disks. The hard disk attached via SATA is a
  137: 120GB SSD recognized as `wd0`:
  138: 
  139: [[!template id=programlisting text="""
  140: 
  141:  On which disk do you want to install NetBSD?
  142: 
  143: 
  144:                      +-----------------------------------+
  145:                      | Available disks                   |
  146:                      |                                   |
  147:                      |>a: wd0 (112G, SanDisk SDSSDA120G) |
  148:                      | b: Extended partitioning          |
  149:                      | x: Exit                           |
  150:                      +-----------------------------------+
  151: 
  152: 
  153: 
  154: 
  155: 
  156: 
  157: 
  158: 
  159: 
  160: 
  161: 
  162: 
  163: 
  164: 
  165: 
  166: """]]
  167: 
  168: We now need to edit MBR partition table. We will create two MBR partitions: the
  169: first one a FAT32 for `/boot` and the other for NetBSD. We select "Edit the MBR
  170: partition table":
  171: 
  172: [[!template id=programlisting text="""
  173: 
  174:  We are now going to install NetBSD on the disk wd0.
  175: 
  176:  NetBSD requires a single partition in the disk's MBR partition table, this is
  177:  split further by the NetBSD disklabel.  NetBSD can also access file systems
  178:  in other MBR partitions.
  179: 
  180:  If you select 'Use the entire disk' then the previous contents of the disk
  181:  will be overwritten and a single MBR partition used to cover the entire disk.
  182:  If you want to install more than one operating system then edit the MBR
  183:  partition table and create a partition for NetBSD.
  184: 
  185:  A few hundred MB is enough for a basic installation, but you should allow
  186:  extra for additional software and user files.
  187:  Allow at least 5GB if you want to build NetBSD itself.
  188:                       +---------------------------------+
  189:                       | Which would you like to do?     |
  190:                       |                                 |
  191:                       |>a: Edit the MBR partition table |
  192:                       | b: Use the entire disk          |
  193:                       +---------------------------------+
  194: 
  195: 
  196: 
  197: 
  198: 
  199: """]]
  200: 
  201: First we select the second entry ("b"), set the "type:" to "NetBSD":
  202: 
  203: [[!template id=programlisting text="""
  204: 
  205:  The Current MBR partition table is shown below.
  206:  Flgs: a => Active partition, I => Install here.
  207:  Select the partition you wish to change:
  208: 
  209:     Total disk size 114473 MB.
  210:                +-----------------------------------------------------------+
  211:     Start( MB) |>a:       type: unused                                     |
  212:     ---------- | b:      start: 0 MB                                       |
  213:  a:            | c:       size: 0 MB                                       |
  214: >b:            | d:        end: 0 MB                                       |
  215:  c:            | e:     active: No                                         |
  216:  d:          +-----------------------------------+                         |
  217:  e: Change in| a: Don't change                   |linders/MB)              |
  218:  x: Partition| b: Delete partition               |                         |
  219:              |>c: NetBSD                         |-------------------------+
  220:              | d: Extended partition, LBA        |
  221:              | e: FreeBSD/386BSD                 |
  222:              | f: OpenBSD                        |
  223:              | g: Linux native                   |
  224:              | h: Linux swap                     |
  225:              | i: DOS FAT12                      |
  226:              | <: page up, >: page down          |
  227:              +-----------------------------------+
  228: 
  229: 
  230: """]]
  231: 
  232: We reserve for the NetBSD MBR partition all the end of the disk,
  233: starting at 92MB (1MB that will be empty and 91MB that will be for
  234: the FAT32), we also select to make it active ("active: Yes") and
  235: we will use it to install NetBSD ("install: Yes"):
  236: 
  237: [[!template id=programlisting text="""
  238: 
  239:  The Current MBR partition table is shown below.
  240:  Flgs: a => Active partition, I => Install here.
  241:  Select the partition you wish to change:
  242: 
  243:     Total disk size 114473 MB.
  244:                +-----------------------------------------------------------+
  245:     Start( MB) | a:       type: NetBSD                                     |
  246:     ---------- | b:      start: 92 MB                                      |
  247:  a:            | c:       size: 114381 MB                                  |
  248: >b:            | d:        end: 114473 MB                                  |
  249:  c:            | e:     active: Yes                                        |
  250:  d:            | f:    install: Yes                                        |
  251:  e: Change inpu| g: Change input units (sectors/cylinders/MB)              |
  252:  x: Partition t|>x: Partition OK                                           |
  253:                +-----------------------------------------------------------+
  254: 
  255: 
  256: 
  257: 
  258: 
  259: 
  260: 
  261: 
  262: 
  263: 
  264: """]]
  265: 
  266: We now select the first partition ("a") and create a "Windows FAT32", starting
  267: at 1MB and ending at 92MB before the "NetBSD" partition. We also make it active
  268: ("active: Yes"):
  269: 
  270: [[!template id=programlisting text="""
  271: 
  272:  The Current MBR partition table is shown below.
  273:  Flgs: a => Active partition, I => Install here.
  274:  Select the partition you wish to change:
  275: 
  276:     Total disk size 114473 MB.
  277:                +-----------------------------------------------------------+
  278:     Start( MB) | a:       type: Windows FAT32                              |
  279:     ---------- | b:      start: 1 MB                                       |
  280: >a:            | c:       size: 91 MB                                      |
  281:  b:         92 | d:        end: 92 MB                                      |
  282:  c:            | e:     active: Yes                                        |
  283:  d:            | f:    install: No                                         |
  284:  e: Change inpu| g: Change input units (sectors/cylinders/MB)              |
  285:  x: Partition t|>x: Partition OK                                           |
  286:                +-----------------------------------------------------------+
  287: 
  288: 
  289: 
  290: 
  291: 
  292: 
  293: 
  294: 
  295: 
  296: 
  297: """]]
  298: 
  299: Here the final MBR partition table:
  300: 
  301: [[!template id=programlisting text="""
  302: 
  303:  The Current MBR partition table is shown below.
  304:  Flgs: a => Active partition, I => Install here.
  305:  Select the partition you wish to change:
  306: 
  307:     Total disk size 114473 MB.
  308: 
  309:     Start( MB)  Size( MB) Flg Kind
  310:     ---------- ---------- --- ----------------
  311: >a:          1         91 a   Windows FAT32
  312:  b:         92     114381   I NetBSD
  313:  c:                           unused
  314:  d:                           unused
  315:  e: Change input units (sectors/cylinders/MB)
  316:  x: Partition table OK
  317: 
  318: 
  319: 
  320: 
  321: 
  322: 
  323: 
  324: 
  325: 
  326: 
  327: 
  328: """]]
  329: 
  330: Now that the MBR partition table is written we can proceed to set
  331: sizes of NetBSD partitions:
  332: 
  333: [[!template id=programlisting text="""
  334: 
  335:  NetBSD uses a BSD disklabel to carve up the NetBSD portion of the disk into
  336:  multiple BSD partitions.  You must now set up your BSD disklabel.
  337: 
  338:  You can use a simple editor to set the sizes of the NetBSD partitions, or
  339:  keep the existing partition sizes and contents.
  340: 
  341:  You will then be given the opportunity to change any of the disklabel fields.
  342: 
  343:  The NetBSD part of your disk is 114381 Megabytes.  A full installation
  344:  requires at least 288 Megabytes without X and at least 348 Megabytes if the X
  345:  sets are included.
  346:                      +-----------------------------------+
  347:                      | Choose your installation          |
  348:                      |                                   |
  349:                      |>a: Set sizes of NetBSD partitions |
  350:                      | b: Use existing partition sizes   |
  351:                      +-----------------------------------+
  352: 
  353: 
  354: 
  355: 
  356: 
  357: 
  358: 
  359: 
  360: """]]
  361: 
  362: We set the swap size to 4G and we reserve the rest of the space for "/":
  363: 
  364: [[!template id=programlisting text="""
  365: 
  366:  You can now change the sizes for the system partitions.  The default is to
  367:  allocate all the space to the root file system.  However, you may wish to
  368:  have separate /usr (additional system files), /var (log files etc) or /home
  369:  (users' home directories) file systems.
  370: 
  371:  Free space will be added to the partition marked with a '+'.
  372: 
  373:         MB         Cylinders   Sectors   Filesystem
  374:     a:   2208(110284)      4488   4523904 + /
  375:     b:   4096              8323   8389584   swap
  376:     c:      0                 0         0   /tmp (mfs)
  377:     d:      0                 0         0   /usr
  378:     e:      0                 0         0   /var
  379:     f:      0                 0         0   /home
  380:     g: Add a user defined partition
  381:     h: Change input units (sectors/cylinders/MB)
  382:    >x: Accept partition sizes.  Free space 108076 MB, 13 free partitions.
  383: 
  384: 
  385: 
  386: 
  387: 
  388: 
  389: 
  390: 
  391: """]]
  392: 
  393: The summary of the current BSD disklabel is:
  394: 
  395: [[!template id=programlisting text="""
  396: 
  397:  We now have your BSD disklabel partitions as:
  398:  This is your last chance to change them.
  399: 
  400:     Start  MB   End  MB  Size  MB FS type    Newfs Mount Mount point
  401:     --------- --------- --------- ---------- ----- ----- -----------
  402: >a:        92    110375    110284 FFSv1      Yes   Yes   /
  403:  b:    110376    114472      4096 swap
  404:  c:         0    114472    114473 Whole disk
  405:  d:         0         0         0 unused
  406:  e:         1        91        91 Boot partition
  407:  f:         0         0         0 unused
  408:  g: Show all unused partitions
  409:  h: Change input units (sectors/cylinders/MB)
  410:  x: Partition sizes ok
  411: 
  412: 
  413: 
  414: 
  415: 
  416: 
  417: 
  418: 
  419: 
  420: 
  421: 
  422: """]]
  423: 
  424: We can adjust the disklabel, for example we can use FFSv2 for "/"
  425: and for the disklabel "e" set its mount point to "/boot" in order
  426: that an `/etc/fstab` entry will be populated (please note
  427: that "/boot" will not be automatically mounted by default):
  428: 
  429: [[!template id=programlisting text="""
  430: 
  431:  We now have your BSD disklabel partitions as:
  432:  This is your last chance to change them.
  433: 
  434:     Start  MB   End  MB  Size  MB FS type    Newfs Mount Mount point
  435:     --------- --------- --------- ---------- ----- ----- -----------
  436:  a:        92    110375    110284 FFSv2      Yes   Yes   /
  437:  b:    110376    114472      4096 swap
  438:  c:         0    114472    114473 Whole disk
  439:  d:         0         0         0 unused
  440:  e:         1        91        91 Boot partition             /boot
  441:  f:         0         0         0 unused
  442:  g: Show all unused partitions
  443:  h: Change input units (sectors/cylinders/MB)
  444: >x: Partition sizes ok
  445: 
  446: 
  447: 
  448: 
  449: 
  450: 
  451: 
  452: 
  453: 
  454: 
  455: 
  456: """]]
  457: 
  458: We have finally ready to proceed with
  459: [[!template id=man name="sysinst" section="8"]] as usual and install
  460: the installation sets.  If you choose to install via FTP/HTTP please
  461: note that the "Binary set directory" needs to be adjusted from
  462: `/evbarm/binary/sets` to `/evbarm-earmv7hf/binary/sets` (it's
  463: missing an `-earmv7hf' due different evbarm-s):
  464: 
  465: [[!template id=programlisting text="""
  466: 
  467:  The following are the http site, directory, user, and password that will be
  468:  used.  If "user" is "ftp", then the password is not needed.
  469: 
  470:  a: Host                      ftp.NetBSD.org
  471:  b: Base directory            pub/NetBSD/NetBSD-8.0
  472: >c: Binary set directory      /evbarm-earmv7hf/binary/sets
  473:  d: Source set directory      /source/sets
  474:  e: User                      ftp
  475:  f: Password
  476:  g: Proxy
  477:  h: Transfer directory        /usr/INSTALL
  478:  i: Delete after install      No
  479:  j: Configure network
  480:  k: Exit
  481:  x: Get Distribution
  482: 
  483: 
  484: 
  485: 
  486: 
  487: 
  488: 
  489: 
  490: 
  491: 
  492: """]]
  493: 
  494: The installation will proceed as usual and for more information
  495: please give a look to
  496: [The NetBSD Guide](https://www.netbsd.org/docs/guide/en/chap-exinst.html#exinst-choose-media).
  497: 
  498: *TODOleot*: add information how to populate `/boot` and prepare `boot.cmd`,
  499: `boot.scr`.
  500: 
  501: [[!template id=programlisting text="""
  502: # mount /dev/wd0e /mnt
  503: # cp -r /boot/* /mnt/
  504: """]]
  505: 
  506: 
  507: # References
  508: 
  509: *TODOleot*: add a reference to the instructions shared via PR port-evbarm/50806.

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb