netbsd & pkgsrc

88

Upload: others

Post on 04-Feb-2022

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: NetBSD & pkgsrc
Page 2: NetBSD & pkgsrc

NetBSD & pkgsrc

Page 3: NetBSD & pkgsrc

NetBSD & pkgsrc

[email protected]

November 2017

Page 4: NetBSD & pkgsrc

pkgsrc

• Pkgsrc is 20 years old

• 23 platforms - NetBSD is just one

• Quarterly branches for 13 years

Page 5: NetBSD & pkgsrc

pkgsrc releases

• 2017Q3 branched in September - 56th release

• PGP/GPG signature validation for 2 years

• Use digests on patches

• Multiple digests on distfiles

Page 6: NetBSD & pkgsrc

pkgsrc bulk builds

• Bulk builds can use any toolchain

• Less than 3 hours across 6 zones on Joyent

• Use as compiler regression test suite

Page 7: NetBSD & pkgsrc

pkgsrc development

• khorben - Hardening pkgsrc at EuroBSDcon

• jlam updating foreign package format support

• New Linux HPC developers added

• No plans to move to pkg or synth

Page 8: NetBSD & pkgsrc

pkgsrc• pkgin for binary package management

• Joyent has signed release binary packages for

• Linux

• Mac OS X

• Illumos

Page 9: NetBSD & pkgsrc

pkgsrc

• Plans for signed TNF packages for

• i386

• amd64

• arm

Page 10: NetBSD & pkgsrc

NetBSD Release News

• 7.1 released March 11 2017

• 8.0 Release process started June 6th 2017

• Current status - about to be released RSN

Page 11: NetBSD & pkgsrc

ARM hardware

• Tegra K1 (SoC), NVIDIA Jetson TK1 (Dev Board)

• Allwinner - A31, A83T, H2+ and H3 (all SoC)

• A13, A64, R8 and GR8 in current

• A20 support is in 7, plans for FDT-ing

Page 12: NetBSD & pkgsrc

More ARM hardware• A83T: BananaPi BPI-M3

• H2+: Xunlong Orange Pi Zero

• H3: FriendlyARM, Sinovoip, Xunlong

• NanoPi NEO (256MB) up to

• OrangePi Plus 2E (2GB)

Page 13: NetBSD & pkgsrc
Page 14: NetBSD & pkgsrc

SoC

Page 15: NetBSD & pkgsrc

A13

SoC

Page 16: NetBSD & pkgsrc

A13

H5

SoC

Page 17: NetBSD & pkgsrc

A10A13

H5

SoC

Page 18: NetBSD & pkgsrc

A10A13

H5

R8

SoC

Page 19: NetBSD & pkgsrc

A10A13

H2+

H5

R8

SoC

Page 20: NetBSD & pkgsrc

A10A13

A80

H2+

H5

R8

SoC

Page 21: NetBSD & pkgsrc

A10A13

A20A80

H2+

H5

R8

SoC

Page 22: NetBSD & pkgsrc

A10A13

A20A80

A83T

H2+

H5

R8

SoC

Page 23: NetBSD & pkgsrc

A10A13

A20A80

A83T

H2+

H3

H5

R8

SoC

Page 24: NetBSD & pkgsrc

A10A13

A20

A31

A80

A83T

H2+

H3

H5

R8

SoC

Page 25: NetBSD & pkgsrc

A10A13

A20

A31A64

A80

A83T

H2+

H3

H5

R8

SoC

Page 26: NetBSD & pkgsrc

A10A13

A20

A31A64

A80

A83T

GR8

H2+

H3

H5

R8

SoC

Page 27: NetBSD & pkgsrc

A10A13

A20

A31A64

A80

A83T

GR8

H2+

H3

H5

R8

A10s

SoC

Page 28: NetBSD & pkgsrc

A10A13

A20

A31A64

A80

A83T

GR8

H2+

H3

H5

R8

A10s

A31s

SoC

Page 29: NetBSD & pkgsrc

A10A13

A20

A31A64

A80

A83T

GR8

H2+

H3

H5

R8

A10s

A31s

R40

SoC

Page 30: NetBSD & pkgsrc

A10A13

A20

A31A64

A80

A83T

GR8

H2+

H3

H5

R8

A10s

A31s

R40

V3s

SoC

Page 31: NetBSD & pkgsrc

A10A13

A20

A31A64

A80

A83T

GR8

H2+

H3

H5

R8

A10s

A31s

R40

V3sH6

SoC

Page 32: NetBSD & pkgsrc

A10A13

A20

A31A64

A80

A83T

GR8

H2+

H3

H5

R8

A10s

A31s

R40

V3sH6 A33

SoC

Page 33: NetBSD & pkgsrc

A10A13

A20

A31A64

A80

A83T

GR8

H2+

H3

H5

R8

A10s

A31s

R40

V3sH6 A33

A23

SoC

Page 34: NetBSD & pkgsrc
Page 35: NetBSD & pkgsrc

Example Boards

Page 36: NetBSD & pkgsrc

Xunlong Orange Pi Zero

Example Boards

Page 37: NetBSD & pkgsrc

Xunlong Orange Pi Zero

Lichee Pi Zero

Example Boards

Page 38: NetBSD & pkgsrc

Olimex A10 OLinuXino-LIME

Xunlong Orange Pi Zero

Lichee Pi Zero

Example Boards

Page 39: NetBSD & pkgsrc

Olimex A10 OLinuXino-LIME

Xunlong Orange Pi Zero

Lichee Pi Zero

Cubietech Cubietruck

Example Boards

Page 40: NetBSD & pkgsrc

Olimex A10 OLinuXino-LIME

Xunlong Orange Pi Zero

Olimex A13 OLinuXino

Lichee Pi Zero

Cubietech Cubietruck

Example Boards

Page 41: NetBSD & pkgsrc

Olimex A10 OLinuXino-LIME

Xunlong Orange Pi Zero

Sinovoip Banana Pi BPI-M2U

Olimex A13 OLinuXino

Lichee Pi Zero

Cubietech Cubietruck

Example Boards

Page 42: NetBSD & pkgsrc

Olimex A10 OLinuXino-LIME

Xunlong Orange Pi Zero

Cubietech Cubieboard 4

Sinovoip Banana Pi BPI-M2U

Olimex A13 OLinuXino

Lichee Pi Zero

Cubietech Cubietruck

Example Boards

Page 43: NetBSD & pkgsrc

Olimex A10 OLinuXino-LIME

Xunlong Orange Pi Zero

Cubietech Cubieboard 4

Sinovoip Banana Pi BPI-M2U

Sinovoip Banana Pi BPI-M3

Olimex A13 OLinuXino

Lichee Pi Zero

Cubietech Cubietruck

Example Boards

Page 44: NetBSD & pkgsrc

Olimex A10 OLinuXino-LIME

Xunlong Orange Pi Zero

Cubietech Cubieboard 4

Sinovoip Banana Pi BPI-M2U

Sinovoip Banana Pi BPI-M3

Olimex A13 OLinuXino

Merii Hummingbird A31Lichee Pi Zero

Cubietech Cubietruck

Example Boards

Page 45: NetBSD & pkgsrc

Olimex A10 OLinuXino-LIME

Xunlong Orange Pi Zero

Cubietech Cubieboard 4

Pocket C.H.I.P.

Sinovoip Banana Pi BPI-M2U

Sinovoip Banana Pi BPI-M3

Olimex A13 OLinuXino

Merii Hummingbird A31Lichee Pi Zero

Cubietech Cubietruck

Example Boards

Page 46: NetBSD & pkgsrc

Olimex A10 OLinuXino-LIME

Xunlong Orange Pi Zero

Cubietech Cubieboard 4

Pocket C.H.I.P.Olimex A33 OLinuXino

Sinovoip Banana Pi BPI-M2U

Sinovoip Banana Pi BPI-M3

Olimex A13 OLinuXino

Merii Hummingbird A31Lichee Pi Zero

Cubietech Cubietruck

Example Boards

Page 47: NetBSD & pkgsrc

Olimex A10 OLinuXino-LIME

Xunlong Orange Pi Zero

Cubietech Cubieboard 4

Pocket C.H.I.P.Olimex A33 OLinuXino

Sinovoip Banana Pi BPI-M2U

Sinovoip Banana Pi BPI-M3

Olimex A13 OLinuXino-MICRO

Olimex A13 OLinuXino

Merii Hummingbird A31Lichee Pi Zero

Cubietech Cubietruck

Example Boards

Page 48: NetBSD & pkgsrc

Olimex A10 OLinuXino-LIME

Xunlong Orange Pi Zero

Cubietech Cubieboard 4

Pocket C.H.I.P.Olimex A33 OLinuXino

Sinovoip Banana Pi BPI-M2U

Sinovoip Banana Pi BPI-M3

Olimex A13 OLinuXino-MICRO

Olimex A13 OLinuXino

Merii Hummingbird A31Lichee Pi Zero

Cubietech Cubietruck

LeMaker Banana Pi

Example Boards

Page 49: NetBSD & pkgsrc

Olimex A10 OLinuXino-LIME

Xunlong Orange Pi Zero

Cubietech Cubieboard 4

Pocket C.H.I.P.Olimex A33 OLinuXino

Sinovoip Banana Pi BPI-M2U

Sinovoip Banana Pi BPI-M3

Olimex A13 OLinuXino-MICRO

Olimex A13 OLinuXino

Merii Hummingbird A31Lichee Pi Zero

Cubietech Cubietruck

LeMaker Banana Pi

C.H.I.P.

Example Boards

Page 50: NetBSD & pkgsrc

Olimex A10 OLinuXino-LIME

Xunlong Orange Pi Zero

Cubietech Cubieboard 4

Pocket C.H.I.P.Olimex A33 OLinuXino

Sinovoip Banana Pi BPI-M2U

Sinovoip Banana Pi BPI-M3

Olimex A13 OLinuXino-MICRO

Olimex A13 OLinuXino

Merii Hummingbird A31Lichee Pi Zero

Cubietech Cubietruck

LeMaker Banana Pi

C.H.I.P.

Pine64

Example Boards

Page 51: NetBSD & pkgsrc

Olimex A10 OLinuXino-LIME

Xunlong Orange Pi Zero

Cubietech Cubieboard 4

Pocket C.H.I.P.Olimex A33 OLinuXino

Sinovoip Banana Pi BPI-M2U

Sinovoip Banana Pi BPI-M3

Olimex A13 OLinuXino-MICRO

Olimex A13 OLinuXino

Merii Hummingbird A31Lichee Pi Zero

Cubietech Cubietruck

LeMaker Banana Pi

C.H.I.P.

Pine64

C.H.I.P Pro

Example Boards

Page 52: NetBSD & pkgsrc

Olimex A10 OLinuXino-LIME

Xunlong Orange Pi Zero

Cubietech Cubieboard 4

Pocket C.H.I.P.Olimex A33 OLinuXino

Sinovoip Banana Pi BPI-M2U

Sinovoip Banana Pi BPI-M3

Olimex A13 OLinuXino-MICRO

Olimex A13 OLinuXino

Merii Hummingbird A31Lichee Pi Zero

Cubietech Cubietruck

LeMaker Banana Pi

C.H.I.P.

Pine64

C.H.I.P ProCubietech Cubieboard 2

Example Boards

Page 53: NetBSD & pkgsrc

Olimex A10 OLinuXino-LIME

Xunlong Orange Pi Zero

Cubietech Cubieboard 4

Pocket C.H.I.P.Olimex A33 OLinuXino

Sinovoip Banana Pi BPI-M2U

Sinovoip Banana Pi BPI-M3

Olimex A13 OLinuXino-MICRO

Olimex A13 OLinuXino

Merii Hummingbird A31Lichee Pi Zero

Cubietech Cubietruck

LeMaker Banana Pi

C.H.I.P.

Pine64

C.H.I.P ProCubietech Cubieboard 2

FriendlyARM Nano Pi NEO

Example Boards

Page 54: NetBSD & pkgsrc

Olimex A10 OLinuXino-LIME

Xunlong Orange Pi Zero

Cubietech Cubieboard 4

Pocket C.H.I.P.Olimex A33 OLinuXino

Sinovoip Banana Pi BPI-M2U

Sinovoip Banana Pi BPI-M3

Olimex A13 OLinuXino-MICRO

Olimex A13 OLinuXino

Merii Hummingbird A31Lichee Pi Zero

Cubietech Cubietruck

LeMaker Banana Pi

C.H.I.P.

Pine64

C.H.I.P ProCubietech Cubieboard 2

FriendlyARM Nano Pi NEO

Xunlong Orange Pi Plus 2E

Example Boards

Page 55: NetBSD & pkgsrc

Olimex A10 OLinuXino-LIME

Xunlong Orange Pi Zero

Cubietech Cubieboard 4

Pocket C.H.I.P.Olimex A33 OLinuXino

Sinovoip Banana Pi BPI-M2U

Sinovoip Banana Pi BPI-M3

Olimex A13 OLinuXino-MICRO

Olimex A13 OLinuXino

Merii Hummingbird A31Lichee Pi Zero

Cubietech Cubietruck

LeMaker Banana Pi

C.H.I.P.

Pine64

C.H.I.P ProCubietech Cubieboard 2

FriendlyARM Nano Pi NEO

Xunlong Orange Pi Plus 2E

Example Boards

Pinebook

Page 56: NetBSD & pkgsrc

Olimex A10 OLinuXino-LIME

Xunlong Orange Pi Zero

Cubietech Cubieboard 4

Pocket C.H.I.P.Olimex A33 OLinuXino

Sinovoip Banana Pi BPI-M2U

Sinovoip Banana Pi BPI-M3

Olimex A13 OLinuXino-MICRO

Olimex A13 OLinuXino

Merii Hummingbird A31Lichee Pi Zero

Cubietech Cubietruck

LeMaker Banana Pi

C.H.I.P.

Pine64

C.H.I.P ProCubietech Cubieboard 2

FriendlyARM Nano Pi NEO

Xunlong Orange Pi Plus 2E

Example Boards

Pinebook

FriendlyARM Nano Pi NEO2

Page 57: NetBSD & pkgsrc

Other hardware

• Intel QAT card support

• Support for VAXstation 4000 TURBOchannel USB and GPIO

• RISC-V - work in progress

• Aarch64 - watching brief

Page 58: NetBSD & pkgsrc
Page 59: NetBSD & pkgsrc
Page 60: NetBSD & pkgsrc
Page 61: NetBSD & pkgsrc

LLVM/Clang 5.0 intree

• Maintained by Joerg

• Still optional, off by default

• Regular amd64 testing with pkgsrc bulk builds

• Particularly good at finding compiler regressions

Page 62: NetBSD & pkgsrc

LLVM/Clang 5.0 intree• Kamil has been working for TNF

• lldb and debugging infrastructure

• Upstreaming sanitizer support

• asan, ubsan working

• tsan, and msan

Page 63: NetBSD & pkgsrc

sys_info

Page 64: NetBSD & pkgsrc

Networking

• No BBR or RACK for TCP congestion

• bouyer’s sockcan implementation

• dhcpcd’s home

Page 65: NetBSD & pkgsrc

Cross-building since 2002

• build.sh

• cross-OS building, AND cross-arch building

• distrib/utils/embedded/mkimage

• pkgsrc/sysutils/{mklivecd,mkmemstick}

• All the u-boot packages

Page 66: NetBSD & pkgsrc

Board of directors• reed

• riastradh

• cryo

• wiz

• mlelstv

• khorben

• mef

Page 67: NetBSD & pkgsrc

Core team• agc

• christos

• chuq

• martin

• matt

• mrg

• yamt

Page 68: NetBSD & pkgsrc

GSoC projects

• LFS - maya

• pkgsrc debug libs - leot

• porting anita to evbarm, pmax, hpcmips & amiga - utkarsh

Page 69: NetBSD & pkgsrc

Dtrace support

• Added syscall support [christos 20150307]

• Added lockstat support [christos 20150308]

• Toolkit scripts from sevan

• About to be brought up to date

Page 70: NetBSD & pkgsrc

NVME support - nonaka, jdolocek

Page 71: NetBSD & pkgsrc

NCQ support - jdolocek

• Now in HEAD

Page 72: NetBSD & pkgsrc

IIJ src repo

Page 73: NetBSD & pkgsrc

NetBSD git mirror

Page 74: NetBSD & pkgsrc

NetBSD hg mirror

Page 75: NetBSD & pkgsrc

Continuous Testing - anita

Page 76: NetBSD & pkgsrc

Anita results graphed

Page 77: NetBSD & pkgsrc

Reproducible Builds• See Christos’s talk at EuroBSDcon

• Way more complex than I expected

• First BSD to complete Debian run

• First “big unix” to complete Debian run

• Minix uses NetBSD user land and build system

Page 78: NetBSD & pkgsrc

Kernel ASLR

• Maxv’s pre-kern

• Randomised location for kernel

• SMAP/SMEP implementation

Page 79: NetBSD & pkgsrc

Updates

• ZFS update to FreeBSD/OpenZFS level

• Dtrace update to FreeBSD/OpenDtrace level

• Both in review, hitting current RSN

Page 80: NetBSD & pkgsrc

CDN working well

• Fastly very kindly run our CDN

• Very useful if machines out for power work

Page 81: NetBSD & pkgsrc

Flattened Dev Tree

• sys/arch/arm/fdt/

• sys/arch/evbarm/fdt/

• sys/dev/fdt/

• sys/external/bsd/libfdt

Page 82: NetBSD & pkgsrc

Everything else

• ptrace(2) fixes from kamil

• nat’s new sound driver, bta2dpd(8)

• msaitoh’s updates for ixg(4) and ixv(4)

• alnsn’s addition of AES-XTS to cgd(4)

Page 83: NetBSD & pkgsrc

Everything else

• jmcneill’s new SDMMC driver

• maxv’s amd64/i386 overhaul

• xen kernel modules (maxv)

• flxd’s getrealloc/setrealloc changes to scsictl(8)

Page 84: NetBSD & pkgsrc

Everything else• lua now at 5.3.4 in kernel

• secmodel_sandbox - https://www.bsdcan.org/2017/schedule/track/Security/835.en.html

• ext4fs - jdolocek’s extents, dir_nlink and gdt_csum/uninit_bg support

• flxd’s Turbochannel USB/GPIO option

Page 85: NetBSD & pkgsrc

Everything else

• ozaki-r MPSAFE network changes

• nick-nhusb merge - some USB3 support

• GPT support, including booting

• PCI support for DNARD/Shark

Page 86: NetBSD & pkgsrc

Everything else

• vioscsi - christos/jdolecek

• Google compute engine - bsiegert

• nouveau - riastradh

• MPSAFE ld driver - mlelstv

Page 87: NetBSD & pkgsrc

Everything else

• ip6addrctl - from FreeBSD

• christos’s blacklistd

• USER_LDT on amd64

• maxv’s security work

Page 88: NetBSD & pkgsrc

NetBSD and pkgsrc BSDtw 2017