diff --git a/userspace/root/etc/systemd/system/qseecomd.path b/userspace/root/etc/systemd/system/qseecomd.path index 89ae896..f5f7fdf 100644 --- a/userspace/root/etc/systemd/system/qseecomd.path +++ b/userspace/root/etc/systemd/system/qseecomd.path @@ -10,7 +10,7 @@ Conflicts=shutdown.target Before=paths.target shutdown.target [Path] -PathModified=/dev/qseecom +PathExists=/dev/qseecom [Install] WantedBy=multi-user.target diff --git a/userspace/root/etc/systemd/system/qseecomd.service b/userspace/root/etc/systemd/system/qseecomd.service index 90f4182..2a2877f 100644 --- a/userspace/root/etc/systemd/system/qseecomd.service +++ b/userspace/root/etc/systemd/system/qseecomd.service @@ -12,6 +12,7 @@ Requires=leprop.service [Service] Restart=no RemainAfterExit=yes +ExecStartPre=/bin/bash -c 'for i in {1..100}; do : < /dev/ion && exit 0; sleep 0.05; done; exit 1' ExecStart=/etc/initscripts/qseecomd start ExecStop=/etc/initscripts/qseecomd stop diff --git a/userspace/root/usr/comma/comma-init.sh b/userspace/root/usr/comma/comma-init.sh index 16c04f6..fc262f0 100755 --- a/userspace/root/usr/comma/comma-init.sh +++ b/userspace/root/usr/comma/comma-init.sh @@ -127,8 +127,9 @@ function init_filesystems { wait "$pid" || failed=1 done - # rmt_storage is the only thing that relies on /dev/block/bootdevice/by-name. + # rmt_storage and qseecomd are the only users of /dev/block/bootdevice/by-name. mkdir -p /dev/block/bootdevice/by-name + ln -sf /dev/sda1 /dev/block/bootdevice/by-name/ssd ln -sf /dev/sdf2 /dev/block/bootdevice/by-name/modemst1 ln -sf /dev/sdf3 /dev/block/bootdevice/by-name/modemst2 ln -sf /dev/sdf4 /dev/block/bootdevice/by-name/fsg diff --git a/userspace/root/usr/comma/power_monitor.py b/userspace/root/usr/comma/power_monitor.py index 0611d3c..e871c1d 100755 --- a/userspace/root/usr/comma/power_monitor.py +++ b/userspace/root/usr/comma/power_monitor.py @@ -29,7 +29,7 @@ def check_touches(): event_format = "llHHi" event_size = struct.calcsize(event_format) - with open("/dev/input/by-path/platform-894000.i2c-event", "rb") as event_file: + with open("/dev/input/event2", "rb") as event_file: fcntl.fcntl(event_file, fcntl.F_SETFL, os.O_NONBLOCK) while True: while (event := event_file.read(event_size)): diff --git a/userspace/root/usr/lib/systemd/system/serial-getty@ttyMSM0.service b/userspace/root/usr/lib/systemd/system/serial-getty@ttyMSM0.service new file mode 100644 index 0000000..afa06d1 --- /dev/null +++ b/userspace/root/usr/lib/systemd/system/serial-getty@ttyMSM0.service @@ -0,0 +1,28 @@ +[Unit] +Description=Serial Getty on ttyMSM0 +Documentation=man:agetty(8) +After=systemd-user-sessions.service plymouth-quit-wait.service getty-pre.target +After=rc-local.service +Before=getty.target +IgnoreOnIsolate=yes +Conflicts=rescue.service +Before=rescue.service + +[Service] +ExecStartPre=/bin/stty -F /dev/ttyMSM0 hupcl +ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud 115200,57600,38400,9600 - $TERM +Type=idle +Restart=always +UtmpIdentifier=ttyMSM0 +StandardInput=tty +StandardOutput=tty +TTYPath=/dev/ttyMSM0 +TTYReset=yes +TTYVHangup=yes +IgnoreSIGPIPE=no +SendSIGHUP=yes +ImportCredential=agetty.* +ImportCredential=login.* + +[Install] +WantedBy=getty.target diff --git a/userspace/root/usr/lib/systemd/system/serial-getty@ttyMSM0.service.d/serial-getty@ttyMSM0_override.conf b/userspace/root/usr/lib/systemd/system/serial-getty@ttyMSM0.service.d/serial-getty@ttyMSM0_override.conf deleted file mode 100644 index 479c998..0000000 --- a/userspace/root/usr/lib/systemd/system/serial-getty@ttyMSM0.service.d/serial-getty@ttyMSM0_override.conf +++ /dev/null @@ -1,4 +0,0 @@ -# With Ubuntu 24.04 (systemd 255) and 4.9 Kernel, the console is not properly -# hung up when the serial getty for ttyMSM0 is started. Force hangup with this. -[Service] -ExecStartPre=/bin/stty -F /dev/ttyMSM0 hupcl \ No newline at end of file