pmbootstrap install fails with samsung-i9100 as target and UI different than "none"
Resources consulted before reporting
- The issues in this repo
- https://wiki.postmarketos.org
-
#postmarketos
and#postmarketos-offtopic
on OFTC
Prerequisites
- Debian 11/sid or Alpine 3.15.0/edge on a virtual machine (with libvirt in my case)
- Packages:
git python3-pip sudo openssl procps
Steps to reproduce
Install pmbootstrap
via pip3
:
sudo pip3 install pmbootstrap
Generate the config file following the instructions in the wiki page of the samsung-i9100:
pmbootstrap init
I get this ~/.config/pmbootstrap.cfg
:
[pmbootstrap]
aports = /home/virtualuser/.local/var/pmbootstrap/cache_git/pmaports
ccache_size = 5G
is_default_channel = False
device = samsung-i9100
extra_packages = none
hostname =
build_pkgs_on_install = True
jobs = 5
kernel = mainline
keymap =
locale = it_IT.UTF-8
mirror_alpine = http://dl-cdn.alpinelinux.org/alpine/
mirrors_postmarketos = http://mirror.postmarketos.org/postmarketos/
nonfree_firmware = True
nonfree_userland = False
ssh_keys = False
timezone = Etc/UTC
ui = sxmo-de-dwm
ui_extras = False
user = foouser
work = /home/virtualuser/.local/var/pmbootstrap
boot_size = 256
extra_space = 0
sudo_timer = False
[providers]
Install pmos:
pmbootstrap --verbose install
The program will eventually crash producing the following log (it's a snippet of the last lines, not the whole log):
(424/432) Installing polkit-lang (0.119-r6)
(425/432) Installing networkmanager-lang (1.32.12-r1)
(426/432) Installing at-spi2-core-lang (2.42.0-r0)
(427/432) Installing glib-networking-lang (2.70.0-r0)
(428/432) Installing gnome-icon-theme-lang (3.12.0-r1)
(429/432) Installing shared-mime-info-lang (2.1-r0)
(430/432) Installing musl-locales (0_git20201005-r0)
(431/432) Installing musl-locales-lang (0_git20201005-r0)
(432/432) Installing .pmbootstrap (20211128.073355)
Executing busybox-1.34.1-r3.trigger
Executing kmod-29-r2.trigger
Executing eudev-3.2.11_pre1-r0.trigger
Executing postmarketos-mkinitfs-1.1.2-r3.trigger
2021/11/28 07:34:29 Generating for kernel version: 5.15.0-postmarketos-exynos4
2021/11/28 07:34:29 Output directory: /boot
2021/11/28 07:34:29 == Generating initramfs ==
2021/11/28 07:34:29 - Including hook scripts
2021/11/28 07:34:29 - Including required binaries
2021/11/28 07:34:29 - Including kernel modules
2021/11/28 07:34:29 - Including splash images
2021/11/28 07:34:29 - Writing and verifying initramfs archive
2021/11/28 07:34:30 == Generating initramfs extra ==
2021/11/28 07:34:30 - Including extra binaries
2021/11/28 07:34:30 - *NOT* including FDE support
2021/11/28 07:34:30 - Writing and verifying initramfs-extra archive
2021/11/28 07:34:30 == Using boot-deploy to finalize/install files ==
==> kernel: device-tree blob operations
==> kernel: appending device-tree exynos4210-i9100
==> Checking free space at /boot
... OK!
==> Installing: /boot/initramfs
==> Installing: /boot/initramfs-extra
==> Installing: /boot/vmlinuz-dtb
2021/11/28 07:34:34 mkinitfs completed in: 4.542081996s
Executing postmarketos-base-15-r1.trigger
Executing glib-2.70.1-r0.trigger
Executing shared-mime-info-2.1-r0.trigger
Executing gdk-pixbuf-2.42.6-r0.trigger
Executing fontconfig-2.13.1-r4.trigger
Executing dbus-1.12.20-r4.trigger
Executing ca-certificates-20191127-r7.trigger
Executing mkfontscale-1.2.1-r1.trigger
Executing gtk-update-icon-cache-2.24.33-r0.trigger
2 errors; 815 MiB in 454 packages
(013059) [08:34:56] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(013059) [08:34:56] NOTE: The failed command's output is above the ^^^ line in the log file: /home/virtualuser/.local/var/pmbootstrap/log.txt
(013059) [08:34:56] ERROR: Command failed: apk add -u --virtual .pmbootstrap postmarketos-base device-samsung-i9100 postmarketos-ui-sxmo-de-dwm device-samsung-i9100-kernel-mainline device-samsung-i9100-nonfree-firmware w3m sfeed clickclack feh firefox-esr font-noto font-noto-emoji gnome-icon-theme megapixels-gtk3 mobile-config-firefox xcalc lang musl-locales postmarketos-base-nofde eudev openssh postmarketos-mkinitfs postmarketos-mvcfg postmarketos-keys sudo libsamsung-ipc sxmo-common autocutsel conky dunst svkbd sxiv sxmo-dmenu sxmo-dwm sxmo-st unclutter-xfixes xcalib xclip xdotool xdpyinfo xinput xprintidle xprop xrandr xrdb xsel xset xsetroot xwininfo linux-postmarketos-exynos4 mesa-dri-gallium mesa-egl firmware-samsung-i9100 imlib2 gc ncurses-libs sdl2 libx11 libxinerama libcurl libpng libxcomposite libxdamage libxext libxfixes libxrender atk cairo-gobject cairo dbus-libs dbus-glib libevent libffi fontconfig freetype libgcc gtk+3.0 gdk-pixbuf glib icu-libs nspr nss pango pixman libstdc++ libvpx libwebp libxcb pkgconf libraw-tools graphicsmagick exiftool tiff libzbar libxaw libxt udev-init-scripts eudev-libs libblkid kmod-libs openssh-client-default openssh-sftp-server openssh-server boot-deploy busybox-extras bzip2 cryptsetup device-mapper e2fsprogs e2fsprogs-extra f2fs-tools lz4 multipath-tools parted xz alsa-utils codemadness-frontends dnsmasq dunstify ffmpeg font-fira-mono-nerd font-terminus-nerd geoclue inotify-tools light lisgd mediainfo mmsd-tng mmsd-tng-tools mnc modemmanager modemmanager-openrc mpv ncurses networkmanager networkmanager-openrc pn polkit polkit-openrc postmarketos-base-ui sxmo-utils sxmo-utils-openrc terminus-font tinydm tinydm-openrc tzdata v4l-utils vis youtube-dl libxmu libxft lua5.3-libs libxml2 libxrandr libxscrnsaver wayland-libs-client libxtst libexif giflib xorg-server ncurses-terminfo libxi libev libxxf86vm libxkbcommon libxcursor mesa llvm12-libs libdrm libelf expat mesa-glapi mesa-gbm wayland-libs-server libxshmfence libbz2 libid3tag libjpeg-turbo ncurses-terminfo-base ca-certificates brotli-libs nghttp2-libs libintl libuuid shared-mime-info gtk-update-icon-cache at-spi2-atk cups-libs libepoxy fribidi harfbuzz wayland-libs-cursor wayland-libs-egl libmount pcre sqlite-libs libxau libxdmcp libgomp libraw libltdl libwmf perl-image-exiftool libxv libxpm libice libsm openssh-keygen openssh-client-common openssh-server-common cryptsetup-libs popt lvm2-libs device-mapper-libs libcom_err e2fsprogs-libs f2fs-tools-libs libaio json-c readline userspace-rcu dialog alsa-lib fftw-single-libs libnotify ffmpeg-libs avahi-libs avahi-glib json-glib libmm-glib libsoup libinput-libs libmediainfo libzen mobile-broadband-provider-info c-ares libphonenumber dbus libgudev libmbim polkit-libs libqmi libqrtr-glib libass libbluray libcdio libcdio-paranoia libdvdnav jack lcms2 lua5.2-libs libplacebo libpulse shaderc uchardet libva libvdpau vulkan-loader iptables jansson libndp newt libpsl polkit-common mozjs78 chrony haveged nftables shadow ttf-dejavu util-linux wpa_supplicant wireless-regdb coreutils gawk curl doas gojq autologin v4l-utils-libs lua5.3-lpeg libacl libtermkey python3 font-misc-misc font-cursor-misc xkeyboard-config xkbcomp xinit xorg-server-common mesa-gl libxfont2 nettle libpciaccess libxcvt fts hicolor-icon-theme at-spi2-core gnutls graphite2 libbsd ghostscript-fonts perl libedit argon2-libs device-mapper-event-libs aom-libs libdav1d lame opus soxr libsrt libssh libtheora vidstab libvorbis x264-libs x265-libs xvidcore glib-networking gsettings-desktop-schemas libevdev mtdev tinyxml2 boost1.77-thread libprotobuf libdvdread libsamplerate glslang libasyncns orc libsndfile speexdsp tdb-libs spirv-tools libmnl libnftnl slang libidn2 libunistring linux-pam libcap gmp encodings mkfontscale libnl3 pcsc-lite-libs libattr utmps lua5.3 unibilium gdbm mpdecimal font-alias util-macros libxkbfile xauth mcookie xmodmap libfontenc p11-kit libtasn1 libmd libogg libproxy libdvdcss flac s6-ipcserver skalibs linenoise
(013059) [08:34:56] See also: <https://postmarketos.org/troubleshooting>
(013059) [08:34:56] Traceback (most recent call last):
File "/home/virtualuser/.local/lib/python3.9/site-packages/pmb/__init__.py", line 49, in main
getattr(frontend, args.action)(args)
File "/home/virtualuser/.local/lib/python3.9/site-packages/pmb/helpers/frontend.py", line 314, in install
pmb.install.install(args)
File "/home/virtualuser/.local/lib/python3.9/site-packages/pmb/install/_install.py", line 932, in install
create_device_rootfs(args, step, steps)
File "/home/virtualuser/.local/lib/python3.9/site-packages/pmb/install/_install.py", line 880, in create_device_rootfs
pmb.chroot.apk.install(args, install_packages, suffix)
File "/home/virtualuser/.local/lib/python3.9/site-packages/pmb/chroot/apk.py", line 238, in install
pmb.helpers.apk.apk_with_progress(args, ["apk"] + command,
File "/home/virtualuser/.local/lib/python3.9/site-packages/pmb/helpers/apk.py", line 109, in apk_with_progress
pmb.helpers.run_core.check_return_code(args, p_apk.returncode,
File "/home/virtualuser/.local/lib/python3.9/site-packages/pmb/helpers/run_core.py", line 219, in check_return_code
raise RuntimeError("Command failed: " + log_message)
RuntimeError: Command failed: apk add -u --virtual .pmbootstrap postmarketos-base device-samsung-i9100 postmarketos-ui-sxmo-de-dwm device-samsung-i9100-kernel-mainline device-samsung-i9100-nonfree-firmware w3m sfeed clickclack feh firefox-esr font-noto font-noto-emoji gnome-icon-theme megapixels-gtk3 mobile-config-firefox xcalc lang musl-locales postmarketos-base-nofde eudev openssh postmarketos-mkinitfs postmarketos-mvcfg postmarketos-keys sudo libsamsung-ipc sxmo-common autocutsel conky dunst svkbd sxiv sxmo-dmenu sxmo-dwm sxmo-st unclutter-xfixes xcalib xclip xdotool xdpyinfo xinput xprintidle xprop xrandr xrdb xsel xset xsetroot xwininfo linux-postmarketos-exynos4 mesa-dri-gallium mesa-egl firmware-samsung-i9100 imlib2 gc ncurses-libs sdl2 libx11 libxinerama libcurl libpng libxcomposite libxdamage libxext libxfixes libxrender atk cairo-gobject cairo dbus-libs dbus-glib libevent libffi fontconfig freetype libgcc gtk+3.0 gdk-pixbuf glib icu-libs nspr nss pango pixman libstdc++ libvpx libwebp libxcb pkgconf libraw-tools graphicsmagick exiftool tiff libzbar libxaw libxt udev-init-scripts eudev-libs libblkid kmod-libs openssh-client-default openssh-sftp-server openssh-server boot-deploy busybox-extras bzip2 cryptsetup device-mapper e2fsprogs e2fsprogs-extra f2fs-tools lz4 multipath-tools parted xz alsa-utils codemadness-frontends dnsmasq dunstify ffmpeg font-fira-mono-nerd font-terminus-nerd geoclue inotify-tools light lisgd mediainfo mmsd-tng mmsd-tng-tools mnc modemmanager modemmanager-openrc mpv ncurses networkmanager networkmanager-openrc pn polkit polkit-openrc postmarketos-base-ui sxmo-utils sxmo-utils-openrc terminus-font tinydm tinydm-openrc tzdata v4l-utils vis youtube-dl libxmu libxft lua5.3-libs libxml2 libxrandr libxscrnsaver wayland-libs-client libxtst libexif giflib xorg-server ncurses-terminfo libxi libev libxxf86vm libxkbcommon libxcursor mesa llvm12-libs libdrm libelf expat mesa-glapi mesa-gbm wayland-libs-server libxshmfence libbz2 libid3tag libjpeg-turbo ncurses-terminfo-base ca-certificates brotli-libs nghttp2-libs libintl libuuid shared-mime-info gtk-update-icon-cache at-spi2-atk cups-libs libepoxy fribidi harfbuzz wayland-libs-cursor wayland-libs-egl libmount pcre sqlite-libs libxau libxdmcp libgomp libraw libltdl libwmf perl-image-exiftool libxv libxpm libice libsm openssh-keygen openssh-client-common openssh-server-common cryptsetup-libs popt lvm2-libs device-mapper-libs libcom_err e2fsprogs-libs f2fs-tools-libs libaio json-c readline userspace-rcu dialog alsa-lib fftw-single-libs libnotify ffmpeg-libs avahi-libs avahi-glib json-glib libmm-glib libsoup libinput-libs libmediainfo libzen mobile-broadband-provider-info c-ares libphonenumber dbus libgudev libmbim polkit-libs libqmi libqrtr-glib libass libbluray libcdio libcdio-paranoia libdvdnav jack lcms2 lua5.2-libs libplacebo libpulse shaderc uchardet libva libvdpau vulkan-loader iptables jansson libndp newt libpsl polkit-common mozjs78 chrony haveged nftables shadow ttf-dejavu util-linux wpa_supplicant wireless-regdb coreutils gawk curl doas gojq autologin v4l-utils-libs lua5.3-lpeg libacl libtermkey python3 font-misc-misc font-cursor-misc xkeyboard-config xkbcomp xinit xorg-server-common mesa-gl libxfont2 nettle libpciaccess libxcvt fts hicolor-icon-theme at-spi2-core gnutls graphite2 libbsd ghostscript-fonts perl libedit argon2-libs device-mapper-event-libs aom-libs libdav1d lame opus soxr libsrt libssh libtheora vidstab libvorbis x264-libs x265-libs xvidcore glib-networking gsettings-desktop-schemas libevdev mtdev tinyxml2 boost1.77-thread libprotobuf libdvdread libsamplerate glslang libasyncns orc libsndfile speexdsp tdb-libs spirv-tools libmnl libnftnl slang libidn2 libunistring linux-pam libcap gmp encodings mkfontscale libnl3 pcsc-lite-libs libattr utmps lua5.3 unibilium gdbm mpdecimal font-alias util-macros libxkbfile xauth mcookie xmodmap libfontenc p11-kit libtasn1 libmd libogg libproxy libdvdcss flac s6-ipcserver skalibs linenoise
(014278) [08:44:21] % tail -n 60 -F /home/virtualuser/.local/var/pmbootstrap/log.txt
(014278) [08:44:21] *** output passed to pmbootstrap stdout, not to this log ***
Observations
I've been able to observe the following:
- UI options tested producing the same crash:
console, fbkeyboard, posh, sxmo-de-dwm
- if
ui = none
the install completes successfully.- if you add
fbkeyboard,wireless-regdb,wpa_supplicant,networkmanager,ca-certificates
asextra_packages
(withui = none
) it works, but if you addpostmarketos-base-ui
to the list,pmbootstrap install
crashes in the same way as previously described.
- if you add
-
pmbootstrap
is not able to handle this error properly and crashes - the
stderr
of the command isn't displayed (maybe it is linked topmbootstrap
crashing), this makes diagnosing the problem more difficult - if
qemu
withx86_64
is selected as target andui = sxmo-de-dwm
the install completes successfully.