Skip to content
Snippets Groups Projects
  1. Apr 18, 2024
    • Casey's avatar
      postmarketos-initramfs: debug-shell 2.0 · 4a1194d6
      Casey authored
      
      This incorprates the debug-shell functionality directly into the
      initramfs, so it's no longer necessary to build and boot a custom
      initramfs in order to debug your device.
      
      Additionally, the behaviour of the debug-shell is entirely reworked,
      removing the telnet feature. Instead it creates an ACM serial gadget
      which can be accessed via any normal terminal emulator (picocom,
      minicom, etc; or PuTTY on windows). Rather than just invoking sh, the
      debug-shell now creates a respawning getty on both the new virtual
      console and the active console (this will either be the UART console
      or tty0/1).
      
      If fbkeyboard is available (it can be added by install
      postmarketos-mkinitfs-hook-console-shell) then it will be launched on
      tty0. A getty will also be launched on tty0 in this case even if it
      otherwise wouldn't be (if the active console was the serial port for
      example).
      
      It is necessary to spawn these shells via getty since the logging rework
      means we can no longer assume that stdin/out/err reference a TTY.
      
      In addition to the above, it is now possible to trigger a log dump by
      holding volume up during boot (if iskey is available). This can be
      useful for helping users debug their devices if the issue doesn't result
      in a failure that can be detected in the initramfs.
      
      With these changes, the console-shell and debug-shell hook packages are
      reduced to only adding the additional tools/features. console-shell is
      still required for fbkeyboard, and debug-shell for the setup_usb_storage
      tool.
      
      Signed-off-by: default avatarCaleb Connolly <caleb@postmarketos.org>
      4a1194d6
    • Casey's avatar
      main/iskey: new aport · 6ba8d3fd
      Casey authored
      
      iskey is a tiny tool that reports if any of the given keys are pressed.
      
      Signed-off-by: default avatarCaleb Connolly <caleb@postmarketos.org>
      6ba8d3fd
    • Casey's avatar
      postmarketos-initramfs: split into tiny + fullsize variants · e16b9cbf
      Casey authored
      
      This split is only to handle differing dependencies. At runtime the
      initramfs should have a fall-back for when they're unavailable.
      
      Signed-off-by: default avatarCaleb Connolly <caleb@postmarketos.org>
      e16b9cbf
    • Casey's avatar
      postmarketos-initramfs: mount subpartitions after hooks · f9394fb4
      Casey authored
      
      This step is the most likely to go wrong or have issues, and it has side
      effects which can make it difficult to run multiple times on one boot.
      Move it to after hooks so that e.g. when dropping to a debug shell, we
      land before the first call.
      
      This also makes booting to hooks a faster in many cases.
      
      Signed-off-by: default avatarCaleb Connolly <caleb@postmarketos.org>
      f9394fb4
    • Casey's avatar
      postmarketos-initramfs: use dd to allocate logs image · b12302c5
      Casey authored
      
      fallocate seems to cause some strange behaviour where the logs.img file
      is treated like it's empty. Given it's small and in a ramdisk let's just
      create it with dd instead.
      
      Signed-off-by: default avatarCaleb Connolly <caleb@postmarketos.org>
      b12302c5
    • Casey's avatar
      postmarketos-initramfs: check if UDC is configured before clearing · 8def1665
      Casey authored
      
      This fixes the annoying "sh: write error" and "Couldn't write to clear
      UDC" messages that happen on every single boot.
      
      Signed-off-by: default avatarCaleb Connolly <caleb@postmarketos.org>
      8def1665
    • Casey's avatar
      postmarketos-initramfs: make CONFIGFS global · ba052730
      Casey authored
      
      This variable is being used in more places, just make it global.
      
      Signed-off-by: default avatarCaleb Connolly <caleb@postmarketos.org>
      ba052730
    • Casey's avatar
      main/postmarketos-initramfs: log to kernel ringbuffer · a9117869
      Casey authored
      
      Rework logging to always log the initramfs output to the kernel
      ringbuffer and deprecate PMOS_NO_OUTPUT_REDIRECT in favour of following
      the kernel loglevel.
      
      I know it seems silly to use syslogd for this, but it's necessary to
      buffer writes to /dev/kmsg per-line if we want to correctly set the log
      level, and "tee" does not do this (it will write multiple lines at once,
      resulting in "<14>" prints in the ringbuffer). The main advantage to
      this is that we won't have kernel logs cut in half by initramfs logs
      anymore, everything will be nicely line buffered!
      
      The previous logging solution of multiple "tail" commands would actually
      fail to log up to the last few lines before a crash due to how tail
      works (it polls the file and buffers lines).
      
      I attempted something like this before, but I stopped after running into
      ratelimiting issues. These are now resolved by configuring the
      printk_devkmsg sysctl.
      
      Dropping PMOS_NO_OUTPUT_REDIRECT:
      
      The general motivations behind PMOS_NO_OUTPUT_REDIRECT was to avoid
      cluttering up the console with initramfs logs when they aren't wanted;
      this is now handled instead by the kernels logging facility. We log to
      the ringbuffer at LOGLEVEL_INFO, so if "quiet" is specified on the
      cmdline (or the loglevel is otherwise set above info) then initramfs
      logs will also not be shown.
      
      Signed-off-by: default avatarCaleb Connolly <caleb@postmarketos.org>
      a9117869
    • Clayton Craft's avatar
      main/boot-deploy: upgrade to 0.15 (MR 5044) · 1244e973
      Clayton Craft authored
      Features:
        - Include "sort-key" in bootloader spec config (MR 58)
        - Integrate pmos-update-depthcharge-kernel and pmos-update kernel
          logic (MR 55)
      
      [ci:skip-build] already built successfully in CI
      1244e973
    • Barnabás Czémán's avatar
      device-xiaomi-daisy: move calibration to subpackage (MR 5040) · 295ea8ae
      Barnabás Czémán authored
      Move goodix calibration rules to an subpackage because only the
      replacement controllers are need this.
      
      [ci:skip-build]: already built successfully in CI
      295ea8ae
    • Clayton Craft's avatar
      main/postmarketos-initramfs: add crc32_generic module for F2FS (MR 4973) · d1ad0d87
      Clayton Craft authored
      Apparently f2fs has a soft dependency on this driver, so if it's =m in
      the kernel then let's make sure it's always in the initramfs since f2fs
      is a supported filesystem.
      
      Fixes https://gitlab.com/postmarketOS/pmaports/-/issues/2711
      [ci:skip-build]: already built successfully in CI
      d1ad0d87
    • Andreas Kemnade's avatar
      u-boot-kobo-clara: add upgrade script (MR 4550) · f2808cb3
      Andreas Kemnade authored
      [ci:skip-build]: already built successfully in CI
      f2808cb3
    • Andreas Kemnade's avatar
      device-kobo-clara: use extlinux.conf (MR 4550) · 219caecc
      Andreas Kemnade authored
      simplify things by using standard ways to boot.
      219caecc
    • Andreas Kemnade's avatar
      linux-kobo-clara-downstream: binutils 2.41 fix (MR 4550) · a5feb763
      Andreas Kemnade authored
      no more solaris format for sections
      a5feb763
    • Andreas Kemnade's avatar
      device-kobo-clara: split out downstream build as unmaintained (MR 4550) · 35317027
      Andreas Kemnade authored
      Near-mainline kernel is feature-complete since quite some time, so lets
      use that as a default also to simplify boot process, since downstream kernel
      depends on various blobs loaded into memory by the bootloader.
      Get rid of quirks required in boot process for mainline kernels
      also by using a near-mainline u-boot.
      Prepare for handling rev b devices.
      Keep Downstream kernel to be able to optimize/compare EPD operation
      35317027
  2. Apr 17, 2024
  3. Apr 16, 2024
  4. Apr 13, 2024
  5. Apr 12, 2024
  6. Apr 11, 2024
  7. Apr 10, 2024
Loading