Quarkus - Deploy in Raspberry PI - quarkus

i would like to deploy my Quarkus app in a raspberry pi with jvm mode. But this image registry.access.redhat.com/ubi8/ubi-minimal:8.4 is not compatible with arm.
Linux ubuntu 5.11.0-1012-raspi #13-Ubuntu SMP PREEMPT Thu Jun 17 10:47:05 UTC 2021 armv7l armv7l armv7l GNU/Linux
I don't know if this feature is / will be planned but in doubt, i ask this problem. I will try with native image.
Edit : i've just seen this issue https://github.com/quarkusio/quarkus-images/issues/83

There are ubi8 images for arm but only for 64 bits OS's. It's working for me on Ubuntu server 64 bits:
Linux ubuntu 5.11.0-1007-raspi #7-Ubuntu SMP PREEMPT Wed Apr 14 22:08:05 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux

Related

How to check the date of the non-current kernel on Debian

You get the date of the current kernel on Debian with (here: 2020-12-17):
user#pc:~$ uname -v
#1 SMP Debian 4.9.246-2 (2020-12-17)
But, how to check the date of the non-current (e.g. linux-image-4.9.0-13-amd64 4.9.228-1) kernel on Debian?
I can't see this with:
user#pc:~$ dpkg -l | grep linux-image
ii linux-image-4.9.0-13-amd64 4.9.228-1 amd64 Linux 4.9 for 64-bit PCs
ii linux-image-4.9.0-14-amd64 4.9.246-2 amd64 Linux 4.9 for 64-bit PCs
ii linux-image-amd64 4.9+80+deb9u12 amd64 Linux for 64-bit PCs (meta-package)
And the follow command doesn't show this, too:
dpkg -s linux-image-4.9.0-13-amd64
Thanks
My current kernel on ubuntu 20.04 is 5.4.0-58.
# uname -a
Linux mylaptop8 5.4.0-58-generic #64-Ubuntu SMP Wed Dec 9 08:16:25 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
then the date is december the 9th. If I download the changelog I should have some clue about the date:
# apt-get changelog linux-image-5.4.0-58-generic | cat | head -n6
downloading :1 https://changelogs.ubuntu.com linux-signed 5.4.0-58.64 Changelog [90,7 kB]
linux-signed (5.4.0-58.64) focal; urgency=medium
* Master version: 5.4.0-58.64
-- Khalid Elmously <khalid.elmously#canonical.com> Wed, 09 Dec 2020 02:30:56 -0500

Cross-compile to ARMv7 failed

I try to compile a go program on my Linux desktop (Linux desktop 4.10.0-28-generic #32-Ubuntu SMP Fri Jun 30 05:32:18 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux), go version go version go1.8.3 linux/amd64 to arm:
$ GOPATH=/home/xrfang/git/hermes/ GOARM=7 GOARCH=arm go build .
the executable is generated, but seems NOT ARMv7:
$ file hermes
hermes: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, not stripped
It shows EABI5. How can I cross-compile to ARMv7? Is there anything missing on my Linux Desktop so that the cross-compile fallback to a lower ARM version?
Thanks.
I believe, it is not ARMv5. I was trying to do the same on MAC OS and 'file' command on Mac is saying v7, but the 'file' command on Linux don't. However, I do know that v7 has some good improvements and may boost the performance of your program.
But, that is out of scope of this question and you may need to dig deeper into what you're doing and why a performance improvement is expected.
All I can say is, it is compiled for v7.

Which version of oracle instant client should I download for my linux

My linux info:
Linux cubietruck-plus 3.4.39 #7 SMP PREEMPT Tue Mar 1 09:34:33 CST 2016 armv7l armv7l armv7l GNU/Linux
Which instant client should I download here http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
None of the listed ones:
Your arch is ARM based, and oracle doesn't provide ARM binaries.
There is a long shot, of using qemu to emultate x86 and run the client, but I've never tired it.

How to find if my Amazon EC2 instance is 32 bit or 64 bit?

I am newbie to this and this may be very easy question but I am running a Amazon EC2 instance and I don't know if my running instance is 32 bit or 64 bit.
My Question
Is there any way to find if my instance is 32 bit or 64 bit?
This should work for any linux instance. On the terminal type the following command:
> uname -a
Linux domU-XX-XX-XX-XX-XX-XX 3.2.20-1.29.6.amzn1.i686
#1 SMP Tue Jun 12 01:20:33 UTC 2012 i686 i686 i386 GNU/Linux
That last "i386" indicates that it's 32-bit; "x86_64" indicates 64-bit.
Alternative:
uname -m
-m, --machine
print the machine hardware name
e.g.
$ uname -m
x86_64

Changes required in makefile of project run on 64 bit system to 32 bit system

What changes would be required in Makefile of 64 bit system so that it can be build on 32 bit system.
On 64 bit server :
bash-3.2$ uname -a
2.6.18-128.el5 #1 SMP Wed Dec 17 11:41:38 EST 2008 x86_64 x86_64 x86_64 GNU/Linux
On 32 bit server:
[root#localhost ~]# uname -a
Linux localhost.localdomain 2.6.32-100.34.1.el6uek.i686 #1 SMP Wed May 25 17:28:36 EDT 2011 i686 i686 i386 GNU/Linux
On make error is displayed as:
usr/bin/ld: i386:x86-64 architecture of input file `./lib/libxml2.a(parser.o)' is incompatible with i386 output
By the error there, it sounds like you're trying to use a 64-bit .o file... Is parser.o something that you're compiling yourself?

Resources