--- wikisrc/ports/evbarm/raspberry_pi.mdwn 2018/11/06 17:18:38 1.94 +++ wikisrc/ports/evbarm/raspberry_pi.mdwn 2018/11/06 17:26:24 1.95 @@ -66,23 +66,21 @@ Note that SD cards generally have limite ## Choosing a version -First, decide if you want to install a formal release (7.2 or 8.0), a stable branch build (netbsd-7, netbsd-8), or NetBSD-current. For people who don't know how to choose among those, 8.0 or netbsd-8 is probably best. +First, decide if you want to install a formal release (7.2 or 8.0), a stable branch build (netbsd-7, netbsd-8), or NetBSD-current. For people who don't know how to choose among those, a recent build of netbsd-8 is probably best, with 8.0 the choice for those who value being at exactly a formal release. See also "ebijun's image", below, which is NetBSD-current and includes packages. ## Getting bits to install -You can either build a release yourself with build.sh, or get one from the NetBSD FTP servers. - -Both will provide rpi.img.gz and rpi_inst.img.gz. Each is an image to be written to a uSD card, and has a FAT32 partition for booting. In rpi.img.gz, there is also an FFS partition for NetBSD. +You can either build a release yourself with build.sh, or get a release from the NetBSD HTTPS/FTP servers. The bits from both sources should match, except for things like timestamps, or because the sources are slightly different along branches. ### Building yourself -Getting sources and building a release with build.sh is not special for evbarm. However, the evbarm port has a very large number of CPU types, compared to i386 and amd64 which have one. The standard approach is to use -m to define MACHINE and -a to define MACHINE_ARCH. build.sh supports aliases that can be passed as a MACHINE value, but denote both MACHINE and a MACHINE_ARCH. The third line uses an alias and is equal to the second in effect, for RPI2/3. +Getting sources and building a release with build.sh is not special for evbarm. However, the evbarm port has a very large number of CPU types, compared to i386 and amd64 which have one each. The standard approach is to use -m to define MACHINE and -a to define MACHINE_ARCH. build.sh supports aliases that can be passed as a MACHINE value, but denote both MACHINE and a MACHINE_ARCH. The third line uses an alias and is equal to the second, for RPI2/3. Note that the aliases start with "evb" while the MACHINE_ARCH values do not, and that aliases have "-el" or "-eb", while the MACHINE_ARCH values have no suffix or "eb". - ./build.sh -m evbarm -a earmv6hf -u release - ./build.sh -m evbarm -a earmv7hf -u release - - ./build.sh -m earmv7hf-el -u release + - ./build.sh -m evbearmv7hf-el -u release Consider setting RELEASEMACHINEDIR if you wish to build multiple MACHINE_ARCH values for a MACHINE; see build.sh. Use something like "evbarm-earmv7hf", so that 1) earvm6 and earmv7 don't collide and 2) anita will recognize it as a type of evbarm. @@ -90,10 +88,14 @@ Consider setting RELEASEMACHINEDIR if yo NetBSD provides nightly builds on [nyftp.netbsd.org](https://nyftp.netbsd.org/pub/NetBSD-daily/). These are equivalent to building yourself. The next directory level is the branch being built (netbsd-7, netbsd-8, HEAD, and more), plus optionally things like compiler type. It is followed by date/time, e.g. "HEAD/201811051650Z"; once a build is complete the symlink "latest" is adjusted to point to it. The next level is "${MACHINE}-${MACHINE_ARCH}", e.g. "evbarm-earmv7hf", and multiple combinations are provided. +An example URL, arguably the standard approach for beginners, is https://nyftp.netbsd.org/pub/NetBSD-daily/netbsd-8/latest/evbarm-earmv7hf/binary/gzimg/ + +### release layout + - The 'evbarm-earmv6hf/binary/gzimg/' directory contains an rpi.img file that will run on any of the RPI boards. - The 'evbarm-earmv7hf/binary/gzimg/' directory contains an armv7.img file that uses the armv7 instruction set, and thus can run only on the Raspberry Pi 2/3, but is also faster than rpi.img. -An example URL, arguably the standard approach for beginners, is https://nyftp.netbsd.org/pub/NetBSD-daily/netbsd-8/latest/evbarm-earmv7hf/binary/gzimg/ +\todo Explain why there is no armv7_inst.gz. ## Preparing a uSD card