Go to file
riastradh ffcf681ee3 New ioctl DIOCGSECTORALIGN returns sector alignment parameters.
struct disk_sectoralign {
	/* First aligned sector number.  */
	uint32_t dsa_firstaligned;

	/* Number of sectors per aligned unit.  */
	uint32_t dsa_alignment;
};

- Teach wd(4) to get it from ATA.
- Teach cgd(4) to pass it through from the underlying disk.
- Teach dk(4) to pass it through with adjustments.
- Teach zpool (zfs) to take advantage of it.
  => XXX zpool doesn't seem to understand when the vdev's starting
     sector is misaligned.

Missing:

- ccd(4) and raidframe(4) support -- these should support _using_
  DIOCGSECTORALIGN to decide where to start putting ccd or raid
  stripes on disk, and these should perhaps _implement_
  DIOCGSECTORALIGN by reporting the stripe/interleave factor.

- sd(4) support -- I don't know any obvious way to get it from SCSI,
  but if any SCSI wizards know better than I, please feel free to
  teach sd(4) about it!

- any ld(4) attachments -- might be worth teaching the ld drivers for
  nvme and various raid controllers to get the aligned sector size

There's some duplicate logic here for now.  I'm doing it this way,
rather than gathering the logic into a new disklabel_sectoralign
function or something, so that this change is limited to adding a new
ioctl, without any new kernel symbols, in order to make it easy to
pull up to netbsd-9 without worrying about the module ABI.
2020-03-02 16:01:56 +00:00
bin Add some commas. 2020-02-26 07:14:47 +00:00
common Implement workaround for IBM405 Errata 77 (aka CPU_210), where 2020-03-01 23:23:36 +00:00
compat
crypto Enable compression 2020-03-02 15:23:17 +00:00
dist/pf
distrib libhack: revert prior, will be done per consumer instead. 2020-03-02 16:01:52 +00:00
doc ld.elf_so(1): Implement DT_GNU_HASH 2020-02-29 04:27:01 +00:00
etc Create /dev/ipmi0 in `MAKEDEV all'. 2020-03-02 15:49:30 +00:00
external New ioctl DIOCGSECTORALIGN returns sector alignment parameters. 2020-03-02 16:01:56 +00:00
extsrc
games
include Revert previous 2020-03-01 22:08:17 +00:00
lib Add sysloglike attr. 2020-03-02 15:30:25 +00:00
libexec Add extra cast to suppress incompatible-pointer-types GCC warning 2020-02-29 18:53:55 +00:00
regress
rescue Redo the sshsk_sign() stuff properly, but putting the helper in libssh.so 2020-03-01 20:59:52 +00:00
sbin New sentence, new line. Bump date for previous. 2020-02-24 11:59:33 +00:00
share Describe about (existing) constraints on round_blocksize(). 2020-02-29 05:39:03 +00:00
sys New ioctl DIOCGSECTORALIGN returns sector alignment parameters. 2020-03-02 16:01:56 +00:00
tests zfs needs rumpkern_sysproxy 2020-03-02 11:09:13 +00:00
tools
usr.bin increase slot slop space from 100 to 1000 before giving up. 2020-03-02 09:50:12 +00:00
usr.sbin Fix the fixup script to follow the URL change in /etc/motd (http->https). 2020-02-25 10:27:01 +00:00
build.sh
BUILDING
Makefile
Makefile.inc
README.md
UPDATING

NetBSD

NetBSD is a free, fast, secure, and highly portable Unix-like Open Source operating system. It is available for a wide range of platforms, from large-scale servers and powerful desktop systems to handheld and embedded devices.

Building

You can cross-build NetBSD from most UNIX-like operating systems. To build for amd64 (x86_64), in the src directory:

./build.sh -U -u -j4 -m amd64 -O ~/obj release

Additional build information available in the BUILDING file.

Binaries

Testing

On a running NetBSD system:

cd /usr/tests; atf-run | atf-report

Troubleshooting

Latest sources

To fetch the main CVS repository:

cvs -d anoncvs@anoncvs.NetBSD.org:/cvsroot checkout -P src

To work in the Git mirror, which is updated every few hours from CVS:

git clone https://github.com/NetBSD/src.git