librem5: upgrade package to enable new features (!1099)

This upgrades the package to include:

        - Support for usb serial console (only in OS, not in u-boot)
        - udev rule to fix phone calls with modemmanager using the
          broadmobi modem in the phone
        - The beginnings of usb network support (still not functional
          yet)
        - Enable framebuffer in the deviceinfo, pmos logo on boot!

The udev rule and module configs were gathered from upstream Purism
PureOS.
This commit is contained in:
Clayton Craft 2020-03-24 18:12:14 -07:00
parent f9dc6ff15c
commit 4e24b4e791
No known key found for this signature in database
GPG key ID: 23A30DA6D406B355
5 changed files with 42 additions and 6 deletions

View file

@ -0,0 +1,14 @@
ACTION!="add|change|move|bind", GOTO="mm_broadmobi_port_types_end"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2020", GOTO="mm_broadmobi_port_types"
GOTO="mm_broadmobi_port_types_end"
LABEL="mm_broadmobi_port_types"
SUBSYSTEMS=="usb", ATTRS{bInterfaceNumber}=="?*", ENV{.MM_USBIFNUM}="$attr{bInterfaceNumber}"
# BM818
ATTRS{idVendor}=="2020", ATTRS{idProduct}=="2060", ENV{.MM_USBIFNUM}=="00", ENV{ID_MM_PORT_TYPE_QCDM}="1"
ATTRS{idVendor}=="2020", ATTRS{idProduct}=="2060", ENV{.MM_USBIFNUM}=="01", ENV{ID_MM_PORT_TYPE_AT_PRIMARY}="1"
ATTRS{idVendor}=="2020", ATTRS{idProduct}=="2060", ENV{.MM_USBIFNUM}=="02", ENV{ID_MM_PORT_TYPE_AT_SECONDARY}="1"
ATTRS{idVendor}=="2020", ATTRS{idProduct}=="2060", ENV{.MM_USBIFNUM}=="03", ENV{ID_MM_PORT_TYPE_AT_SECONDARY}="1"
LABEL="mm_broadmobi_port_types_end"

View file

@ -3,7 +3,7 @@
# Maintainer: Clayton Craft <clayton@craftyguy.net>
pkgname=device-purism-librem5
pkgdesc="Purism Librem 5 Phone"
pkgver=1.1
pkgver=1.2
pkgrel=0
url="https://postmarketos.org"
license="MIT"
@ -25,9 +25,12 @@ source="
deviceinfo
uboot-script.cmd
modprobe.d_rsi.conf
modprobe.d_librem5.conf
modules-load.d_librem5.conf
00-mesa.sh
00-kwin.sh
flash_script.lst
77-mm-broadmobi-port-types.rules
"
subpackages="
$pkgname-plasma
@ -57,6 +60,13 @@ phosh() {
"$subpkgdir"/var/lib/polkit-1/localauthority/10-vendor.d/org.freedesktop.ModemManager1.pkla
}
modemmanager() {
pkgdesc="ModemManager support for the Librem 5"
install_if="$pkgname modemmanager"
install -D -m644 "$srcdir"/77-mm-broadmobi-port-types.rules \
"$subpkgdir"/lib/udev/rules.d/77-mm-broadmobi-port-types.rules
}
pulseaudio() {
pkgdesc="Pulseaudio support for the Librem 5"
install_if="$pkgname pulseaudio"
@ -74,18 +84,26 @@ package() {
install -D -m644 "$srcdir"/boot.scr \
"$pkgdir"/boot/boot.scr
install -D -m644 "$srcdir"/modprobe.d_rsi.conf "$pkgdir"/etc/modprobe.d/rsi.conf
install -D -m644 "$srcdir"/modprobe.d_librem5.conf "$pkgdir"/etc/modprobe.d/librem5.conf
install -D -m644 "$srcdir"/modules-load.d_librem5.conf "$pkgdir"/etc/modules-load.d/librem5.conf
install -D -m644 "$srcdir"/00-mesa.sh "$pkgdir"/etc/profile.d/00-mesa.sh
install -D -m644 "$srcdir"/flash_script.lst "$pkgdir"/usr/share/uuu/flash_script.lst
install -D -m644 "$_confdir"/default/hwdb/80-librem5.hwdb "pkgdir"/lib/udev/hwdb.d/80-librem5.hwdb
install -D -m644 "$_confdir"/debian/librem5-base-defaults.librem5-pm.udev \
"pkgdir"/usr/lib/udev/rules.d/librem5-base-defaults.librem5-pm.udev
# 'install' dummy mass storage file for the g_multi module
mkdir -p "$pkgdir"/var/lib
dd if=/dev/zero of="$pkgdir"/var/lib/mass_storage_dummy bs=1024 count=1
devicepkg_package $startdir $pkgname
}
sha512sums="d93aded121b830b5b7006166d3f8cd2efadc2fa454540d653e3f1cb8f009ffb7973a4037a62a47062f6f95f8bbbe546d8e72600a5dcded4eb7be78a7e6d35d02 librem5-base-v16.tar.gz
299fc7f4eb98a15adf6d7dbee4e8612110b5d6b3048848a759c06c9a76806a4316df138b86e9c6c66d73eba88417dfba82bef2ae5a5c37ff562871f8b52b48e5 deviceinfo
6aa6e0b6d4cd688d90f7060bc8ee538205a291292cfe405fbdb08978918b3725d1295cffe68b089d5648adc9f6832d2bc2c1361555d6936200438f049a18d84b deviceinfo
3bc45540000e438e525501b2e816282d778fca10d426e42c9a80c0e752618ce50deb12c3edd9f3edc52edd8eb229d16afae7d407fe2c4ba0dbfefbcb4214780c uboot-script.cmd
9dc018f0de523cbfe5a49cbe831aa30e975a8dd34635197bb52582f072ac356ef2c02223fc794d970380091a69a83a74c3fbe34520190c8536e77f9ea98c7659 modprobe.d_rsi.conf
6b70883cddda58e4bf162d195c163926e50087b9b1fdc6c6aae1a3043d3e7df6e3f1e8f5b1982acffec04ba79748b8f6298cd7b5436ca297a959e28938a0b55b modprobe.d_librem5.conf
8c9f338e661fc287ba0a65b3556c6da127dbbc912510b1e5a29f79626a4a56316be63b2bde37cc6e048eac2e3bc3744eb54553ed4630e00cb86296859e63107a modules-load.d_librem5.conf
5fdf45859f2bb154bcfe7c7341de4d5b239ef43d3f865e30456af073a8ee9d6682515c7e1dd52ddbe3969669d60689ba93c08ead32aadcfb164ff72a02b2e1a4 00-mesa.sh
685ec71484a932c59f83f1039d4d18a010a5849342e96d9e15ae8ce64374aac15073f9c51d7d9f270c60e70d2ea15c685b8f528cdc40f991b093b9227cba6a48 00-kwin.sh
d033df2b9125622c946af67dad83070473c86937b5825f57ad272c9145b594071dd6913949127803c45af4ea3226526551718d40739f9f1ee4bfe6446e62c856 flash_script.lst"
d033df2b9125622c946af67dad83070473c86937b5825f57ad272c9145b594071dd6913949127803c45af4ea3226526551718d40739f9f1ee4bfe6446e62c856 flash_script.lst
00355d9ad085a77e157f3c62eb4f1bcac2823d3b341e34d1128edbfb1444fba83e8eacd263ea61da9f6d853f1328ab7fbe5ea63bd08c8a1bc9b8eaf44ae1f1c6 77-mm-broadmobi-port-types.rules"

View file

@ -17,9 +17,7 @@ deviceinfo_external_storage="true"
deviceinfo_screen_width="720"
deviceinfo_screen_height="1440"
deviceinfo_no_framebuffer="true"
# The following is required since this device has builtin ethernet
deviceinfo_disable_dhcpd="true"
deviceinfo_getty="ttymxc0;115200"
deviceinfo_getty="ttyGS0;115200"
# Bootloader related
deviceinfo_flash_method="uuu"

View file

@ -0,0 +1 @@
options g_multi file=/var/lib/mass_storage_dummy stall=0

View file

@ -0,0 +1,5 @@
# Serial console and Ethernet over USB (plus dummy mass storage)
g_multi
# Make it simple to blink leds
ledtrig-timer