# Android Termux Ubuntu Qemu Loongarch64 Assembly **Repository Path**: OqipO/android-termux-ubuntu-qemu-loongarch64-assembly ## Basic Information - **Project Name**: Android Termux Ubuntu Qemu Loongarch64 Assembly - **Description**: 相信很多人和我一样对龙芯指令集充满好奇吧! 可惜身边没有腐朽的x86电脑, 所以我在arm64设备上编译了支持loongarch64的Binutils-2.38和Qemu-7.1.0 这样我们就可以在平板、手机或arm开发板上进入“新世界”了! - **Primary Language**: Assembly - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2022-09-23 - **Last Updated**: 2025-05-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Android Termux Ubuntu Qemu Loongarch64 Assembly 更新2023.4.19 之前编译的Binutls-2.38存在很多bug,然后发现 loongnix系统里用的是2.31,然后又在loongnix官方源里找到 Binutls-2.31源码,进行了重新编译,完美运行,非常开心。 qemu-loongarch64更新到7.21 全部都是静态编译 所以 设置一下 系统PATH就可以用 Binutls 编译过程 曾经的少年体验过LFS的酸爽 上次编译 binutls的痛苦又体验了一次 所以这次记录一下过程 编译环境termux proot-distro install ubuntu proot-distro login ubuntu 安装列表 apt install git texinfo build-essential bison yacc libbison-dev m4 flex file 源代码下载 wget http://pkg.loongnix.cn/loongnix/pool/main/b/binutils/binutils_2.31.1.orig.tar.gz 解压 tar xf binutils_2.31.1.orig.tar.gz cd binutils_2.31.1 开始编译 mkdir build cd build ../configure --prefix=/root/cross-tools \ --target=loongarch64-linux-gnu \ --disable-nls \ --disable-werror --enable-64-bit-bfd make configure-host make make install-strip 在root出现cross-tools qemu-loongarch64也是静态编译的,复制到bin目录. 因为我玩的是 用户级汇编所以这次没有qemu-system-loongarch64 bin目录 loongarch64-linux-gnu-addr2line loongarch64-linux-gnu-ar loongarch64-linux-gnu-as loongarch64-linux-gnu-c++filt loongarch64-linux-gnu-elfedit loongarch64-linux-gnu-gprof loongarch64-linux-gnu-ld loongarch64-linux-gnu-ld.bfd loongarch64-linux-gnu-nm loongarch64-linux-gnu-objcopy loongarch64-linux-gnu-objdump loongarch64-linux-gnu-ranlib loongarch64-linux-gnu-readelf loongarch64-linux-gnu-size loongarch64-linux-gnu-strings loongarch64-linux-gnu-strip qemu-loongarch64 将/root/cross-tools/bin加入PATH export PATH=/root/cross-tools/bin:$PATH 工具链发生了变化所以脚本也要修改一下 replace "loongarch64-unknown-linux-gnu-as" with "loongarch64-linux-gnu-as" 这次将编译目录一并上传,或许有用,目录为build 结束 2022.10.1 介绍 相信很多人和我一样对龙芯指令集充满好奇吧! 可惜身边没有腐 朽的x86电脑, 所以我在arm64设备上编译了支持loongarch64的 Binutils-2.38和Qemu-7.1.0 这样我们就可以在平板、手机或arm 开发板上进入“新世界”了! 视频教程 https://m.bilibili.com/video/BV1Te4y1C77Z 安装 1 打开Termux 2 apt install proot-distro 3 proot-distro install ubuntu 4 proot-distro login ubuntu 5 apt install git 6 git clone https://gitee.com/OqipO/android-termux-ubuntu-qemu-loongarch64-assembly.git 7 mv cross-tools /root/ 8 export PATH=/root/cross-tools/bin:$PATH 使用说明 1 qemu-linux-user模式 系统中断实例 Hello world! 1 git clone https://gitee.com/loongsonlab/loongarch-assembly 2 cd loongarch-assembly 3 把hello-world.S里的main替换为_start 4 loongarch64-unknown-linux-gnu-as hello-world.S -o hello.o 5 loongarch64-unknown-linux-gnu-ld hello.o -o hello 6 qemu-loongarch64 ./hello 2 qemu-system-loongarch64 内核开发环境 1 git clone https://gitee.com/loongsonlab/qemu-loongarch-runenv 2 打开run_loongarch.sh 3 将QEMU="./qemu-system-loongarch64"的"./"去掉 4 这样脚本就不会调用当前目录下的qemu for x86-64 5 官方提供的交叉编译环境只能在x86-64运行,没办法只能自己 从源码手挫arm64版本的qemu-7.10 3 为什么没有loongarch64-unknown-linux-gnu-gcc 因为我没哪个 能力啊 这已经是我的极限了想要gcc自己手挫吧 特技 1 Binutls-2.38编译过程极其痛苦 借鉴CLFS-for-LoongArch: (CLFS For LoongArch64) 作者:孙海勇 2 Gitee 官方博客 blog.gitee.com 3 你可以 https://gitee.com/explore 这个地址来了解 Gitee 上 的优秀开源项目 4 GVP 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开 源项目 5 Gitee 官方提供的使用手册 https://gitee.com/help 6 Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 https://gitee.com/gitee-stars/