On 2016-04-27 14:09, Chanho Park wrote:
Hi Peter,
On Wednesday, April 27, 2016, Peter Robinson <pbrobinson(a)gmail.com>
wrote:
> On Wed, Apr 27, 2016 at 1:18 PM, Chanho Park <parkch98(a)gmail.com>
> wrote:
>> Hi all,
>>
>> I want to use the armhf fedora rootfs on the aarch64 bit kernel.
>
> You can't, it's not a use case we support.
Why not? All arm binaries can be runnable on aarch32 mode of aarch64
kernel.
>> When I ran the dnf command on the armhf image with aarch64 kernel,
> the
>> dnf command was failed with below error.
>>
>> dnf -v install mesa
>> cachedir: /var/cache/dnf
>> DNF version: 1.1.6
>> Failed to synchronize cache for repo 'rpmfusion-free-updates' from
>>
>
'http://mirrors.rpmfusion.org/mirrorlist?repo=free-fedora-updates-released-22&arch=aarch64':
>> Cannot prepare internal mirrorlist: No URLs in mirrorlist,
> disabling.
>> repo: using cache for: fedora
>> not found updateinfo for: Fedora 22 - aarch64
>> repo: using cache for: updates
>> not found deltainfo for: Fedora 22 - aarch64 - Updates
>> not found updateinfo for: Fedora 22 - aarch64 - Updates
>>
>> Actually, armhf binaries/rootfs can be executed even aarch64
>> kernel(fully compatible with armhf).
>> Maybe the dnf command tries to find its repo from uname call.
>> $ uname -m
>> aarch64
>>
>> The rpm install was also failed because fedora doesn't have any
> rpm
>> platform file
>> So, I added below file. It is able to install armhf rpm file even
>> aarch64 kernel.
>>
>> cat /etc/rpm/platform
>> armv7hl-fedora-linux-gnu
>>
>> The question is 'how can I run 'dnf' command on armhf fedora with
>> aarch64 kernel?'
>
> No, the ARMv7 and aarch64 ABI aren't compatible, the only way we
> support ARMv7 on aarch64 is via virtualisation. We will not be
> supporting this or a "multilib" usecase.
The aarch64 kernel can execute both aarch64 and aarch32(fully
compatible armv7) binaries. For example, the kernel of raspberry pi 3
is aarch64 and fedora arm version can't run on rpi3. Even all binaries
can run on it but only dnf command can't do that.
I can confirm that armv7hl (and armv5tel) userspace DOES work in
a chroot on aarch64 provided you use a sensible kernel (specifically
meaning that it uses 4KB memory pages rather than 64KB memory pages).
I am running CentOS 7 armv7hl in a chroot and LXC/docker containers
on CentOS 7 aarch64 (with aarch64 kernel configured for 4KB pages
and backward compatibility enabled).
So if the above doesn't work (with /etc/rpm/platform configured),
it has to be considered a bug.
Gordan