[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