juanluisbaptiste / docker-brew-mageia

Scripts and files to create Mageia official docker base images.
GNU General Public License v2.0
10 stars 12 forks source link

Add support for ARM architectures #12

Closed odidev closed 5 years ago

odidev commented 6 years ago

This is in continuation to Ticket id #10. That ticket has too much conversation related to various things, so I have opened this fresh ticket.

I have Mageia working for me over arm64v8 and I have created a rootfs required for arm64v8.

Please let m know what needs to be done to raise a PR for this repository. I can also provide build and run logs if required for confirmation.

Regards,

odidev commented 6 years ago

ping @juanluisbaptiste @Conan-Kudo

Hi, Can you please tell me where can I upload rootfs for arm64v8 to enable support of mageia over arm64v8.

Regards,

Conan-Kudo commented 6 years ago

@odidev It has to be built by a member of Mageia.org verified to submit to Docker Hub. At this point, that is only @juanluisbaptiste. I still need to improve our tooling so that it's easy to produce alt-arch rootfses.

odidev commented 6 years ago

Thanks, @Conan-Kudo for providing the information.

Does this mean that I can't push my rootfs for Mageia?

Conan-Kudo commented 6 years ago

Correct.

odidev commented 6 years ago

Oops... This is really a bad news :disappointed:

Is there any other option by which we can see arm64v8 in the official list of Mageia?

Regards,

Conan-Kudo commented 6 years ago

@odidev I'm working on updating our tooling for producing AArch64 base images, and @juanluisbaptiste mentioned we'll soon have a process for regularly releasing updates to the Cauldron base image.

juanluisbaptiste commented 6 years ago

Yes, but I have been busy to dedicate some time to this. I'll try to work on this this weekend.

lag-linaro commented 5 years ago

@juanluisbaptiste great to see that this is on your radar.

Would you be kind enough to provide an update on your progress please?

juanluisbaptiste commented 5 years ago

@lag-linaro I'm not working on the arm64v8 feature, that's @Conan-Kudo . I'm working on automating a cauldron build.

lag-linaro commented 5 years ago

@juanluisbaptiste ah yes, I see. Thank you.

@Conan-Kudo would you be kind enough to share an update please?

lag-linaro commented 5 years ago

@Conan-Kudo how are your tooling updates coming along?

Conan-Kudo commented 5 years ago

I think I've nearly got it, I'm just doing some testing to make sure that I do the right thing for AArch64-on-x86_64, since most people will be producing those images that way...

lag-linaro commented 5 years ago

@Conan-Kudo great work. Thank you.

Please let me know when I can test it.

odidev commented 5 years ago

Hey @Conan-Kudo

Any update at your end regarding?

Regards,

lag-linaro commented 5 years ago

The suspense is killing me. :smiley:

Conan-Kudo commented 5 years ago

@odidev @lag-linaro Check out #13. 🎉

juanluisbaptiste commented 5 years ago

I don't know why github decided this was finished but we are still missing the image update. Keeping it open until I can do it, hopefully before I go on vacations at the end of next week.

lag-linaro commented 5 years ago

I don't know why github decided this was finished

Because of the Fixes #12 tag in the merged #13 PR.

hopefully before I go on vacations at the end of next week

That would be great. Thanks.

lag-linaro commented 5 years ago

Please remember to also update Docker's Official Images library file for Mageia:

https://github.com/docker-library/official-images/blob/master/library/mageia

Hint: You need to add the Architectures: tag.

See: https://github.com/docker-library/official-images#multiple-architectures for reference.

juanluisbaptiste commented 5 years ago

Hi,

I'm starting to work on this now. As I have mentioned before, I've been working on a script to automate part of the build and docker image creation process, so first I need to update it to support multiarch builds. too.

After that is ready I will push a new image and open a PR on the official images library repo to update the official images.

juanluisbaptiste commented 5 years ago

@Conan-Kudo Do you have an example of how to build an arm64v8 with mkimage-dnf.sh ? I see that additional to -a to set the buildarch, the mirror (-m) also needs to be set, using this command complains about missing gpg key for the specified mirror (after removing --quiet from dnf command):

mkimage-dnf.sh --rootfs=/code/6/ --version=6 -a armv7hl --mirror=http://distro.ibiblio.org/pub/linux/distributions/mageia/distrib/6/armv7hl

dnf '--disablerepo=*' --repofrompath=mgarel,http://distro.ibiblio.org/pub/linux/distributions/mageia/distrib/6/armv7hl/media/core/release/ --repofrompath=mgaup,http://distro.ibiblio.org/pub/linux/distributions/mageia/distrib/6/armv7hl/media/core/updates/ --enablerepo=mgarel --enablerepo=mgaup --forcearch=armv7hl --installroot=/code/6///rootfs --releasever=6 --setopt=install_weak_deps=False --nodocs --assumeyes install basesystem-minimal dnf urpmi locales locales-en
Added mgaup repo from http://distro.ibiblio.org/pub/linux/distributions/mageia/distrib/6/armv7hl/media/core/updates/
Added mgarel repo from http://distro.ibiblio.org/pub/linux/distributions/mageia/distrib/6/armv7hl/media/core/release/

You have enabled checking of packages via GPG keys. This is a good thing.
However, you do not have any GPG public keys installed. You need to download
the keys for packages you wish to install and install them.
You can do that by running the command:
    rpm --import public.gpg.key

Alternatively you can specify the url to the key you would like to use
for a repository in the 'gpgkey' option in a repository section and DNF
will install it for you.

Also I see this issue is about an armv8 build but I only see armv5tl and armv7hl mirrors, @odidev maybe you meant v7 ?

odidev commented 5 years ago

@juanluisbaptiste: Thanks for making progress in this aspect. I meant arm64v8 architecture.

Conan-Kudo commented 5 years ago

64-bit ARM is aarch64. This is new to Mageia 7.

32-bit ARM for Mageia is armv7hl, which we've had since Mageia 6.

odidev commented 5 years ago

aarch64 mirrors are present for Cauldron at the link http://mirrors.kernel.org/mageia/distrib/cauldron/aarch64/

Please have a look, may be it can be quite decisive.

Regards,

juanluisbaptiste commented 5 years ago

@Conan-Kudo

64-bit ARM is aarch64. This is new to Mageia 7.

This means we can't have an arm64v8 release until mageia 7 is released ?

Conan-Kudo commented 5 years ago

@juanluisbaptiste The Mageia GPG key expired and was extended: https://bugs.mageia.org/show_bug.cgi?id=24106

You may need to fetch and manually import this into the RPM GPG on your computer first.

Conan-Kudo commented 5 years ago

@Conan-Kudo

64-bit ARM is aarch64. This is new to Mageia 7.

This means we can't have an arm64v8 release until mageia 7 is released ?

If you're making Cauldron container images, we can have aarch64 images for Cauldron, but otherwise, pretty much.

juanluisbaptiste commented 5 years ago

@Conan-Kudo

AFAIK, we should have only stable releases on mageia docker hub, also it would not be possible to automate cauldron builds there as to add an updated image a PR needs to be opened and verified by docker library team members each time.

So we could have the cauldron builds on juanluisbaptiste/mageia:latest and also put the aarch64 there too.

WDYT ?

juanluisbaptiste commented 5 years ago

But we could still add armv7hl for mageia 6 if we need to of course.

Conan-Kudo commented 5 years ago

Sounds good to me, though we could have semi-regular snapshot pushes for Cauldron on the official mageia one, couldn't we?

juanluisbaptiste commented 5 years ago

@Conan-Kudo Yes, with the main idea of the build2relase script is to automate image compilation and git branch preparation (up to commit and push if needed) for a new release. Having that working then a semi-regular snapshot will be easier to prepare for an official release.

juanluisbaptiste commented 5 years ago

@Conan-Kudo can you point me to the instructions on how to build an arm image ? to be honest I think I'm not doing it right, I'm running mageia 6 on a docker container and inside it mkimage-dnf.sh, which works fine for x86_64, but for any other arch I get this error from mkimage-dnf.sh:

dnf '--disablerepo=*' --enablerepo=mageia-armv7hl --enablerepo=updates-armv7hl --forcearch=armv7hl --installroot=/code/6///rootfs --releasever=6 --setopt=install_weak_deps=False --nodocs --assumeyes install basesystem-minimal dnf urpmi locales locales-en
Error: Unknown repo: 'mageia-armv7hl'
Conan-Kudo commented 5 years ago

Hmm, this worked for me:

[root@mgacauldron-dev machines]# dnf --nogpgcheck '--disablerepo=*' --repofrompath=mageia-armv7hl,http://mirrors.kernel.org/mageia/distrib/6/armv7hl/media/core/release/ --repofrompath=updates-armv7hl,http://mirrors.kernel.org/mageia/distrib/6/armv7hl/media/core/updates/ --enablerepo=mageia-armv7hl --enablerepo=updates-armv7hl --forcearch=armv7hl --installroot=/var/lib/machines/mgaarmv7hl/ --releasever=6 --setopt=install_weak_deps=False --nodocs install basesystem-minimal dnf urpmi locales locales-en
Added mageia-armv7hl repo from http://mirrors.kernel.org/mageia/distrib/6/armv7hl/media/core/release/
Added updates-armv7hl repo from http://mirrors.kernel.org/mageia/distrib/6/armv7hl/media/core/updates/
Last metadata expiration check: 0:00:29 ago on Wed 16 Jan 2019 11:42:09 PM EST.
Dependencies resolved.
================================================================================
 Package                 Arch    Version                  Repository       Size
================================================================================
Installing:
 basesystem-minimal      armv7hl 1:6-0.4.mga6             mageia-armv7hl  7.9 k
 dnf                     noarch  2.7.5-1.mga6             updates-armv7hl 283 k
 locales                 armv7hl 2.22-7.mga6              updates-armv7hl 241 k
 locales-en              armv7hl 2.22-7.mga6              updates-armv7hl 160 k
 urpmi                   noarch  8.110-2.mga6             mageia-armv7hl  654 k
Installing dependencies:
 aria2                   armv7hl 1.25.0-1.1.mga6          updates-armv7hl 919 k
 bash                    armv7hl 4.3-48.3.mga6            mageia-armv7hl  976 k
 bzip2                   armv7hl 1.0.6-10.mga6            mageia-armv7hl   66 k
 chkconfig               armv7hl 1.10-1.mga6              mageia-armv7hl  144 k
 common-licenses         noarch  1.1-8.mga6               mageia-armv7hl   46 k
 coreutils               armv7hl 8.25-3.1.mga6            updates-armv7hl 2.0 M
 cpio                    armv7hl 2.12-3.mga6              mageia-armv7hl  202 k
 cracklib-dicts          armv7hl 2.9.6-5.mga6             mageia-armv7hl  3.5 M
 cronie                  armv7hl 1.5.1-1.mga6             mageia-armv7hl   79 k
 crontabs                noarch  1.10-22.mga6             mageia-armv7hl  8.0 k
 dash-static             armv7hl 0.5.9-1.mga6             mageia-armv7hl   55 k
 dbus                    armv7hl 1.10.16-1.mga6           mageia-armv7hl  172 k
 deltarpm                armv7hl 3.6.1-2.mga6             mageia-armv7hl  212 k
 diffutils               armv7hl 3.3-6.mga6               mageia-armv7hl  237 k
 dmsetup                 armv7hl 1.02.137-1.mga6          mageia-armv7hl   95 k
 dnf-conf                noarch  2.7.5-1.mga6             updates-armv7hl  30 k
 e2fsprogs               armv7hl 1.43.4-1.mga6            mageia-armv7hl  897 k
 elfutils                armv7hl 0.169-1.mga6             mageia-armv7hl  509 k
 etcskel                 noarch  1.63-34.mga6             mageia-armv7hl  8.1 k
 ethtool                 armv7hl 1:4.8-1.mga6             mageia-armv7hl   94 k
 file                    armv7hl 5.25-5.1.mga6            updates-armv7hl 357 k
 filesystem              armv7hl 2.1.9-28.mga6            mageia-armv7hl   15 k
 findutils               armv7hl 4.6.0-1.mga6             mageia-armv7hl  428 k
 gawk                    armv7hl 4.1.4-1.mga6             mageia-armv7hl  847 k
 genhdlist2              noarch  7.00-6.mga6              mageia-armv7hl   16 k
 gettext-base            armv7hl 0.19.8.1-1.1.mga6        updates-armv7hl 454 k
 glibc                   armv7hl 6:2.22-29.mga6           updates-armv7hl 3.3 M
 gnupg2                  armv7hl 2.1.21-3.1.mga6          updates-armv7hl 2.1 M
 grep                    armv7hl 3.0-1.mga6               mageia-armv7hl  173 k
 gzip                    armv7hl 1.8-1.mga6               mageia-armv7hl  110 k
 hawkey-man              noarch  0.11.1-1.mga6            updates-armv7hl  23 k
 hostname                armv7hl 3.18-1.mga6              mageia-armv7hl   23 k
 icu58-data              noarch  1:58.2-3.2.mga6          updates-armv7hl 6.1 M
 ifmetric                armv7hl 0.3-17.mga6              mageia-armv7hl   12 k
 ifplugd                 armv7hl 0.28-20.mga6             mageia-armv7hl   43 k
 info-install            armv7hl 6.1-1.mga6               mageia-armv7hl   28 k
 initscripts             armv7hl 9.55-24.mga6             mageia-armv7hl  1.0 M
 iproute2                armv7hl 4.14.1-1.mga6            updates-armv7hl 596 k
 iputils                 armv7hl 20161105-2.mga6          mageia-armv7hl  120 k
 kbd                     armv7hl 2.0.3-1.mga6             mageia-armv7hl  1.6 M
 kmod                    armv7hl 24-2.mga6                mageia-armv7hl   88 k
 krb5                    armv7hl 1.15.1-2.4.mga6          updates-armv7hl  32 k
 less                    armv7hl 487-1.mga6               mageia-armv7hl  160 k
 libacl1                 armv7hl 2.2.52-7.mga6            mageia-armv7hl   54 k
 libarchive13            armv7hl 3.3.1-1.4.mga6           updates-armv7hl 257 k
 libassuan0              armv7hl 2.4.3-1.mga6             mageia-armv7hl   32 k
 libattr1                armv7hl 2.4.47-7.mga6            mageia-armv7hl   25 k
 libaudit1               armv7hl 2.7.7-1.mga6             mageia-armv7hl   39 k
 libblkid1               armv7hl 2.28.2-2.1.mga6          updates-armv7hl  92 k
 libbzip2_1              armv7hl 1.0.6-10.mga6            mageia-armv7hl   33 k
 libcap-ng0              armv7hl 0.7.8-1.mga6             mageia-armv7hl   23 k
 libcap2                 armv7hl 2.25-1.mga6              mageia-armv7hl   25 k
 libcares2               armv7hl 1.13.0-1.mga6            mageia-armv7hl   34 k
 libcomps0               armv7hl 0.1.8-2.mga6             mageia-armv7hl   55 k
 libcrack2               armv7hl 2.9.6-5.mga6             mageia-armv7hl   18 k
 libcryptsetup4          armv7hl 1.7.5-1.mga6             mageia-armv7hl   65 k
 libcurl4                armv7hl 1:7.54.1-2.7.mga6        updates-armv7hl 182 k
 libdaemon0              armv7hl 0.14-10.mga6             mageia-armv7hl   15 k
 libdb5.3                armv7hl 5.3.28-10.1.mga6         updates-armv7hl 557 k
 libdbnss5.3             armv7hl 5.3.28-10.1.mga6         updates-armv7hl 391 k
 libdbus1_3              armv7hl 1.10.16-1.mga6           mageia-armv7hl  103 k
 libdevmapper-event1.02  armv7hl 1.02.137-1.mga6          mageia-armv7hl   17 k
 libdevmapper1.02        armv7hl 1.02.137-1.mga6          mageia-armv7hl  126 k
 libdnf1                 armv7hl 0.11.1-1.mga6            updates-armv7hl  95 k
 libelfutils1            armv7hl 0.169-1.mga6             mageia-armv7hl   45 k
 libexpat1               armv7hl 2.2.1-1.mga6             mageia-armv7hl   50 k
 libext2fs2              armv7hl 1.43.4-1.mga6            mageia-armv7hl  154 k
 libfdisk1               armv7hl 2.28.2-2.1.mga6          updates-armv7hl 116 k
 libffi6                 armv7hl 3.2.1-5.mga6             mageia-armv7hl   28 k
 libfuse2                armv7hl 2.9.7-1.mga6             mageia-armv7hl   64 k
 libgcc1                 armv7hl 5.5.0-1.mga6             updates-armv7hl  77 k
 libgcrypt20             armv7hl 1.7.10-1.mga6            updates-armv7hl 345 k
 libgdbm4                armv7hl 1.12-1.mga6              mageia-armv7hl   33 k
 libgio2.0_0             armv7hl 2.54.3-1.2.mga6          updates-armv7hl 436 k
 libglib2.0_0            armv7hl 2.54.3-1.2.mga6          updates-armv7hl 424 k
 libgmp10                armv7hl 6.1.2-1.mga6             mageia-armv7hl  187 k
 libgnutls30             armv7hl 3.5.13-1.1.mga6          updates-armv7hl 440 k
 libgpg-error-common     noarch  1.24-1.mga6              mageia-armv7hl   76 k
 libgpg-error0           armv7hl 1.24-1.mga6              mageia-armv7hl   33 k
 libgpgme11              armv7hl 1.8.0-11.mga6            mageia-armv7hl  104 k
 libhogweed4             armv7hl 1:3.4.1-1.mga6           updates-armv7hl 246 k
 libicu58                armv7hl 1:58.2-3.2.mga6          updates-armv7hl 1.2 M
 libidn11                armv7hl 1.33-1.1.mga6            updates-armv7hl  84 k
 libintl8                armv7hl 0.19.8.1-1.1.mga6        updates-armv7hl  72 k
 libkmod2                armv7hl 24-2.mga6                mageia-armv7hl   39 k
 libkrb53                armv7hl 1.15.1-2.4.mga6          updates-armv7hl 502 k
 libksba8                armv7hl 1.3.5-1.mga6             mageia-armv7hl   75 k
 libldap2.4_2            armv7hl 2.4.45-2.mga6            mageia-armv7hl  152 k
 liblockdev1             armv7hl 1.0.4-0.120111007git.12.mga6
                                                          mageia-armv7hl   18 k
 liblua5.2               armv7hl 5.2.4-1.mga6             mageia-armv7hl   72 k
 liblzma5                armv7hl 5.2.3-1.mga6             mageia-armv7hl   95 k
 libmagic1               armv7hl 5.25-5.1.mga6            updates-armv7hl  57 k
 libmicrohttpd12         armv7hl 0.9.55-1.mga6            mageia-armv7hl   88 k
 libmount1               armv7hl 2.28.2-2.1.mga6          updates-armv7hl  98 k
 libncurses6             armv7hl 6.0-8.3.mga6             updates-armv7hl 179 k
 libncursesw6            armv7hl 6.0-8.3.mga6             updates-armv7hl 139 k
 libnettle6              armv7hl 1:3.4.1-1.mga6           updates-armv7hl 246 k
 libnghttp2_14           armv7hl 1.9.2-1.mga6             mageia-armv7hl   53 k
 libnpth0                armv7hl 1.5-1.mga6               mageia-armv7hl   21 k
 libnspr4                armv7hl 2:4.20-1.mga6            updates-armv7hl  94 k
 libnss3                 armv7hl 2:3.36.6-1.1.mga6        updates-armv7hl 896 k
 libopenssl-engines1.0.0 armv7hl 1.0.2q-1.mga6            updates-armv7hl  80 k
 libopenssl1.0.0         armv7hl 1.0.2q-1.mga6            updates-armv7hl 703 k
 libp11-kit0             armv7hl 0.23.2-2.mga6            mageia-armv7hl   98 k
 libpam0                 armv7hl 1.3.0-5.mga6             mageia-armv7hl  183 k
 libpam_userpass1        armv7hl 1.0.2-13.mga6            mageia-armv7hl   13 k
 libpcre1                armv7hl 8.41-1.mga6              updates-armv7hl 135 k
 libpopt0                armv7hl 1:1.16-13.mga6           mageia-armv7hl   27 k
 libprocps6              armv7hl 3.3.12-1.mga6            mageia-armv7hl   41 k
 libpython2.7            armv7hl 2.7.15-1.1.mga6          updates-armv7hl 475 k
 libpython2.7-stdlib     armv7hl 2.7.15-1.1.mga6          updates-armv7hl 3.8 M
 libpython3.5            armv7hl 3.5.3-1.4.mga6           updates-armv7hl 688 k
 libpython3.5-stdlib     armv7hl 3.5.3-1.4.mga6           updates-armv7hl 5.4 M
 libqrencode3            armv7hl 3.4.4-5.mga6             mageia-armv7hl  142 k
 libreadline6            armv7hl 6.3-9.mga6               mageia-armv7hl   99 k
 librepo0                armv7hl 1.7.20-2.mga6            mageia-armv7hl   56 k
 librpm7                 armv7hl 1:4.13.1-3.2.mga6        updates-armv7hl 213 k
 librpmbuild7            armv7hl 1:4.13.1-3.2.mga6        updates-armv7hl  68 k
 librpmsign7             armv7hl 1:4.13.1-3.2.mga6        updates-armv7hl  24 k
 libsasl2_3              armv7hl 2.1.26-12.mga6           mageia-armv7hl   48 k
 libsecret-i18n          noarch  0.18.5-2.mga6            mageia-armv7hl   30 k
 libsecret-tools         armv7hl 0.18.5-2.mga6            mageia-armv7hl   15 k
 libsecret1_0            armv7hl 0.18.5-2.mga6            mageia-armv7hl   84 k
 libsigsegv2             armv7hl 2.10-7.mga6              mageia-armv7hl   25 k
 libsmartcols1           armv7hl 2.28.2-2.1.mga6          updates-armv7hl  55 k
 libsolv-tools           armv7hl 0.6.30-1.mga6            updates-armv7hl  85 k
 libsolv0                armv7hl 0.6.30-1.mga6            updates-armv7hl 288 k
 libsqlite3_0            armv7hl 3.25.3-1.mga6            updates-armv7hl 418 k
 libssh2_1               armv7hl 1.7.0-2.mga6             mageia-armv7hl  116 k
 libstdc++6              armv7hl 5.5.0-1.mga6             updates-armv7hl 304 k
 libsystemd0             armv7hl 230-12.3.mga6            updates-armv7hl 190 k
 libtasn1_6              armv7hl 4.13-1.mga6              updates-armv7hl  33 k
 libtcb0                 armv7hl 1.1-7.mga6               mageia-armv7hl   16 k
 libudev1                armv7hl 230-12.3.mga6            updates-armv7hl  55 k
 libunistring2           armv7hl 0.9.7-1.mga6             mageia-armv7hl  342 k
 libusb1.0_0             armv7hl 1.0.21-1.mga6            mageia-armv7hl   56 k
 libuser                 armv7hl 0.62-8.2.mga6            updates-armv7hl 275 k
 libuser1                armv7hl 0.62-8.2.mga6            updates-armv7hl  43 k
 libutempter             armv7hl 1.1.6-5.mga6             mageia-armv7hl   22 k
 libuuid1                armv7hl 2.28.2-2.1.mga6          updates-armv7hl  17 k
 libverto1               armv7hl 0.2.6-6.mga6             mageia-armv7hl   15 k
 libxml2_2               armv7hl 2.9.7-1.mga6             updates-armv7hl 455 k
 libzlib1                armv7hl 1.2.11-4.1.mga6          updates-armv7hl  55 k
 lockdev                 armv7hl 1.0.4-0.120111007git.12.mga6
                                                          mageia-armv7hl   11 k
 logrotate               armv7hl 3.12.2-1.mga6            mageia-armv7hl   56 k
 lsb-release             noarch  2.0-52.mga6              mageia-armv7hl   15 k
 mageia-dnf-conf         noarch  1.0-1.mga6               mageia-armv7hl  6.3 k
 mageia-release-Default  armv7hl 6-4.mga6                 mageia-armv7hl   12 k
 mageia-release-common   armv7hl 6-4.mga6                 mageia-armv7hl   40 k
 mageia-repos            armv7hl 6-1.mga6                 mageia-armv7hl   10 k
 mageia-repos-keys       noarch  6-1.mga6                 mageia-armv7hl  9.3 k
 mageia-repos-pkgprefs   noarch  6-1.mga6                 mageia-armv7hl  8.5 k
 makedev                 noarch  4.4-21.mga6              mageia-armv7hl   61 k
 meta-task               noarch  1:6-3.2.mga6             updates-armv7hl  32 k
 multiarch-utils         noarch  1.0.13-7.mga6            mageia-armv7hl   12 k
 ncurses                 armv7hl 6.0-8.3.mga6             updates-armv7hl 199 k
 net-tools               armv7hl 2.0-0.20150915git.4.mga6 mageia-armv7hl  257 k
 nss                     armv7hl 2:3.36.6-1.1.mga6        updates-armv7hl 2.5 M
 nss-myhostname          armv7hl 230-12.3.mga6            updates-armv7hl 160 k
 nss_tcb                 armv7hl 1.1-7.mga6               mageia-armv7hl  9.8 k
 openldap                armv7hl 2.4.45-2.mga6            mageia-armv7hl   21 k
 p11-kit                 armv7hl 0.23.2-2.mga6            mageia-armv7hl   29 k
 pam                     armv7hl 1.3.0-5.mga6             mageia-armv7hl  277 k
 pam_tcb                 armv7hl 1.1-7.mga6               mageia-armv7hl   22 k
 passwd                  armv7hl 0.79-6.mga6              mageia-armv7hl   84 k
 perl                    armv7hl 2:5.22.3-3.2.mga6        updates-armv7hl 9.7 M
 perl-Config-IniFiles    noarch  2.890.0-2.mga6           mageia-armv7hl   53 k
 perl-File-Sync          armv7hl 0.110.0-17.mga6          mageia-armv7hl   16 k
 perl-Filesys-Df         armv7hl 0.920.0-18.mga6          mageia-armv7hl   20 k
 perl-Locale-gettext     armv7hl 1.50.0-20.mga6           mageia-armv7hl   21 k
 perl-MDK-Common         noarch  1.2.32-2.mga6            mageia-armv7hl   54 k
 perl-MDV-Distribconf    noarch  4.100.0-2.mga6           mageia-armv7hl   18 k
 perl-MDV-Packdrakeng    noarch  1.130.0-3.mga6           mageia-armv7hl   23 k
 perl-Math-Int64         armv7hl 0.540.0-2.mga6           mageia-armv7hl   52 k
 perl-Time-ZoneInfo      noarch  0.300.0-8.mga6           mageia-armv7hl   12 k
 perl-URPM               armv7hl 5.12.2-1.mga6            updates-armv7hl 100 k
 perl-XML-LibXML         armv7hl 2.12.900-1.1.mga6        updates-armv7hl 350 k
 perl-XML-NamespaceSupport
                         noarch  1.110.0-9.mga6           mageia-armv7hl   19 k
 perl-XML-SAX            noarch  0.990.0-9.mga6           mageia-armv7hl   56 k
 perl-XML-SAX-Base       noarch  1.80.0-7.mga6            mageia-armv7hl   31 k
 perl-base               armv7hl 2:5.22.3-3.2.mga6        updates-armv7hl 1.4 M
 pinentry                armv7hl 1.0.0-2.mga6             mageia-armv7hl   72 k
 pkgconfig               armv7hl 0.29.1-3.mga6            mageia-armv7hl   64 k
 popt-data               noarch  1:1.16-13.mga6           mageia-armv7hl   24 k
 procps-ng               armv7hl 3.3.12-1.mga6            mageia-armv7hl  312 k
 psmisc                  armv7hl 22.21-7.mga6             mageia-armv7hl  118 k
 python                  armv7hl 2.7.15-1.1.mga6          updates-armv7hl  20 k
 python-rpm-macros       noarch  3-4.mga6                 mageia-armv7hl  8.5 k
 python2-rpm-macros      noarch  3-4.mga6                 mageia-armv7hl  7.6 k
 python3                 armv7hl 3.5.3-1.4.mga6           updates-armv7hl  20 k
 python3-dnf             noarch  2.7.5-1.mga6             updates-armv7hl 397 k
 python3-gpg             armv7hl 1.8.0-11.mga6            mageia-armv7hl  146 k
 python3-hawkey          armv7hl 0.11.1-1.mga6            updates-armv7hl  45 k
 python3-iniparse        noarch  0.4-14.mga6              mageia-armv7hl   41 k
 python3-libcomps        armv7hl 0.1.8-2.mga6             mageia-armv7hl   37 k
 python3-librepo         armv7hl 1.7.20-2.mga6            mageia-armv7hl   37 k
 python3-pip             noarch  8.0.2-6.mga6             mageia-armv7hl  1.5 M
 python3-pkg-resources   noarch  19.6.2-1.mga6            mageia-armv7hl   96 k
 python3-rpm             armv7hl 1:4.13.1-3.2.mga6        updates-armv7hl  62 k
 python3-rpm-macros      noarch  3-4.mga6                 mageia-armv7hl  7.6 k
 python3-setuptools      noarch  19.6.2-1.mga6            mageia-armv7hl  315 k
 python3-six             noarch  1.10.0-2.mga6            mageia-armv7hl   31 k
 resolvconf              noarch  1.79-1.mga6              mageia-armv7hl   36 k
 rmt                     armv7hl 0.4b46-1.mga6            mageia-armv7hl   22 k
 rootcerts               noarch  1:20181108.00-1.mga6     updates-armv7hl 549 k
 rootfiles               noarch  11.0-14.mga6             mageia-armv7hl   11 k
 rpm                     armv7hl 1:4.13.1-3.2.mga6        updates-armv7hl 505 k
 rpm-helper              noarch  0.24.17-4.mga6           mageia-armv7hl   22 k
 rpm-mageia-setup        armv7hl 2.20.1-1.mga6            updates-armv7hl  14 k
 run-parts               armv7hl 1:4.4-7.mga6             mageia-armv7hl   41 k
 sash                    armv7hl 3.8-6.mga6               mageia-armv7hl  271 k
 sed                     armv7hl 4.2.2-9.mga6             mageia-armv7hl  164 k
 setup                   noarch  2.7.24-1.mga6            mageia-armv7hl  122 k
 shadow-utils            armv7hl 2:4.4-1.2.mga6           updates-armv7hl 959 k
 shared-mime-info        armv7hl 1.8-1.mga6               mageia-armv7hl  291 k
 systemd                 armv7hl 230-12.3.mga6            updates-armv7hl 4.9 M
 systemd-units           armv7hl 230-12.3.mga6            updates-armv7hl 354 k
 tar                     armv7hl 1.31-1.mga6              updates-armv7hl 842 k
 tcb                     armv7hl 1.1-7.mga6               mageia-armv7hl   23 k
 time                    armv7hl 1.7-45.mga6              mageia-armv7hl   20 k
 timezone                armv7hl 6:2017b-1.mga6           mageia-armv7hl  346 k
 traceroute              armv7hl 2.1.0-1.mga6             mageia-armv7hl   40 k
 util-linux              armv7hl 2.28.2-2.1.mga6          updates-armv7hl 1.9 M
 vim-minimal             armv7hl 8.0.388-1.mga6           mageia-armv7hl  293 k
 which                   armv7hl 2.21-3.mga6              mageia-armv7hl   28 k
 xz                      armv7hl 5.2.3-1.mga6             mageia-armv7hl  156 k

Transaction Summary
================================================================================
Install  231 Packages

Total size: 84 M
Total download size: 70 M
Installed size: 347 M
Is this ok [y/N]:

Setting the repos and adding --nogpgcheck seemed to fix it. I'm not sure why this was necessary... @dmach, do you have any idea why?

lag-linaro commented 5 years ago

Any luck with this guys?

When is v7 due for release BTW?

juanluisbaptiste commented 5 years ago

Unfortunately not, I have not been able to build armv7h1 arch. The dnf command posted by @Conan-Kudo fails with lots of errors like this one:

  Running scriptlet: filesystem-2.1.9-28.mga6.armv7hl                                                                                                                                 23/231 
  Installing       : grep-3.0-1.mga6.armv7hl                                                                                                                                          24/231 
  Running scriptlet: glibc-6:2.22-29.mga6.armv7hl                                                                                                                                     25/231 
  Installing       : glibc-6:2.22-29.mga6.armv7hl                                                                                                                                     25/231 
  Running scriptlet: glibc-6:2.22-29.mga6.armv7hl                                                                                                                                     25/231 
warning: %post(glibc-6:2.22-29.mga6.armv7hl) scriptlet failed, exit status 127
Non-fatal POSTIN scriptlet failure in rpm package glibc
Non-fatal POSTIN scriptlet failure in rpm package glibc

And installation fails with this error:

Failed:
  dbus.armv7hl 1.10.16-1.mga6 initscripts.armv7hl 9.55-24.mga6 libutempter.armv7hl 1.1.6-5.mga6 pinentry.armv7hl 1.0.0-2.mga6 rpm.armv7hl 1:4.13.1-3.2.mga6 systemd.armv7hl 230-12.3.mga6

I have tried various mirrors (kernel, ibiblio, distrib-coffee) and the same result.

juanluisbaptiste commented 5 years ago

Any ideas anyone ?

Conan-Kudo commented 5 years ago

Exit code 127 means it couldn't find the command. That means something is actually broken in the repos or in the dependency ordering. Let me look into it a bit more...

Conan-Kudo commented 5 years ago

@juanluisbaptiste The issue was that systemd-binfmt.service wasn't restarted after installing qemu-user-static. Without that, the programs fail to be found or executed. It should work now. 😄

Conan-Kudo commented 5 years ago
[ngompa@mgacauldron-dev ~]$ sudo dnf install qemu-user-static
...
[ngompa@mgacauldron-dev ~]$ sudo systemctl restart systemd-binfmt.service
[ngompa@mgacauldron-dev ~]$ sudo dnf --nogpgcheck '--disablerepo=*' --repofrompath=mageia-armv7hl,http://mirrors.kernel.org/mageia/distrib/6/armv7hl/media/core/release/ --repofrompath=updates-armv7hl,http://mirrors.kernel.org/mageia/distrib/6/armv7hl/media/core/updates/ --enablerepo=mageia-armv7hl --enablerepo=updates-armv7hl --forcearch=armv7hl --installroot=/var/lib/machines/mgaarmv7hl/ --releasever=6 --setopt=install_weak_deps=False --nodocs install basesystem-minimal dnf locales locales-en
...
[ngompa@mgacauldron-dev ~]$ sudo chroot /var/lib/machines/mgaarmv7hl/ uname -a
Linux mgacauldron-dev.home.lan 4.14.30-server-3.mga6 #1 SMP Sun Mar 25 22:29:22 UTC 2018 armv7l armv7l armv7l GNU/Linux
Conan-Kudo commented 5 years ago

@juanluisbaptiste We should now be in a position to be able to build mga6, mga7, and cauldron images for multiple architectures. 😄

Conan-Kudo commented 5 years ago

@juanluisbaptiste Any progress here?

juanluisbaptiste commented 5 years ago

@Conan-Kudo Thanks, I will try to check this out this weekend before the holidays.

juanluisbaptiste commented 5 years ago

I'm sorry on the delay on this. The main issue was that I no longer have a mageia box available so I was doing the image builds inside a mageia docker image. But the armv7 build needs systemd to work, and the current official image does not support systemd, so I had to do a virtualbox install but then I run into lack of space issues with my laptop, then the holidays, etc.

Anyway, today I was able to test the build, and leaving aside this little typo in the mkimage.sh script I was able to locally build the armv7 image.

Now I need to update build2release.sh so it can handle multiple arch's too, then prepare the new armv7 official docker hub build.

Conan-Kudo commented 5 years ago

@juanluisbaptiste The updates to the script I've made will also allow you to use any system that has DNF on the host to produce Mageia containers. So if you have DNF by default (Fedora, Mageia), or can install it (CentOS 7, openSUSE Leap 15, openSUSE Tumbleweed), then it'll work.

juanluisbaptiste commented 5 years ago

@Conan-Kudo I'm on kubuntu now.

juanluisbaptiste commented 5 years ago

Ok the script is ready, now I need to figure out what I need to do to enable this image multiarch build on docker hub.

Conan-Kudo commented 5 years ago

@juanluisbaptiste Aww... But there's a PPA for Ubuntu: https://launchpad.net/~directhex/+archive/ubuntu/mock-dnf

juanluisbaptiste commented 5 years ago

Hi,

I just pushed the armv7hl image, now I need to update the official docker library to add the new architecture.

juanluisbaptiste commented 5 years ago

Here's the official library pull request https://github.com/docker-library/official-images/pull/5886

lag-linaro commented 5 years ago

That's great, but where does that leave AArch64 (ARM64) support?