Installation fails - systemctl not found
urb4nc4rl opened this issue · comments
The first time I tried to install, the script would abort on the line where it tries to stop the service, presumably because it hasn't been installed yet.
Failed to stop renews.service: Unit renews.service not loaded.
make: *** [install_nyt] Error 5
Having commented out the line of the Makefile that does this, now I cannot install because apparently systemctl is not found on the remarkable:
Identity added: /Users/myname/.ssh/id_rsa (/Users/myname/.ssh/id_rsa)
root@192.168.1.193's password:
renews.arm 100% 11MB 438.1KB/s 00:24
root@192.168.1.193's password:
renews.service 100% 339 70.2KB/s 00:00
Pseudo-terminal will not be allocated because stdin is not a terminal.
root@192.168.1.193's password:
make: systemctl: No such file or directory
make: *** [install_nyt] Error 1
Clearly, systemctl is installed - otherwise the first error would not have occurred?
Any thoughts? I'm wondering if it's because I'm on a Mac and the default shell is now zsh. Going to try using Bash and will report back
@urb4nc4rl probably related to my reportings in #14. I use fish shell but didn't further with bash so far
I think I fixed the first issue with the latest commit.
As for the second issue, if you manually ssh into 192.168.1.193, can you run systemctl? Normally the reMarkable is at 10.11.99.1 when connected via USB.
I can confirm the first issue is fixed.
But, it still gives the error
bash-3.2$ make install_nyt
Identity added: /Users/myname/.ssh/id_rsa (/Users/myname/.ssh/id_rsa)
root@10.11.99.1's password:
root@10.11.99.1's password:
renews.arm 100% 11MB 6.2MB/s 00:01
root@10.11.99.1's password:
renews.service 100% 341 144.2KB/s 00:00
Pseudo-terminal will not be allocated because stdin is not a terminal.
root@10.11.99.1's password:
make: systemctl: No such file or directory
make: *** [install_nyt] Error 1
PS: I was SSH'ing in over WiFi, but have switched to USB, hence the IP change
Can you manually ssh into the reMarkable and run systemctl?
I could, yes, and in the end that's how I completed the final steps of installation. For some reason, the syntax in the Makefile kept throwing things off.
This will immediately trigger an image download and put it in /tmp/dump.png
./renews.arm -test -output /tmp/dump.png -verbose -url https://xkcd.com -xpath '//div[@id="comic"]/img/@src'
Or if you leave out the -test
option, it will wait for a WiFi connection to be established.
seems the RM2 doesn't like the input as a stream. if you change Makefile : install to this:
define install
# stop running service, ignore failure to stop
ssh root@$(host) systemctl stop renews || true
scp renews.arm root@$(host):
# substitute timezone/cooldown arguments
sed -e "s|TZ|$(timezone)|" \
-e "s|COOLDOWN|$(cooldown)|" \
$(1) > renews.service
# copy service to remarkable and enable
scp renews.service root@$(host):/etc/systemd/system/renews.service
ssh root@$(host) systemctl daemon-reload
ssh root@$(host) systemctl enable renews
ssh root@$(host) systemctl restart renews
endef
it seems to work. Might be a busybox update issue, perhaps?
Are you on OSX?
Let's do an experiment. If you run make
, does it give an error or print the text?
Makefile
.ONESHELL:
.PHONY: test
test:
cat <<- ENDCAT
hello world
foobar123
more text
ENDCAT
Turns out the version of Make OSX ships with doesn't support .ONESHELL
.