anarchosax Interestingly, it doesn't appear to be an issue in Linux
There are some additional checks of the CMOS NVRAM in NetBSD. Maybe Linux isn't doing it (like FreeBSD), or maybe the firmware is buggy, or needs quirks applied. Will have to check the Linux code.
An easy way to check if NetBSD works correctly with this RTC chip is to set the time back an hour or so in the BIOS, boot into NetBSD, and run (as root): ntpdate -b pool.ntp.org
. Then reboot, go back into the BIOS and see if the time was set correctly.
anarchosax OK, so then I am just getting the large font that you referred to earlier (?):
Yes.
anarchosax So, the question is how do I get the smaller font?
wsconsctl -dw font=Boldface
as root will activate the smaller built-in font on the current console. You can load the other fonts in /usr/share/wscons/fonts
using wsfontload
, then activate it using wsconsctl
using the name you supplied to wsfontload
.
You can set fonts at boot time using /etc/wscons.conf
. For example, the lines to load variously-sized Terminus
fonts are already present in that file. Just uncomment one of them (pick a size), then use them by uncommenting setvar ttyEn font ...
lines further down.
You can also try out fonts using this.
anarchosax 1) The first step appears to be to ensure that the compiler set is installed, but I notice that when compiling ee, the necessary software gets downloaded if not installed...
That's pkgsrc
. It downloads sources, say, ee
, then compiles and installs them. Since ee
compiled, you must've installed the comp
set, so you already have the system compiler gcc
. But, to build the kernel you'll have to compile gcc
from source again, then build the kernel using the newly built gcc
. This is the tools
build. You need do this only once.
You'll have to get all the tarballs here except xsrc.tgz
and unpack them. (That location is for the latest NetBSD-10 source. Some of the new AMDGPU stuff has already been merged from -HEAD, but, they're still working on the driver now--and most of this will surely get pulled into -10 before the release. If you want to try out the -HEAD kernel then use the tarballs from here instead.)
I use this procedure to compile my kernels:
Add a separate user just for building stuff. As root:
useradd -m -G wsrc -s /bin/sh -c "System Builder" -g =uid bld
Unpack sources (you can update them semi-regularly using cvs
--the Guide explains how)
for f in /SOME/PATH/*.tgz
do tar -C/ -xpf $f && echo $f.
done
Prep. work dirs.
rm -rf /usr/obj /usr/tools
install -d -m 775 -o root -g wsrc /usr/obj /usr/tools
Compile the tools
(once) and the kernel.
# Log-in or su(1) as user `bld'.
#
su -l bld
# CVS prep (only once).
#
cat > $HOME/.cvsrc <<\EoF
# Default update flags. For -HEAD sources:
# update -A -dP
# For -RELEASE/-STABLE sources:
# update -dP
rdiff -pu
diff -pu
cvs -q
EoF
# Create new kernel config. file.
#
cd /usr/src
cp sys/arch/amd64/conf/GENERIC sys/arch/amd64/conf/MYKERNEL
# Edit and change MYKERNEL as needed.
#
vi sys/arch/amd64/conf/MYKERNEL
# To do a really clean build, remove both the `obj` and `tools` dirs.
# (the `tools` dir. generally doesn't need clearing, but, remove both just to be safe...)
#
rm -rf /usr/obj/* /usr/tools/*
# Build tools (once), then kernel
#
./build.sh -j6 -N1 -M /usr/obj -T /usr/tools -U tools
./build.sh -j6 -N1 -M /usr/obj -T /usr/tools -U kernel=MYKERNEL
Change the -j
(jobs) flags for your CPU. I have 4 CPUS (2 core, 2 thread) so I use 50% more (6) to make sure all of them are busy.
- Install new kernel (as root now).
# Save GENERIC kernel (only once)
#
mv /netbsd /netbsd.GENERIC
install -m 555 /usr/obj/usr/src/sys/arch/amd64/compile/MYKERNEL/netbsd /netbsd.new
# Symlink `netbsd' to `netbsd.new` (once)
#
cd /
ln -sv netbsd.new netbsd
To go back to the old kernel, simply point the symlink back to netbsd.GENERIC
. (Be mindful of this when doing an upgrade.)
To do a clean kernel rebuild, first do rm -rf /usr/obj/*
. Leave /usr/tools
alone--unless the compiler sources have changed: check the cvs update
output for this.
BONUS:
If you've only made minor changes to the source, you can pass the -u
flag to shorten the compile time quite a lot:
cd /usr/src
./build.sh -j6 -N1 -M /usr/obj -T /usr/tools -U -u kernel=MYKERNEL