version 1.94, 2018/11/06 17:18:38
|
version 1.95, 2018/11/06 17:26:24
|
Line 66 Note that SD cards generally have limite
|
Line 66 Note that SD cards generally have limite
|
|
|
## Choosing a version |
## 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. |
See also "ebijun's image", below, which is NetBSD-current and includes packages. |
|
|
## Getting bits to install |
## Getting bits to install |
|
|
You can either build a release yourself with build.sh, or get one from the NetBSD FTP servers. |
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. |
|
|
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. |
|
|
|
### Building yourself |
### 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 earmv6hf -u release |
- ./build.sh -m evbarm -a earmv7hf -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. |
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. |
|
|
Line 90 Consider setting RELEASEMACHINEDIR if yo
|
Line 88 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. |
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-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. |
- 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 |
## Preparing a uSD card |
|
|