--- wikisrc/ports/evbarm/install_using_sysinst.mdwn 2018/11/19 22:00:10 1.11 +++ wikisrc/ports/evbarm/install_using_sysinst.mdwn 2018/11/20 12:54:50 1.18 @@ -4,6 +4,12 @@ In this document we will see step by ste external media (SATA hard disk, USB stick or (u)SD card) using [[!template id=man name="sysinst" section="8"]]. +We will start by installing NetBSD/evbarm via `armv7.img` on a +(u)SD card. Then we will use +[[!template id=man name="sysinst" section="8"]] to install +NetBSD/evbarm on a SATA hard disk. The (u)SD card populated via +`armv7.img` will then be used only in the early boot phase for u-boot. + As practical example a BananaPI and a SATA hard disk will be used. However, the following instructions can be probably easily applied on other SoCs and medias with little adjustments. @@ -31,6 +37,13 @@ $ gunzip armv7.img.gz # dd if=/usr/pkg/share/u-boot/<boardname>/u-boot-sunxi-with-spl.bin of=/dev/rld0d bs=1k seek=8 conv=sync """]] +## NetBSD/evbarm 8.0 (and older) u-boot adjustments + +[[!template id=note text=""" +Please note that the following adjustments will not be needed in +NetBSD-current and 9.0. +"""]] + NetBSD/evbarm 8.0 does not automatically boot on the BananaPI. We can use the following commands to boot from the (u)SD cards in u-boot: @@ -75,48 +88,48 @@ The first menu is about the system type latter ("Other"): [[!template id=programlisting text=""" - - - - - - - - - - + + + + + + + + + + +-------------------------------------+ | What kind of system do you have? | | | | a: Raspberry PI | |>b: Other | +-------------------------------------+ - - - - - - - - - - + + + + + + + + + + """]] We want to install NetBSD/evbarm on the hard disk so let's select "Install NetBSD to hard disk": [[!template id=programlisting text=""" - + NetBSD/evbarm 8.0 - + This menu-driven tool is designed to help you install NetBSD to a hard disk, or upgrade an existing NetBSD system, with a minimum of work. In the following menus type the reference letter (a, b, c, ...) to select an item, or type CTRL+N/CTRL+P to select the next/previous item. The arrow keys and Page-up/Page-down may also work. Activate the current selection from the menu by typing the enter key. - + If you booted from a floppy, you may now remove the disk. Thank you for using NetBSD! +-----------------------------------------------+ @@ -130,9 +143,9 @@ We want to install NetBSD/evbarm on the | f: Config menu | | x: Exit Install System | +-----------------------------------------------+ - - - + + + """]] Before proceeding with the installation, if the hard disk had any important data @@ -140,7 +153,7 @@ it is better to stop and doing a backup we can safetely remove its data we can proceed: [[!template id=programlisting text=""" - + You have chosen to install NetBSD on your hard disk. This will change information on your hard disk. You should have made a full backup before this procedure! This procedure will do the following things: @@ -148,10 +161,10 @@ we can safetely remove its data we can p b) Create new BSD file systems c) Load and install distribution sets d) Some initial system configuration - + (After you enter the partition information but before your disk is changed, you will have the opportunity to quit this procedure.) - + Shall we continue? +---------------+ | yes or no? | @@ -159,23 +172,23 @@ we can safetely remove its data we can p | a: No | |>b: Yes | +---------------+ - - - - - - - + + + + + + + """]] Now we can see all the available disks. The hard disk attached via SATA is a 120GB SSD recognized as `wd0`: [[!template id=programlisting text=""" - + On which disk do you want to install NetBSD? - - + + +-----------------------------------+ | Available disks | | | @@ -183,21 +196,21 @@ Now we can see all the available disks. | b: Extended partitioning | | x: Exit | +-----------------------------------+ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + """]] We now need to edit MBR partition table. We will create two MBR partitions: the @@ -205,18 +218,18 @@ first one a FAT32 for `/boot` and the ot partition table": [[!template id=programlisting text=""" - + We are now going to install NetBSD on the disk wd0. - + NetBSD requires a single partition in the disk's MBR partition table, this is split further by the NetBSD disklabel. NetBSD can also access file systems in other MBR partitions. - + If you select 'Use the entire disk' then the previous contents of the disk will be overwritten and a single MBR partition used to cover the entire disk. If you want to install more than one operating system then edit the MBR partition table and create a partition for NetBSD. - + A few hundred MB is enough for a basic installation, but you should allow extra for additional software and user files. Allow at least 5GB if you want to build NetBSD itself. @@ -226,21 +239,21 @@ partition table": |>a: Edit the MBR partition table | | b: Use the entire disk | +---------------------------------+ - - - - - + + + + + """]] First we select the second entry ("b"), set the "type:" to "NetBSD": [[!template id=programlisting text=""" - + The Current MBR partition table is shown below. Flgs: a => Active partition, I => Install here. Select the partition you wish to change: - + Total disk size 114473 MB. +-----------------------------------------------------------+ Start( MB) |>a: type: unused | @@ -260,8 +273,8 @@ First we select the second entry ("b"), | i: DOS FAT12 | | <: page up, >: page down | +-----------------------------------+ - - + + """]] We reserve for the NetBSD MBR partition all the end of the disk, @@ -270,11 +283,11 @@ the FAT32), we also select to make it ac we will use it to install NetBSD ("install: Yes"): [[!template id=programlisting text=""" - + The Current MBR partition table is shown below. Flgs: a => Active partition, I => Install here. Select the partition you wish to change: - + Total disk size 114473 MB. +-----------------------------------------------------------+ Start( MB) | a: type: NetBSD | @@ -286,16 +299,16 @@ we will use it to install NetBSD ("insta e: Change inpu| g: Change input units (sectors/cylinders/MB) | x: Partition t|>x: Partition OK | +-----------------------------------------------------------+ - - - - - - - - - - + + + + + + + + + + """]] We now select the first partition ("a") and create a "Windows FAT32", starting @@ -303,11 +316,11 @@ at 1MB and ending at 92MB before the "Ne ("active: Yes"): [[!template id=programlisting text=""" - + The Current MBR partition table is shown below. Flgs: a => Active partition, I => Install here. Select the partition you wish to change: - + Total disk size 114473 MB. +-----------------------------------------------------------+ Start( MB) | a: type: Windows FAT32 | @@ -319,28 +332,28 @@ at 1MB and ending at 92MB before the "Ne e: Change inpu| g: Change input units (sectors/cylinders/MB) | x: Partition t|>x: Partition OK | +-----------------------------------------------------------+ - - - - - - - - - - + + + + + + + + + + """]] Here the final MBR partition table: [[!template id=programlisting text=""" - + The Current MBR partition table is shown below. Flgs: a => Active partition, I => Install here. Select the partition you wish to change: - + Total disk size 114473 MB. - + Start( MB) Size( MB) Flg Kind ---------- ---------- --- ---------------- >a: 1 91 a Windows FAT32 @@ -349,32 +362,32 @@ Here the final MBR partition table: d: unused e: Change input units (sectors/cylinders/MB) x: Partition table OK - - - - - - - - - - - + + + + + + + + + + + """]] Now that the MBR partition table is written we can proceed to set sizes of NetBSD partitions: [[!template id=programlisting text=""" - + NetBSD uses a BSD disklabel to carve up the NetBSD portion of the disk into multiple BSD partitions. You must now set up your BSD disklabel. - + You can use a simple editor to set the sizes of the NetBSD partitions, or keep the existing partition sizes and contents. - + You will then be given the opportunity to change any of the disklabel fields. - + The NetBSD part of your disk is 114381 Megabytes. A full installation requires at least 288 Megabytes without X and at least 348 Megabytes if the X sets are included. @@ -384,27 +397,27 @@ sizes of NetBSD partitions: |>a: Set sizes of NetBSD partitions | | b: Use existing partition sizes | +-----------------------------------+ - - - - - - - - + + + + + + + + """]] We set the swap size to 4G and we reserve the rest of the space for "/": [[!template id=programlisting text=""" - + You can now change the sizes for the system partitions. The default is to allocate all the space to the root file system. However, you may wish to have separate /usr (additional system files), /var (log files etc) or /home (users' home directories) file systems. - + Free space will be added to the partition marked with a '+'. - + MB Cylinders Sectors Filesystem a: 2208(110284) 4488 4523904 + / b: 4096 8323 8389584 swap @@ -415,23 +428,23 @@ We set the swap size to 4G and we reserv g: Add a user defined partition h: Change input units (sectors/cylinders/MB) >x: Accept partition sizes. Free space 108076 MB, 13 free partitions. - - - - - - - - + + + + + + + + """]] The summary of the current BSD disklabel is: [[!template id=programlisting text=""" - + We now have your BSD disklabel partitions as: This is your last chance to change them. - + Start MB End MB Size MB FS type Newfs Mount Mount point --------- --------- --------- ---------- ----- ----- ----------- >a: 92 110375 110284 FFSv1 Yes Yes / @@ -443,17 +456,17 @@ The summary of the current BSD disklabel g: Show all unused partitions h: Change input units (sectors/cylinders/MB) x: Partition sizes ok - - - - - - - - - - - + + + + + + + + + + + """]] We can adjust the disklabel, for example we can use FFSv2 for "/" @@ -462,10 +475,10 @@ that an `/etc/fstab` entry will be popul that "/boot" will not be automatically mounted by default): [[!template id=programlisting text=""" - + We now have your BSD disklabel partitions as: This is your last chance to change them. - + Start MB End MB Size MB FS type Newfs Mount Mount point --------- --------- --------- ---------- ----- ----- ----------- a: 92 110375 110284 FFSv2 Yes Yes / @@ -477,17 +490,17 @@ that "/boot" will not be automatically m g: Show all unused partitions h: Change input units (sectors/cylinders/MB) >x: Partition sizes ok - - - - - - - - - - - + + + + + + + + + + + """]] We have finally ready to proceed with @@ -498,10 +511,10 @@ note that the "Binary set directory" nee missing an `-earmv7hf' due different evbarm-s): [[!template id=programlisting text=""" - + The following are the http site, directory, user, and password that will be used. If "user" is "ftp", then the password is not needed. - + a: Host ftp.NetBSD.org b: Base directory pub/NetBSD/NetBSD-8.0 >c: Binary set directory /evbarm-earmv7hf/binary/sets @@ -514,16 +527,16 @@ missing an `-earmv7hf' due different evb j: Configure network k: Exit x: Get Distribution - - - - - - - - - - + + + + + + + + + + """]] The installation will proceed as usual and for more information @@ -540,6 +553,9 @@ files of the `/boot` partition of the (u # umount /mnt """]] + +## NetBSD/evbarm 8.0 u-boot adjustments to boot from hard disk + Finally we can prepare a u-boot script (`boot.scr`) to load the kernel from the SATA hard disk and boot it: @@ -561,9 +577,13 @@ $ mkubootimage -A arm -n armv7 -T script Please remember that in the early boot phase, u-boot and `boot.scr` are loaded from the (u)SD card and it loads the kernel present in -the `/boot` partition of the hard disk. +the `/boot` partition of the hard disk (in our case "wd0e"). # References -*TODOleot*: add a reference to the instructions shared via PR port-evbarm/50806. +- [Installing NetBSD to HD/SSD on the Banana Pi](http://daemonforums.org/showthread.php?t=9652) + shows how to install NetBSD/evbarm 7.0 on a SATA hard disk by copying the + contents of (u)SD. +- [Chapter 3. Example installation, The NetBSD Guide](https://www.netbsd.org/docs/guide/en/chap-exinst.html) + describes in details every steps of the NetBSD installation.