u-boot 2013
export ARCH=mips
export CROSS_COMPILE=mips64el-linux-
如果想指定编译目录:
export BUILD_DIR=/tmp/build
或
make -O=/tmp/build
make ls2k_pai_config
make
u-boot 2019 (gcc-9.1 mips64el)
export ARCH=mips
export CROSS_COMPILE=mips64el-linux-
cp configs/ls2k_pai_config .config
make
或
make ls2k_pai_defconfig
make
kernel 4.19(gcc-9.1 mips64el)
export ARCH=mips
export CROSS_COMPILE=mips64el-linux-
cp arch/mips/configs/ls2k_pai_config .config
或者
make ls2k_pai_config
make
说明:make 之后会生成 vmlinux, 生成 vmlinuz 需要vmlinux 中的开始地址,通过 objdump -f vmlinux 获取。
由于获取开始地址的过程脚本中是以英文来匹配的,如果是中文环境可能会导致匹配不对获取不到开始地址,
从而生成vmlinuz 出错。
故需要设置语言环境为英文
export LANG=c
生成uImage 需要 u-boot 编译生成的 tools/mkimage 工具
export PATH=$PATH:/home/loongson/u-boot-2019.10/tools
make uImage
安装内核(默认是在/boot/)
make install
安装模块文件(默认是在/usr/lib/modules)
make modules_install
或者
指定自定义安装路径
make INSTALL_PATH=../kernel_5.4/ install
make INSTALL_MOD_PATH=../kernel_5.4/ modules_install
在龙芯的电脑环境制作initrd
redhat 系os:
制作ram disk
# mkinitrd initr.3.10.0.img 3.10.0
制作 initramfs(推荐用这个)
# cd /boot
# dracut initramfs-3.10.0.img 3.10.0
debian 系os:
4.19.26 为当前编译的内核号mkinitramfs会根据这个名去/lib/moudules/4.19.26 下打包内核模块文件
# mkinitramfs 4.19.26 -o /boot/initrd.img-4.19.26
现在的发行版基本上都是用initramfs 代替 ram disk。