https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292595

            Bug ID: 292595
           Summary: loader.conf.5: "console" setting does not document
                    multi-value possiblity
           Product: Base System
           Version: 16.0-CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: conf
          Assignee: [email protected]
          Reporter: [email protected]

Looking at "man 5 loader.conf" console gives the impression that only one
console type can be set, but: ./man/loader.efi.8

$ grep -r -E '" ?console"' .
./common/console.c:     prefconsole = getenv("console");
./common/console.c:             unsetenv("console");            /* we want to
replace this */
./common/console.c:             env_setenv("console", EV_VOLATILE, prefconsole,
cons_set,
./common/metadata.c:    if (!strcmp(getenv("console"), "comconsole"))
./common/metadata.c:    if (!strcmp(getenv("console"), "nullconsole"))
./efi/loader/bootinfo.c:        console = getenv("console");
./efi/loader/main.c:            setenv("console", "efi,comconsole", 1);
./efi/loader/main.c:    setenv("console", "efi", 1);
./efi/loader/main.c:            setenv("console", "comconsole", 1);
./efi/loader/main.c:    if (strcmp(getenv("console"), "efi") == 0) {
./efi/loader/main.c:                            setenv("console", "comconsole",
1);
./efi/loader/main.c:                            setenv("console", "efi
comconsole", 1);
./efi/loader/main.c:                            setenv("console", "comconsole
efi", 1);
./efi/loader/main.c:    printf("   Console: %s (%#x)\n", getenv("console"),
howto);
./forth/support.4th:    s" console" getenv
./forth/support.4th:                    taddr tlen s" console" setenv
./forth/support.4th:                            taddr swap s" console" setenv
./forth/support.4th:    caddr clen s" console" setenv           \ restore
console setup
./forth/support.4th:    s" console" getenv dup -1 <> if
./forth/support.4th:    s" console" getenv
./i386/libi386/bootinfo.c:    string = next = strdup(getenv("console"));
./i386/libi386/comconsole.c:            cons = getenv("console");
./i386/loader/main.c:                   setenv("console", "comconsole
vidconsole", 1);
./i386/loader/main.c:                   setenv("console", "vidconsole
comconsole", 1);
./i386/loader/main.c:           setenv("console", "comconsole", 1);
./i386/loader/main.c:           setenv("console", "nullconsole", 1);
./lua/core.lua: local c = loader.getenv("console")
./lua/core.lua: local c = loader.getenv("console")
./lua/drawer.lua:       local console = loader.getenv("console")
./lua/drawer.lua:               loader.setenv("console", c)
./lua/drawer.lua:       loader.setenv("console", console)
./userboot/userboot/bootinfo.c:    string = next = strdup(getenv("console"));

$ grep -r -E '".console"' .
./forth/support.4th:    s" console" getenv
./forth/support.4th:                    taddr tlen s" console" setenv
./forth/support.4th:                            taddr swap s" console" setenv
./forth/support.4th:    caddr clen s" console" setenv           \ restore
console setup
./forth/support.4th:    s" console" getenv dup -1 <> if
./forth/support.4th:    s" console" getenv

imply that both comma and space separation is supported:
$ grep -r console= --exclude-dir=contrib .
Binary file
./.git/objects/pack/pack-ea4b7946fd8dcbbfdf535a928cb659aac4fef470.pack matches
./cddl/usr.sbin/dwatch/dwatch:  )" -v want="$column" -v console="$CONSOLE" '
./cddl/usr.sbin/dwatch/dwatch:          -v console="$CONSOLE" \
./cddl/usr.sbin/dwatch/dwatch:                  -v console="$CONSOLE" \
./libexec/rc/rc.d/syscons:_sc_console=
./libexec/rc/rc.d/syscons:                              _sc_console="vt"
./libexec/rc/rc.d/syscons:                              _sc_console="syscons"
./release/tools/azure.conf:console="comconsole efi vidconsole"
./release/tools/gce.conf:console="comconsole,vidconsole"
./release/tools/openstack.conf: echo 'console="comconsole vidconsole"' >>
${DESTDIR}/boot/loader.conf
./release/tools/basic-ci.conf:console="comconsole,vidconsole"
./release/tools/basic-cloudinit.conf:console="comconsole,vidconsole"
./share/examples/bhyve/vmrun.sh:console=${DEFAULT_CONSOLE}
./share/examples/bhyve/vmrun.sh:                console=${OPTARG}
./share/examples/bhyve/vmrun.sh:                console_opt="-o
console=${console}"
./share/man/man4/uart.4:.Dl hw.uart.console="io:0x2f8,br=115200"
./stand/defaults/loader.conf:#console="vidconsole"              # A comma
separated list of console(s)
./stand/kboot/README:   -append "console=ttyS0"
./stand/kboot/README:   -append "console=ttyAMA0"
./tests/ci/tools/ci.conf:console="comconsole,vidconsole"
./tools/boot/full-test.sh:hw.uart.console="io:1016,br:115200"
./tools/boot/full-test.sh:          amd64) bin=x64 cons="console=ttyS0,115200"
;;
./tools/boot/full-test.sh:      -append "console=ttyAMA0" \\
./tools/test/stress2/misc/all.sh:console=/dev/console
./tools/test/stress2/misc/all.sh:{ console=/dev/null; kill -9 $pid; }
./tools/tools/nanobsd/pcengines/common.conf:  echo "console=\"comconsole\"" >
boot/loader.conf
./tools/tools/nanobsd/rescue/common:#   echo "console=\"comconsole\"" >
boot/loader.conf
./usr.sbin/bhyve/bhyve.8:bhyve -c 2 -s 0,hostbridge -s 1,virtio-blk,/my/image
-o console=stdio \\

Manpage has to be changed. I struggled with this yesterday on a machine I
wanted to access via Serial-over-LAN.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to