powerpc64 10.1-RELEASE-p5 variant on PowerMac G5 Quad-Core: "DO-QUIESCE finished" notice displayed by openfirmware
Mark Millard
markmi at dsl-only.net
Mon Feb 2 07:05:56 UTC 2015
powerpc64 PowerMac G5 quad-core (with lots of RAM) with a 10.1-RELEASE-p5 variant context (shown as booted from the SSD):
$ freebsd-version -ku; uname -a
10.1-RELEASE-p5
10.1-RELEASE-p5
FreeBSD FBSDG5M1 10.1-RELEASE-p5 FreeBSD 10.1-RELEASE-p5 #0 r277808M: Fri Jan 30 00:58:33 PST 2015 root at FBSDG5M1:/usr/obj/usr/home/markmi/src_10_1_releng/sys/GENERIC64vtsc powerpc
I produced a bootable memorystick from this context. (See below.) I got a surprise when I booted the memory stick:
It put out a "DO-QUIESCE finished" notice (white background and black text) in the upper left corner of the screen during FreeBSD's boot sequence, after the screen was cleared to a black background. It was even after some FreeBSD text had been displayed (since I cause text to show up earlier than the default build). As far as I can tell 10.1-RELEASE-p5 has no such message of its own. (But it does call to request the quiesce.) As far as I know this message has not historically shown up under usual forms of FreeBSD booting.
The message shows up every time I boot that memory stick (CMD-OPT-OF boot of G5 then "boot ud:2,\ppc\bootinfo,txt"). It does not show up for booting the 10.1-RELEASE-p5 variant from the SSD that the memory stick was make from. No FreeBSD boot I've ever done before showed this message.
It leaves me wondering if lack of the message is an indication of quiesce not completing.
How did I produce the memory stick?
Note: To use "make memstick" below successfully I first forced the existence of the /usr/obj/.../sys/GENERIC/... paths by adding a symbolic link to the real directory for my build:
$ ls -Fpal /usr/obj/usr/home/markmi/src_10_1_releng/sys/
total 40
drwxr-xr-x 4 root wheel 512 Feb 1 20:17 ./
drwxr-xr-x 20 root wheel 512 Jan 31 09:19 ../
lrwxr-xr-x 1 root wheel 13 Feb 1 20:17 GENERIC64 -> GENERIC64vtsc
drwxr-xr-x 3 root wheel 28672 Jan 30 00:59 GENERIC64vtsc/
drwxr-xr-x 8 root wheel 512 Jan 31 07:50 boot/
With that in place I did:
$ cd ~markmi/src_10_1_releng/release/
$ make memstick
...
$ ls -Fpal *.img
-rw-r--r-- 1 root wheel 878282752 Feb 1 20:56 memstick.img
$ dd if=memstick.img of=/dev/da0 bs=10240 conv=sync
(So the stick was already plugged in but no file system from it was mounted at the time.)
Note: after the above ~markmi/src_10_1_releng/... had gone from around 2G Bytes to more like 4.6G Bytes. (I do not know about peak usage.)
Context details for the 10.1-RELEASE-p5 variant (not showing the ? (extra) files for svnlite status):
$ svnlite status ~markmi/src_10_1_releng/
M /home/markmi/src_10_1_releng/sys/ddb/db_main.c
M /home/markmi/src_10_1_releng/sys/ddb/db_script.c
M /home/markmi/src_10_1_releng/sys/powerpc/ofw/ofw_machdep.c
M /home/markmi/src_10_1_releng/sys/powerpc/ofw/ofwcall64.S
M /home/markmi/src_10_1_releng/sys/powerpc/powermac/powermac_thermal.c
There is the extra file ~markmi/src_10_1_releng/sys/powerpc/conf/GENERIC64vtsc that I used via KERNCONF=GENERIC64vtsc as well.
$ more /etc/make.conf
WRKDIRPREFIX=/usr/obj/portswork
WITH_DEBUG=
MALLOC_PRODUCTION=
$ more /etc/src.conf
#WITH_DEBUG_FILES=
#WITHOUT_CLANG=
$ more ~markmi/src_10_1_releng/sys/powerpc/conf/GENERIC64vtsc
include GENERIC64
ident GENERIC64vtsc
nooptions PS3 #Sony Playstation 3 HACK!!! to allow sc
options DDB # HACK!!! to dump early crash info (but 11.0-CURRENT already has it)
options GDB # HACK!!! ...
#options KTR
#options KTR_MASK=KTR_TRAP
#options KTR_CPUMASK=0xF
#options KTR_VERBOSE
# HACK!!! to allow sc for 2560x1440 display on Radeon X1950 that vt historically mishandled during booting
device sc
#device kbdmux # HACK: already listed by vt
options SC_OFWFB # OFW frame buffer
options SC_DFLT_FONT # compile font in
makeoptions SC_DFLT_FONT=cp437
# Disable extra checking typically used for FreeBSD 11.0-CURRENT:
nooptions DEADLKRES #Enable the deadlock resolver
nooptions INVARIANTS #Enable calls of extra sanity checking
nooptions INVARIANT_SUPPORT #Extra sanity checks of internal structures, required by INVARIANTS
nooptions WITNESS #Enable checks to detect deadlocks and cycles
nooptions WITNESS_SKIPSPIN #Don't run witness on spinlocks for speed
nooptions MALLOC_DEBUG_MAXZONES # Separate malloc(9) zones
(My 11.0-CURRENT and 10.1-STABLE variants use the same file contents as above, other than ofwcall64.S details for 11.0-CURRENT.)
$ more /boot/loader.conf
kernel="kernel"
verbose_loading="YES"
kern.vty=vt
(I actually normally build and use kernel10.1RE but I happened to have reconstructed /boot/kernel to be 10.1-RELEASE-p5 based just before this experiment.)
===
Mark Millard
markmi at dsl-only.net
More information about the freebsd-ppc
mailing list