[stork-users] Issues faced when building for Armv7l
Brian Mulder
brian.mulder42 at gmail.com
Fri Nov 29 13:09:36 UTC 2024
I was requested to install Stork on a 32-bit Armv7l CPU running Arch Linux.
This is a three node cluster all running Bind and Kea, and Stork on one of
them.
In hopes that it may help someone, let me document some of the challenges
faced:
1) There are no 32-bit Armv7l images available.
So I decided to build from the source.
I used the following packages:
base-devel git gcc ruby rack go npm python3 openssh wget jdk-openjdk unzip
entr protobuf
2) rakelib/00_init.rake does not support Armv7l so I had to add it.
...
when "armv7l"
ARCH="arm32"
...
when "arm32"
go_suffix = "linux-armv6l"
protoc_suffix = "linux-aarch"
node_suffix = "linux-armv7l"
golangcilint_suffix = "linux-arm"
goswagger_suffix = "linux_arm"
shellcheck_suffix = "linux.aarch"
...
--> Could support for Armv7l be included in 00_init.rake?
3) I had trouble downloading the Go source code.
As above I added the pre-built go package.
4) I had trouble downloading the protocol buffers source code.
As above I added the pre-built package protobuf, commented out the source
download, and copied /usr/bin/protoc to the protoc folder.
--> Could 00_init.rake first check for protoc and only try to download if
it is not available?
5) rakelib/40_dist.rake fails while trying to copy files to /lib because it
is symlinked to usr/lib.
See #1584
https://gitlab.isc.org/isc-projects/stork/-/issues/1584
--> I hope this can be improved.
6) Also mentioned in #1584, the permissions are changed for /etc, /lib, and
/usr when performing an install:agent and install:server.
Performed this manually:
$ sudo cp -r dist/{agent,server}/etc /
$ sudo cp -r dist/{agent,server}/lib /usr
$ sudo cp -r dist/{agent,server}/usr /
--> Services would not start after a reboot. I eventually discovered that
it was due to permission changes on these directories.
7) Perhaps because of the manual installation, I also needed to create a
stork-server and stork-agent users.
$ sudo useradd --system --base-dir /var/lib/ stork-server
$ sudo useradd --system --base-dir /var/lib/ stork-agent
--> Please add something about this to the documentation.
8) I found that I needed to adjust other permissions stork-agent to run.
$ sudo chmod o+x /var/named
$ sudo chmod o+r /etc/named.conf
--> Please add something about this to the documentation.
I am still running some tests, but so far everything seems to be running
fine.
I hope some of these above challenges can be improved to allow easier
building going forward.
Best regards -- Ben
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.isc.org/pipermail/stork-users/attachments/20241129/18acbe4a/attachment.htm>
More information about the Stork-users
mailing list