Pine64

Hello,
I am a cs student trying to build the mender client from source for a arm64 version 8 chip on a pine A64 board however I am having trouble with the build instructions has anyone done a build for the V8 chips and has some advice. I would greatly appreciate it!

Hi,

Please share what you are trying to do and the error you get.

Hello,
Thanks for the quick response. I am trying to build the client from source for this board (https://wiki.pine64.org/index.php/PINE_A64-LTS/SOPine_Main_Page) since I don’t need full OS updates just a single program update periodically, I run through the instructions on the GitHub repo however I am not sure if it is building correctly as it does generate a mender folder however during the build process returns several “Nothing to do” print outs. Once I transfer this to my single board computer in the `/etc/systemd/system’ directory and attempt to run systemctl enable mender && systemctl start mender is says not such file or directory found. I am pretty confused as to if the build is even working or if its how I’m trying to run it on my embedded system. Thank you in advance for any help!

It is still not clear to me what your issues is.

Please share the steps you are trying to perform in detail for us to be able to comment.

Sorry hope this is in more detail,
I start by installing a cross compiler for armV8 aarch64 from sudo apt-get install gcc-aarch64-linux-gnu g+±aarch64-linux-gnu at which point I follow the mender guide on the repo and after cloning execute “export PATH=$PATH:/usr/aarch64-linux-gnu/bin” from within the cloned repo, I then am running “export CC=aarch64-linux” at which point I am running

wget -q https://tukaani.org/xz/xz-5.2.4.tar.gz
tar -xzf xz-5.2.4.tar.gz
cd xz-5.2.4
sudo ./configure --host=aarch64-linux-gnu --prefix=$(pwd)/install
make
make install

it runs and I execute
export LIBLZMA_INSTALL_PATH=$(pwd)/install

at which point I cross compile with
make CGO_CFLAGS="-I${LIBLZMA_INSTALL_PATH}/include" CGO_LDFLAGS="-L$
{LIBLZMA_INSTALL_PATH}/lib" CGO_ENABLED=1 GOOS=linux GOARCH=arm64

and it returns several lines many outputting things such as
“Making all in tests
make[2]: Entering directory ‘/home/christian/go/src/github.com/mendersoftware/mender/xz-5.2.4/tests’
make[2]: Nothing to be done for ‘all’.”

I then run
sudo make prefix=/home/test install
to install it to a separate folder on my build machine which is then copied to the embedded machine through ssh using sudo scp -r test/ ubuntu@192.168.0.88: and moving it to /etc/systemd/system

When I then try to run
systemctl enable mender && systemctl start mender on the pine64 it gives Failed to execute operation: No such file or directory
I am quite confused Thank you

Why are you moving it to /etc/systemd/system?

I would image that the command should be something like this to install on a remote target:

 scp -r test/ ubuntu@192.168.0.88:/

This means that the content of prefix=/home/test install needs to be installed in the root directory (/) of your device.

That was the initial install location for the test folder however it also resulted in the not found error so I had assumed it could not find it in system services and moved it there however it also could not see it. Also seriously thank you for helping me with this

Can you share the content of prefix=/home/test (just a list of what it contains, not the actual files :stuck_out_tongue:) and then compare this what is on the system.

The location of the systemd service should be /lib/systemd/system/mender.service on your device, and step one would be verifying this.

Oh okay awesome I just got to the office so I will as soon as I’m home this evening!

Okay sorry for the delay just got done with work this is a screen capture of the test folder generated I moved the folder to the /lib/systemd/system/ and named it mender.service however as its a directory it wont run.

I think I just realized I need to be installing mender from this folder before I have a .service file however im looking at the docs and it does not mention how since I have no Make file

Okay I believe I got it running on my system (I will have a follow up post about the documentation clarification, as I had to piece a lot of it together) and not I am trying to have the client authenticate with the demo server I have running on my desktop and there is zero documentation for that what step should I take this is my mender.conf file and the error I get. confFile

It will show on the server if i pass the flag -skipverify Im okay with this for dev operations but wondering what the true cause is and how I fix it thank you in advance

I would recommend you to consult our documentation for the various ways of configuring the Mender client,

https://docs.mender.io/

The demo server.crt file is only valid for mender.docker.io and s3.docker.mender.io domains. And to properly setup this in a demo environment you will have to make sure that the mentioned domains are resolved to the IP address of your server.

Example,

echo "192.168.0.78 docker.mender.io s3.docker.mender.io" >> /etc/host