Comments (9)
Thank you for the information @5long
I was able to reproduce the problem locally. The issue is indeed the setfont
failed to load ter-u32b
from terminus-font
arch package.
I set setfont -v
and I see following output:
setfont -v /console/font
setfont: INFO setfont.c:161 try_loadfont: Loading 256-char 16x32 font from file /console/font
setfont: ERROR kdfontop.c:211 put_font_kdfontop: ioctl(KDFONTOP): Invalid argument
[ 2.050924] booster: exit status 71:
/console/font
is an unpacked content of /usr/share/kbd/consolefonts/ter-u32b.psf.gz from terminus-font
package:
$ unp /usr/share/kbd/consolefonts/ter-u32b.psf.gz
$ sha1sum font ter-u32b.psf
3b4e5a1e4506b4aefd1e074413662885d12aa162 font
3b4e5a1e4506b4aefd1e074413662885d12aa162 ter-u32b.psf
I need to dig into setfont
to understand what it does not like about the font file.
from booster.
[ 0.968319] booster: exit status 71:
Booster reported a process exit error. I guess it is fido2-assert
process has died for some reason.
And the hole situation sounds like a race condition.
I just added a commit that tries to capture more logs from fiso2-assert
tool. Please pull wip
branch, compile, regenerate the image and try to boot again. This time the exit code should include more useful information.
from booster.
No luck. The actual behavior happened again with no extra logging. It's still:
[ <NUMBER>] booster: exit status 71:
Press ENTER to Reboot
Here is what I did:
- Build and install
booster-git
from AUR- Before running makepkg, change the line
source=...
in PKGBUILD tosource=(git+https://github.com/anatol/booster#commit=e5253cb)
- Before running makepkg, change the line
- Restore
/etc/booster.yaml
which gets moved to/etc/booster.yaml.pacsave
when installingbooster-git
- Rerun
/usr/lib/booster/regenerate_images
- Reboot
I even tried manually build an init
with go bulid
with the following patch:
diff --git i/init/luks.go w/init/luks.go
index 69bc590..2833269 100644
--- i/init/luks.go
+++ w/init/luks.go
@@ -125,6 +125,8 @@ func recoverFido2Password(devName string, credential string, salt string, relyin
args = append(args, "-t", "pin=true")
}
+ args = append(args, "-d")
+
cmd := exec.Command("fido2-assert", args...)
pipeOut, err := cmd.StdoutPipe()
if err != nil {
... and regenerate image with doas booster build --init-binary ./init/init --force --kernel-version 6.4.6-zen1-1-zen /boot/booster-linux-zen.img
. Still no help.
I guess that the culprit might not be fido2-assert, but actually something else (setfont?) since I hadn't used vconsole: true
until I encountered #228 . A quick Googling of setfont exit 71
also implies that the exit code could be from setfont.
... and yes, I can reproduce the bug with only vconsole: true
, no extra_files: fido2-assert
needed. And the bug dissappears with vconsole: true
removed. I'll edit the issue title to reflect this discovery.
BTW, this is my /etc/vconsole.conf
if you need it to reproduce the bug:
KEYMAP=us
FONT=ter-u32b
... and /etc/locale.conf
:
LANG=en_US.UTF-8
LC_MEASUREMENT=zh_CN.UTF-8
LC_PAPER=zh_CN.UTF-8
LC_TIME=en_DK.UTF-8
LC_TELEPHONE=zh_CN.UTF-8
from booster.
cc @legionus who might have an explanation on top of his head
from booster.
cc @legionus who might have an explanation on top of his head
This error message has been added to highlight an issue that was previously ignored. See my explanation [1]. Most likely the problem is in systemd-vconsole-setup [2]. This is not the only problem with this utility. I'm not a systemd expert but there are several workarounds [3][4].
[1] legionus/kbd#99 (comment)
[2] legionus/kbd#99 (comment)
[3] legionus/kbd#99 (comment)
[4] legionus/kbd#99 (comment)
from booster.
Note that booster
does not use systemd toolset; it calls setfont /usr/share/kbd/consolefonts/ter-u32b.psf
directly; and fails. legionus/kbd#99 has some proposals on how to fix the problem and I am going to try it.
from booster.
Same issues on Ubuntu
Without setfont
from booster.
the only way to fix this this is to disable vconsole in booster
from booster.
Related Issues (20)
- `extra_files: fido2-assert` can't unlock w/ systemd-cryptenroll -ed Yubikey HOT 4
- Update README.md
- Incorrect kernel HOT 4
- Unable to boot into OS HOT 1
- Handle compressed root filesystem in ISO mode HOT 9
- Unable to unlock root partition with tpm2 key HOT 17
- Is it possible to boot without switching root? HOT 6
- cannot reliably unlock encrypted partition with fido2-assert
- LVM on LUKS no password asked HOT 10
- Missing Intel volume management device driver (NVMe)
- systemd-boot now can default to `/efi` as the folder for initramfs images. How does booster cope with that? HOT 5
- quiet option breaks loading
- Improve fsck handling
- Read-only flag for root fs should overwrite the read-write flag
- booster fails when loading microcode image first HOT 5
- Add support for bcachefs
- Boot isn't silent
- ```vconsole: true``` causes systems with encrypted root to freeze. HOT 1
- No keyboard input on Linux >=6.7.6 kernel HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from booster.