The Google Pixel 3a automatically appends console=null to the command
line. In the kernel, the preferred console is set to ttynull. Since
ttynull is not automatically enabled, a warning is currently emitted:
[ 0.909853] Warning: unable to open an initial console.
This also causes stdin, stdout, and stderr to be missing from the init
process.
In the busybox implementation, syslogd creates the /dev/log socket and
opens /dev/kmsg. This happens just before daemonizing, which opens
/dev/null and aliases stdin, stdout, and stderr to it. After daemonizing
and potentially closing the socket, stdin is aliased to the socket to
save stack memory. If the program starts without stdin under Linux, the
socket gains the constant STDIN_FILENO file descriptor, which is cleared
when daemonizing.
Syscalls when the 0, 1, 2 file descriptors aren't open:
socket(AF_UNIX, SOCK_DGRAM, 0) = 0
openat(AT_FDCWD, "/dev/kmsg", O_WRONLY|O_LARGEFILE) = 1
openat(AT_FDCWD, "/dev/null", O_RDWR|O_LARGEFILE) = 2
Enable the CONFIG_NULL_TTY option and update the configuration to allow
the kernel to open stdin, stdout, and stderr for the init and (by
inheritance) syslogd processes. It's technically an expert option but
isn't enabled by default (and can be enabled in config fragments).
Closes#3269
[ci:skip-build]: already built successfully in CI
bq27xxx_battery has a check for status flags in order to detect changes
and report to userspace. However, the cached flags are updated before
checking for changes, hence no flag-related events are ever sent. This
patch fixes this behavior, and has been sent upstream.
[ci:skip-build]: already built successfully in CI
Add a workaround so the kernel compile output is not silent (which leads
to pmbootstrap aborting the build). This will be fixed once upgrading to
linux >= 6.2.
Related: pmaports issue 1990
[ci:skip-build]: already built successfully in CI
In linux-postmarketos-qcom-msm8916 this is fixed properly thanks to a patch
from Jakob Hauser. The cmdline parameter is no longer necessary, and just
causes the display to be horizontally flipped again.
[ci:skip-build]: already built successfully in CI
Signed-off-by: Robert Eckelmann <longnoserob@postmarketos.org>
[ci:ignore-count]: We meant to change many packages
[ci:skip-build]: already built successfully in CI
Linux 4.14.186 has no ZSTD support and is therefore too old to have full
support for our default ZRAM configuration. ZRAM will likely still work,
but fall back to the default compression method. This is not something we
can actively test or support, so drop the pmb:kconfigcheck-zram.
[ci:skip-vercheck]: no rebuild needed
Linux 3.18.14 has no ZSTD support and is therefore too old to have full
support for our default ZRAM configuration. ZRAM will likely still work,
but fall back to default compression method. This is not something we
can actively test or support, so drop the pmb:kconfigcheck-zram.
[ci:skip-vercheck]: no rebuild needed
Add qbootctl as dependency msm-firmware-loader needs it
for A/B devices like xiaomi-daisy and xiaomi-tissot.
[ci:skip-build]: already built successfully in CI
Patch adding LG G4 (H815) support got upstreamed in v6.12-rc1 mainline
kernel (it's slightly different than the patch used here).
Add python3 to makedepends (required from v6.10-rc1
0fddd045f88e ("drm/msm: generate headers on the fly")).
Signed-off-by: Petr Vorel <pvorel@suse.cz>
Tested working on C330. I can drop the patch for 6.11 regression since
that is fixed now. All the normal stuff works, nothing broken as far as
I can tell. Default config options chosen with pmbootstrap kconfig
migrate.
pmbootstrap 3.0.0 uses GPT partition table by default, which breaks booting
on all the devices using the lk2nd bootloader. The current version of lk2nd
supports GPT only for the eMMC, while subpartitions and SD cards must be
partitioned with MBR. GPT support was present in the legacy branch of
lk2nd, but was dropped at some point because of poor code quality.
Fix the regression for now by reverting back to the old msdos (MBR)
partition table. We can revert this again later when lk2nd restores support
for GPT.
Generated with
$ for d in $(grep -R linux-postmarketos-qcom-msm8916 | grep -Eo 'device-[^/]+' | sort -u); do \
echo -e '\n# lk2nd does not support GPT for subpartitions/SD cards yet\ndeviceinfo_partition_type="msdos"' \
>> device/*/$d/deviceinfo && pmbootstrap checksum $d && pmbootstrap pkgver_bump $d; done
[ci:ignore-count]
[ci:skip-build]: bug in CI prevents build testing armv7 and aarch64, so
Clayton did the test locally for those archs
This is needed for completely functional BT on the 6.12 kernel we
package. The bt fw file will be in the next (december) release of
linux-firmware, so in the meantime it's fetched/packaged here. This will
need to be dropped when the next linux-fw package upgrade is released.
Tested on google-hayato. I also cleaned up the config a bit since the
collabora defconfig had a few weird things set. Zram now works as
expected because of this.