x86上运行LoongArch的环境

很多朋友只有x86的系统,因为我们上学时代和工作机大部分都x86系统。loongson推出LoongArch指令集后,也想尝尝鲜或者作为一个开发者又不想买新的机器,此时就可以用到我下边为大家介绍的方法。

此处也给大家提供一个debian社区发布的官方的文档:

debian社区发布:LoongArch/sbuildQEMU - Debian Wiki

也可以参考我为大家已经整理好的资料 GitHub - loongson-zn/qemu-debian

如果你翻墙困难,我将整理的readme粘贴到此处:

宿主机环境

架 构:x86_64

系统环境:debian bookworm

具体操作步骤:

  • 安装qemu-user

    root@debian:~# apt install binfmt-support
    root@debian:~# apt build-dep qemu-user-static
    root@debian:~# git clone https://github.com/qemu/qemu.git
    root@debian:~# cd qemu
    root@debian:~/qemu# ./configure --static --disable-system --target-list=loongarch64-linux-user
    root@debian:~/qemu# make
    root@debian:~/qemu# cp build/loongarch64-linux-user/qemu-loongarch64 /usr/bin/qemu-loongarch64-static
    root@debian:~/qemu# cat >/tmp/qemu-loongarch64 <<EOF
    package qemu-user-static
    type magic
    offset 0
    magic \x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02\x01
    mask \xff\xff\xff\xff\xff\xff\xff\xfc\x00\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff
    interpreter /usr/bin/qemu-loongarch64-static
    EOF

    root@debian:~/qemu# update-binfmts --import /tmp/qemu-loongarch64

  • 制作LA最小镜像

    root@debian:~# apt install debootstrap sbuild debian-ports-archive-keyring
    root@debian:~# debootstrap --foreign --arch=loong64 --variant=buildd --include=debian-ports-archive-keyring --verbose --components=main --keyring=/etc/apt/trusted.gpg.d/debian-ports-archive-2023.gpg --resolve-deps --extra-suites=unreleased unstable /srv/chroots/sid-loong64-sbuild/ http://ftp.ports.debian.org/debian-ports
    root@debian:~# cd /srv/chroots/sid-loong64-sbuild/
    root@debian:/srv/chroots/sid-loong64-sbuild# cp /usr/bin/qemu-loongarch64-static usr/bin/
    root@debian:/srv/chroots/sid-loong64-sbuild# chroot .
    I have no name!@loongson01:/# /debootstrap/debootstrap --second-stage

  • 准备gcc编译器(我提供的gcc及qemu是支持lasx及lsx向量的,如果不需要,用debian仓库安装即可)

    git clone https://github.com/loongson-zn/qemu-debian.git
    cd qemu-debian/gcc_13.2.0-7.1_nodbg
    apt install ./*
    apt install gcc gfortran
    mount -t proc proc proc
    mount -t sysfs sys sys
    mount -t devtmpfs dev dev
    mount -t devpts devpts dev/pts
    mount -t tmpfs shmfs dev/shm

写这篇博客是在2023.12.15,LA还处于正在推进debian社区 的阶段,此时的地址为:

bash 复制代码
#root@loongson01:~# cat /srv/chroots/sid-loong64-sbuild/etc/apt/sources.list     
# binary default
deb http://ftp.ports.debian.org/debian-ports unstable main 
deb http://ftp.ports.debian.org/debian-ports unreleased main
相关推荐
工程师老罗1 天前
Ubuntu下怎么将u盘格式化为ext4?
linux·运维·ubuntu
study_小达人1 天前
ubuntu 22.04设置limit不生效
linux·运维·ubuntu
Johny_Zhao1 天前
黑客msfconsole渗透工具超详细使用说明
linux·python·网络安全·信息安全·渗透测试·云计算·系统运维·攻防演练
挨踢攻城1 天前
Linux 下合并多个 PDF 文件为一个 PDF 文件的方法
linux·前端·rhce·rhca·linux运维·红帽认证·公众号:厦门微思网络
liulilittle1 天前
XDP VNP虚拟以太网关(章节:二)
linux·服务器·网络·c++·通信·xdp
比奇堡派星星1 天前
Linux 平台设备驱动框架详解
linux·开发语言·驱动开发
代码游侠1 天前
应用——Linux Framebuffer 图形库显示
linux·运维·服务器·数据库·笔记·算法
会飞的小新1 天前
Linux PCI 设备查看工具 lspci 的工作机制与使用方法
linux
xingzhemengyou11 天前
LINUX modprobe 智能加载和卸载内核模块
linux·服务器·前端
xingzhemengyou11 天前
Linux who指令查询和显示当前登录系统的用户信息
linux·服务器·网络