1. 交叉工具链:
    https://github.com/loongson/build-tools/
    上下载
    loongarch64-clfs-6.3-cross-tools-gcc-glibc.tar.xz
    解压到/opt目录下

  2. 配置工具链环境变量:

    export PATH=/opt/loongarch64-clfs-6.3-cross-tools-gcc-glibc/bin:$PATH
    export LD_LIBRARY_PATH=/opt/loongarch64-clfs-6.3-cross-tools-gcc-glibc/lib:$LD_LIBRARY_PATH
    export LD_LIBRARY_PATH=/opt/loongarch64-clfs-6.3-cross-tools-gcc-glibc/loongarch64-unknown-linux-gnu/lib/:$LD_LIBRARY_PATH
    

    龙芯官方也提供GNU交叉工具链
    http://www.loongnix.cn/zh/toolchain/GNU/
    向量版本和非向量版本
    loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.1.tar.xz
    loongson-gnu-toolchain-8.3.novec-x86_64-loongarch64-linux-gnu-rc1.1.tar.xz
    但使用该工具链编译出来的内核并不能正常使用,因为是新旧ABI的区别。估计要修改内核源码才能正常使用。

  3. openeuler loongarch内核源码,码云上下载:
    https://gitee.com/openeuler/kernel
    2023年5月份的稳定版本是openEuler-22.03-LTS-SP1,但经过验证该版本内核的loongarch架构并不能正常使用,内核可以运行起来,但进不了根文件系统。估计要等到下一个版本才能正常使用。
    所以使用OLK-5.10分支的内核源码,该分支合入了最新的补丁。
    使用git clone 下载源码,只是占用空间比较大,下载时间比较长。可以下载zip压缩包。
    下载并解压kernel-OLK-5.10.zip

    unzip kernel-OLK-5.10.zip
    
  4. 执行编译

    cd kernel-OLK-5.10
    make ARCH=loongarch CROSS_COMPILE=loongarch64-unknown-linux-gnu- loongson3_defconfig
    make ARCH=loongarch CROSS_COMPILE=loongarch64-linux-gnu- -j$(nproc)
    

    编译成功后源码根目录下生成vmlinux文件。

  5. 使用pmon tftp网络加载vmlinux运行:

    load tftp://192.168.1.2/vmlinux;g earlycon=uart8250,mmio,0x1fe001e0,115200n8 console=ttyS0,115200 rdinit=/sbin/init
    
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐