Open LukeShortCloud opened 3 years ago
Problem number 1: The update-engine
service stops work.
chronos@localhost / $ sudo /usr/sbin/update_engine --foreground --logtostderr
[0303/175659.304979:ERROR:bus.cc(393)] Failed to connect to the bus: Failed to connect to socket /usr/local/var/run/dbus/system_bus_socket: No such file or directory
chronos@localhost / $ sudo update_engine_client --help
[0303/175237.266581:ERROR:bus.cc(393)] Failed to connect to the bus: Failed to connect to socket /usr/local/var/run/dbus/system_bus_socket: No such file or directory
[0303/175237.266676:ERROR:update_engine_client.cc(84)] UpdateEngineService not available.
You can control the service with {start|stop|restart} update-engine
.
I found the update-engine.service
systemd unit file for it in the Chromium repository. [1] Strangely, it did not exist on my Chromebook (anymore?). The full command for the daemon is /usr/sbin/update_engine --foreground --logtostderr
. Running that command shows the same error.
I was able to find a system_bus_socket
, symlink it to where it wanted, and then got the update_engine
to work!
$ chronos@localhost / $ sudo ln -s /var/run/dbus/system_bus_socket /usr/local/var/run/dbus/system_bus_socket
Problem number 2: The systemd unit file really is missing and is required.
chronos@localhost / $ sudo update_engine_client --check_for_update
[0303/191853.672558:INFO:update_engine_client.cc(481)] Initiating update check.
[0303/191853.673519:ERROR:object_proxy.cc(621)] Failed to call method: org.chromium.UpdateEngineInterface.AttemptUpdateWithFlags: object_path= /org/chromium/UpdateEngine: org.freedesktop.DBus.Error.ServiceUnknown: The name org.chromium.UpdateEngine was not provided by any .service files
[0303/191853.673565:ERROR:dbus_method_invoker.h(112)] CallMethodAndBlockWithTimeout(...): Domain=dbus, Code=org.freedesktop.DBus.Error.ServiceUnknown, Message=The name org.chromium.UpdateEngine was not provided by any .service files
[0303/191853.673586:ERROR:update_engine_client.cc(484)] Error checking for update.
CloudReady also supports rootfs verification. [1] I am unsure how 1:1 it is to Chrome OS. It is worth a try to spin up a CloudReady VM and compare the file system on there to that of my Chromebook.
Updates starting working again. I did not change anything further. I will keep this open so that I can capture notes of relevant things learned (ex., how to start/stop/restart the update service).
When remounting the root file system as
rw
, Chrome updates stop. [1] This will be an ongoing issue of me trying to clean-room reverse engineer (by trial-and-error mostly) what happens and how to restore updates.