Commit Graph

205 Commits

Author SHA1 Message Date
skrll a856f9893d Provide MI PMAP support on AARCH64 2022-11-03 09:04:56 +00:00
jmcneill bf46a11b02 Stop building TISDP2420. 2022-10-29 08:52:47 +00:00
jmcneill 2eecf961dc Remove commented out kernel configs 2022-10-29 08:52:22 +00:00
brook c5a23dac66 By default, do not install any bootable images.
The previous commit introduced the ability to install a set of
bootable images as a normal part of a release build.  While this made
it easy to install bootable images, the contents of a release build
depend on whether or not U-Boot packages are installed in /usr/pkgsrc,
which is the default location searched by installboot(8).

This commit requires users to explicitly list the bootable images to
be installed, which by default is none (i.e., prior behavior).
2022-08-22 16:50:25 +00:00
brook 99f61d3fde Create bootable images in ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/gzimg.
Release builds for arm platforms create compressed images in
${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/gzimg.  However, in some
cases, e.g., armv7.img.gz, they are not bootable.  Consequently, boot
blocks must be manually installed in the images, which is an extra
barrier for testing systems or adopting NetBSD.  This has prompted
creation of external repositories, e.g., armbsd.org, to host a
collection of bootable images.  However, this does not ease the burden
on developers compiling their own systems; for them, manual
installation of boot blocks is still required.

For arm platforms, etc/etc.evbarm/Makefile.inc contains the commands
used to create system images.  Because installboot(8) can write boot
blocks directly to system images, a loop through possible boards can
create a series of bootable images during the normal build process.

In the case of many arm platforms, installboot(8) uses U-Boot boot
blocks, which are not part of the NetBSD source code.  Developers can,
however, install as many U-Boot boot blocks as desired, either in the
default location of /usr/pkg/share/u-boot or in a set of directories
pointed to by the U-Boot search path, the INSTALLBOOT_UBOOT_PATHS
environment variable.  For each board with an available boot block, a
board-specific bootable image will be created in
${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/gzimg.  If a boot block is
not available, which is the typical situation currently, no additional
image will be created.

This facility creates opportunities to build bootable images for any
number of boards within the scope of a standard release build.
However, that is not required and will not occur without the
intervention of installing U-Boot boot blocks prior to the build.
2022-08-21 15:01:08 +00:00
riastradh cc725e3507 viocon(4): New virtio tty driver imported from OpenBSD.
viocon* at virtio?

/dev/ttyVI??

Tested under qemu with:

qemu-system-aarch64 ... \
  -device virtio-serial \
  -chardev socket,path=/tmp/ttyVI00,server=on,wait=off,id=ttyVI00 \
  -device virtconsole,chardev=ttyVI00,name=org.NetBSD.dev.ttyVI00 \
  ...

I updated MAKEDEV.conf to create /dev/ttyVI?? on all ports where it
looks likely to work based on:
(a) having pci or a non-pci virtio attachment,
(b) `qemu-system-$ARCH -M ?' mentioned something resembling the port,
    and
(c) `qemu-system-$ARCH -device virtio-serial' launched without
    complaining about the virtio-serial device.

(Criterion (c) excluded sparc and sparc64.)
2022-08-12 11:15:40 +00:00
rin fccec4780a Build OPENBLOCKS_A6 kernel for evbarmv5-e[bl].
It works --- except for:

- mvsata(4) problems (already reported repeatedly)
- NFS root with mvgbe(4) is weird; the system eventually locks up

Yes, we need to fix them...
2022-05-20 16:12:34 +00:00
jmcneill c3146444be efi: Add /dev/efi character device
Introduce a /dev/efi character device that provides a means for accessing
UEFI RT variable services from userland. Compatible with the FreeBSD ioctl
interface for ease of porting their libefivar and associated tools.

The ioctl interface is defined in sys/efiio.h.

To enable support for this on an arch, the kernel needs `pseudo-device efi`
and the MD EFI implementation needs to register its backend by calling
efi_ops_register(). This commit includes an implementation for Arm.
2021-10-10 13:03:08 +00:00
rin 62012fa3c6 Build KUROBOX_PRO for evbarmv5eb.
Other marvell-based machines may also work, but not tested yet.
2021-08-30 00:14:45 +00:00
jmcneill 7451feb941 aarch64: Restrict KERNEL_SUFFIXES to img only 2021-07-24 17:07:59 +00:00
rin 759be7cf05 Switch arm64.img to big-endian for aarch64eb, as libsa/efiboot support
bi-endian FFS/disklabel now.

Many thanks to mrg@ for working on this!!
2021-05-27 08:43:02 +00:00
rin 7f6948285e Build RPI and RPI2 kernels also for earmv6{,hf}eb. 2020-12-01 04:20:21 +00:00
rin 571f6efb48 Add nvme(4) and raid(4). 2020-11-10 08:52:36 +00:00
jmcneill e9022974c1 Build arm64.img for aarch64eb with a LE FFS, and include GENERIC64 in
release builds.
2020-10-02 17:27:12 +00:00
jmcneill 210b40805c Create a separate Arm64 image that uses MBR partitioning. Amlogic SoCs
require the bootloader to be installed on SD cards at LBA1 which makes
them incompatible with GPT images.
2020-05-28 10:22:49 +00:00
jmcneill 81c04f1c42 Pass TOOL_GPT to mkimage 2020-05-24 14:44:11 +00:00
rin 6b1738109c Fix typo in comment: IMX21_OLINUXINO --> IMX23_OLINUXINO 2020-05-23 14:10:47 +00:00
jmcneill 79601d3674 Remove references to defunct arm and earm arches 2020-05-23 11:06:23 +00:00
jmcneill 045fafd8a7 Only build GENERIC kernel for armv7 releases. 2020-05-22 14:09:54 +00:00
jmcneill 043d88a7c1 Separate devicetree .dts -> .dtb building from kernel builds. They are now
part of a separate set, "dtb.tgz", and only built when MKDTB=yes. This
defaults to yes for earmv[67]* and aarch64, and no everywhere else.
2020-05-18 21:19:34 +00:00
jmcneill cd5d9e70a6 Remove commented out IGEPV2 entry 2019-11-03 12:16:35 +00:00
jmcneill 086e3ee64a Remove OVERO from build, and commented out N900 kernel config 2019-11-03 12:09:04 +00:00
jmcneill ac5aca637c Remove BEAGLEBOARDXM from the build 2019-10-31 01:54:34 +00:00
jmcneill bacddb2697 Revert previous for now. 2019-10-30 22:31:06 +00:00
jmcneill 6815ed4e39 Remove IGEPV2 and OVERO kernels from build 2019-10-30 22:28:16 +00:00
jmcneill 69484d380d Remove BEAGLEBOARD kernel from list of kernels to build 2019-10-30 21:45:25 +00:00
jmcneill 55237118f8 Unhook BEAGLEBONE kernel from the build 2019-10-28 22:23:51 +00:00
abs 039df638d6 Switch default console tty from /dev/console to /dev/constty
With this switch processes (such as xconsole) can open /dev/console
without breaking login on the text or serial console. This can be
trivially triggered by enabling xdm in rc.conf and hitting
Ctrl+Alt+F1 or equivalent once booted.

The changes:
- Add entry for /dev/console or /dev/constty if missing
- If a port's had /dev/console 'on' switch it off and enable /dev/constty
- If a port did not have /dev/console 'on', leave /dev/constty off

Some ports had /dev/console off and /dev/ttyE0 enabled, presumably to
avoid just this issue. It may make sense to adjust these also (but not
in this pass)

As discussed on current-users
2019-09-25 23:09:19 +00:00
thorpej f227db01e6 Include armv4 for "earm", not just "earmv4". 2019-06-02 17:13:15 +00:00
skrll 2c9023a65e Switch the kernel7.img RaspberryPi kernel in the armv7 image to GENERIC
and thus reducing the number of kernels built in an evbarmv7 release.
2019-05-18 07:33:10 +00:00
jmcneill 66a431a84d Remove SUNXI kernel config. 2019-03-31 13:04:54 +00:00
jmcneill eadf3a5873 Remove TEGRA kernel config. 2019-03-31 13:03:04 +00:00
jmcneill 58bbeb4a8f Remove redundant TARGET_ENDIANNESS check 2019-03-30 13:53:19 +00:00
jmcneill 12d747285c Include bootarm.efi with releases 2019-03-30 13:05:24 +00:00
skrll 2922428b48 G/C VEXPRESS_A15 2019-01-20 10:50:06 +00:00
skrll 1521ad8a22 Another kernel bites te dust.
Remove ODROID-C1 as it is now replaced by GENERIC. Thanks jmcneill.
2019-01-20 10:18:03 +00:00
msaitoh 5ed77d2b40 Add tprof 2018-11-27 14:55:56 +00:00
skrll eeb96914b4 Match the right MACHINE_ARCHes for GENERIC. 2018-11-05 21:34:33 +00:00
skrll ec787da840 Only add GENERIC to earmv6 and earmv7 builds 2018-11-04 21:41:12 +00:00
skrll d71785d000 Add GENERIC to big-endian KERNEL_SETS 2018-11-01 18:23:25 +00:00
skrll 76478902d7 Use the GENERIC kernel where possible in armv7.img and remove the old
kernels from the bulid for SUNXI and TEGRA.

While I'm here disable *_INSTALL kernel builds for boards supported by
armv7.img
2018-11-01 11:05:24 +00:00
skrll c4336712ef Sort 2018-10-21 07:08:40 +00:00
jmcneill 9060f499ba Make more ld device nodes. 2018-09-30 16:01:08 +00:00
maxv ebec90347e Remove ISDN from the kernel. It has remained unmaintained for a long time,
is of poor quality, and is now an obstacle to MP-ification. It was removed
ten years ago from FreeBSD for the same reason.

This retires a big user of the mbuf API, and will ease maintenance of the
kernel.
2018-09-23 09:20:57 +00:00
jmcneill d49d0a8c50 Copy bootaa64.efi to releasedir 2018-08-27 22:41:56 +00:00
ryo fe33aa2786 Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)
- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@)
- add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
2018-04-01 04:35:01 +00:00
jmcneill 4d9106a6a2 Add missing RPI FDT build goop, from nick. 2017-12-11 11:38:14 +00:00
jmcneill db2dcdb34a Unhook BPI, CUBIEBOARD, and CUBIETRUCK kernels from the build (use SUNXI kernel now) 2017-11-30 19:54:50 +00:00
christos a9560cc50f Creating installation/ramdisk here does not work; it happens too late. 2017-08-20 15:35:31 +00:00
jmcneill 9a9d8df30e Enable memory disk support in the TEGRA kernel and remove TEGRA_INSTALL. 2017-07-06 00:35:28 +00:00