准备工作
### 下载交叉编译工作链,选最新版本,网址如下:
https://github.com/sunhaiyong1978/CLFS-for-LoongArch/releases
### 推荐下载如下版本,内含gcc-13:
https://github.com/sunhaiyong1978/CLFS-for-LoongArch/releases/download/6.0/loongarch64-clfs-6.0-cross-tools-gcc-full.tar.gz
### 操作系统,推荐 debian-11,安装iso镜像下载地址:
http://mirrors.ustc.edu.cn/debian-cd/11.4.0/amd64/iso-dvd/debian-11.4.0-amd64-DVD-1.iso
### 系统安装 略
### 安装制作deb包相关工具软件
sudo apt install pbuilder nano
### 安装内核编译所需软件包
sudo apt build-dep linux
### 工作目录可设定在用户目录下任意目录,如: $HOME/mysdk/
mkdir $HOME/mysdk
mkdir $HOME/mysdk/kernel
mkdir $HOME/mysdk/tools
环境配置
### 准备交叉工具软件
tar xvf loongarch64-clfs-6.0-cross-tools-gcc-full.tar.gz -C $HOME/mysdk/tools
cd $HOME/mysdk/tools/cross-tools
export PATH=$PWD/bin:$PATH
export LD_LIBRARY_PATH=$PWD/lib:$PWD/loongarch64-unknown-linux-gnu/lib64:$LD_LIBRARY_PATH
准备最新版内核代码
### 进入内核工作目录
cd $HOME/mysdk/kernel
### 下载内核代码,linux.git已不可用,待修正
git clone https://github.com/loongson/linux.git -b loongarch-next --depth 1
cd linux
git archive --format=tar --output ../linux-6.git.tar "loongarch-next"
### 建立和进入内核目录,解压内核代码
mkdir ../linux-6
cd ../linux-6
tar xvf ../linux-6.git.tar
### 编译内核前的相关环境变量配置
export ARCH=loongarch
export CROSS_COMPILE=loongarch64-unknown-linux-gnu-
必要的一些修改
### 拷贝如下代码到终端,回车运行,运行一次即可
sudo cat <<EOF >> /usr/share/dpkg/cputable
// loongarch64 loongarch64 loongarch64 64 little
loong64 loongarch64 loongarch64 64 little
EOF
### 编辑 $HOME/mysdk/kernel/linux-6/script/package/mkdebian
### 找到 echo "1.0" > debian/source/format 这行,把 1.0 改成 3.0
### 默认是1.0的deb包,通过安装最新的包构建工具,可以支持 3.0 debian 包
### 编辑命令
nano script/package/mkdebian
配置和编译内核
### 清理内核代码树
make mrproper
### 配置默认选项
make loongson3_defconfig
### 配置内核选项两个图形界面,任选其一即可,推荐 make xconfig
make menuconfig
make xconfig
### 编译内核,并在父目录下生成记录 build.log ,可用于排查编译错误
make -j4 2>&1 | tee ../build.log
### 编译生成的内核所在目录,文件名 vmlinux.efi
ls -la $HOME/mysdk/kernel/linux-6/arch/loongarch/boot/
### 如果编译没有错误,可进行deb包构建,生成二进制deb包
make KBUILD_DEBARCH=loongarch64 bindeb-pkg