binfmt_misc/qemu-user-static misc

Install Refer to 

Qemu2.x user mode/Ubuntu18 for Chroot/ARM qemu-user-static/CONFIG_BINFMT_MISC/Ubuntu/ARM/Rootfs

https://blog.csdn.net/hushui/article/details/103791704 

Qemu4 user mode source build/static for Chroot/ARM rootfs on Ubuntu18

https://blog.csdn.net/hushui/article/details/103806109

###  normal build with full Linux system emulation 
./configure  --target-list=aarch64-softmmu,arm-softmmu,x86_64-softmmu,i386-softmmu,aarch64-linux-user,arm-linux-user,i386-linux-user,x86_64-linux-user  --enable-debug   --enable-gtk --enable-vnc --prefix=$HOME/usr  --disable-user
 
###  qemu-user-static build for arm/aarch64 only 
./configure  --target-list=aarch64-linux-user,arm-linux-user  --enable-debug   --enable-gtk --enable-vnc --prefix=$HOME/usr    --static  --disable-system    --enable-linux-user

On Centos7/RHEL7   qemu-user-static(v4.2) are built from source. (Refer to https://blog.csdn.net/hushui/article/details/103806109

Note for Centos7/RHEL7 , static lib files are needed!

 yum install gtk2-devel   glib2-static   
  yum install glibc-static libtool 
 yum install zlib-static 
 yum install    libstdc++-static  
 yum install pcre-static 

--disable-guest-agent if Centos misses some pixman static lib 

[lake@lake_centos7 qemu-4.2.0]$  ./configure  --target-list=aarch64-linux-user,arm-linux-user  --enable-debug  --prefix=$HOME/usr    --static  --disable-system    --enable-linux-user     --disable-guest-agent

Qemu/static build/old way 
 

../configure --disable-bsd-user --disable-guest-agent --disable-strip --disable-werror --disable-gcrypt --disable-debug-info --disable-debug-tcg --enable-docs --disable-tcg-interpreter --enable-attr --disable-brlapi --disable-linux-aio --disable-bzip2 --disable-bluez --disable-cap-ng --disable-curl --disable-fdt --disable-glusterfs --disable-gnutls --disable-nettle --disable-gtk --disable-rdma --disable-libiscsi --disable-vnc-jpeg --disable-kvm --disable-lzo --disable-curses --disable-libnfs --disable-numa --disable-opengl --disable-vnc-png --disable-rbd --disable-vnc-sasl --disable-sdl --disable-seccomp --disable-smartcard --disable-snappy --disable-spice --disable-libssh2 --disable-libusb --disable-usb-redir --disable-vde --disable-vhost-net --disable-virglrenderer --disable-virtfs --disable-vnc --disable-vte --disable-xen --disable-xen-pci-passthrough --disable-xfsctl --enable-linux-user --disable-system --disable-blobs --disable-tools --target-list=arm-linux-user --static --disable-pie

> qemu-arm version 4.2.0

 

1. Enable/disable by /proc/sys/fs/binfmt_misc/status

 

[root@lake_centos7 nfs]# ls /proc/sys/fs/binfmt_misc/
register  status
[root@lake_centos7 nfs]# cat /proc/sys/fs/binfmt_misc/status
enabled
[root@lake_centos7 nfs]# cat /proc/sys/fs/binfmt_misc/register
cat: /proc/sys/fs/binfmt_misc/register: Invalid argument

 

Try  qemu-aarch64   


###  2.1 qemu-aarch64


[root@lake_centos7 nfs]# 
 

echo ":qemu-aarch64:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-aarch64:" >/proc/sys/fs/binfmt_misc/register

 

 

[root@lake_centos7 nfs]# ls -l  /proc/sys/fs/binfmt_misc/
total 0
-rw-r--r-- 1 root root 0 Jul 17 01:33 qemu-aarch64
--w------- 1 root root 0 Jul 17 01:33 register
-rw-r--r-- 1 root root 0 Jul 17 01:32 status
[root@lake_centos7 nfs]# cat  /proc/sys/fs/binfmt_misc/qemu-aarch64
enabled
interpreter /usr/bin/qemu-aarch64
flags:
offset 0
magic 7f454c460201010000000000000000000200b700
mask ffffffffffffff00fffffffffffffffffeffffff
[root@lake_centos7 nfs]#


echo 0 > /proc/sys/fs/binfmt_misc/<name>    # Disable the match
echo 1 > /proc/sys/fs/binfmt_misc/<name>    # Enable the match
echo -1 > /proc/sys/fs/binfmt_misc/<name>   # Delete the match


[root@lake_centos7 nfs]# echo 0 > /proc/sys/fs/binfmt_misc/qemu-aarch64
[root@lake_centos7 nfs]# cat  /proc/sys/fs/binfmt_misc/qemu-aarch64
disabled
interpreter /usr/bin/qemu-aarch64
flags:
offset 0
magic 7f454c460201010000000000000000000200b700
mask ffffffffffffff00fffffffffffffffffeffffff
[root@lake_centos7 nfs]# echo -1  > /proc/sys/fs/binfmt_misc/qemu-aarch64
[root@lake_centos7 nfs]# cat  /proc/sys/fs/binfmt_misc/qemu-aarch64
cat: /proc/sys/fs/binfmt_misc/qemu-aarch64: No such file or directory
[root@lake_centos7 nfs]# ls -l   /proc/sys/fs/binfmt_misc
total 0
--w------- 1 root root 0 Jul 17 01:33 register
-rw-r--r-- 1 root root 0 Jul 17 01:32 status
[root@lake_centos7 nfs]#

2.2 qemu-arm


[root@lake_centos7 nfs]#

echo   ':arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm:' >/proc/sys/fs/binfmt_misc/register


[root@lake_centos7 nfs]#
###################  Name 

echo ':arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-wrapper:' > /proc/sys/fs/binfmt_misc/register
==>   /proc/sys/fs/binfmt_misc/arm
 
echo ':qemu-arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm:' > /proc/sys/fs/binfmt_misc/register
==>   /proc/sys/fs/binfmt_misc/qemu-arm

#####################

[root@lake_centos7 nfs]#
[root@lake_centos7 nfs]# cat  /proc/sys/fs/binfmt_misc/qemu-arm
enabled
interpreter /usr/bin/qemu-arm
flags:
offset 0
magic 7f454c4601010100000000000000000002002800
mask ffffffffffffff00fffffffffffffffffeffffff
[root@lake_centos7 nfs]# sudo echo ":qemu-aarch64:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-aarch64:" > /proc/sys/fs/binfmt_misc/register
[root@lake_centos7 nfs]# ls -l     /proc/sys/fs/binfmt_misc/
total 0
-rw-r--r-- 1 root root 0 Jul 17 01:38 qemu-aarch64
-rw-r--r-- 1 root root 0 Jul 17 01:37 qemu-arm
--w------- 1 root root 0 Jul 17 01:38 register
-rw-r--r-- 1 root root 0 Jul 17 01:32 status
[root@lake_centos7 nfs]#

 

 

4.  Mount Ubuntu ARM ROOTFS on Intel X86_64 

 

Refer to https://blog.csdn.net/hushui/article/details/103791704 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值