制卡需要的包:
-
驱动包 Ascend310-driver-20.2.2-ubuntu18.04.aarch64-minirc.tar.gz
-
固件包 Ascend310-firmware-xxxx-minirc.run
-
系统源码 Ascend-souce-minirc.tar.gz
-
制卡脚本 sd_tools.tar.gz
-
离线推理包 Ascned-cann-nnrt-xxxx.tar.gz
-
推理包安装脚本 minirc_install_hook.sh
-
系统镜像 ubuntu-18.04-server-arm64.iso
注意:https://support.huawei.com/enterprise/zh/doc/EDOC1100235020/ffb73db
制卡步骤:
1. 把上述包都上传到目录下root/mksd
2. cd mksd
3. tar -xzf sd_tools.tar.gz
4. 查看SD卡 fdisk -l 出现/dev/sdb
5. python3 make_sd_card.py local /dev/sdb
6. 出现Make SD successfully! 成功
编译内核和设备树
编译内核
交叉编译工具链http://releases.linaro.org/components/toolchain/binaries/5.4-2017.05/aarch64-linux-gnu/gcc-linaro-5.4.1-2017.05-x86_64_aarch64-linux-gnu.tar.xz
-
解压交叉编译工具链
-
配置交叉编译工具链环境变量
vi ~/.bashrc export ARCH=ARM export CROSS_COMPILE=xxxx(交叉编译工具链) export PATH=$PATH:xxxx(交叉编译工具链的路径)/bin
-
aarch64-linux-gnu-gcc -v 查看版本
-
解压Ascend-souce-minirc.tar.gz
-
cd source
-
cd kernel/linux-4.19/
-
编译环境为x86架构:make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- mini_defconfig
-
编译环境为x86架构:make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- menuconfig
-
配置内核需要的工具
-
cp -f .config arch/arm64/configs/mini_defconfig
-
cd ~/source
-
bash build.sh kernel 88.88.88.88.88(固件版本号)
-
Image输出在~/source/output/out_header/Image
编译设备树
- cd source
- cd dtb
- vi xxxx.dtb
- cd ~/source
- bash build.sh dtb 88.88.88.88.88 (固件版本号)
- dtb 输出在 /source/output/out_header/dt.img
增加用户驱动
-
cd source/drivers
-
mkdir user
-
新建驱动原文件和Makefile文件
-
重新编译内核
-
vi build.sh
-
RIVER_MODULES变量中增加user驱动
DRIVER_MODULES="cpld devdrv/pcie_host dfm eeprom fandrv hdc_host higmac i2c_slave lsw nor_flash PCA6416 pwm_drv sgpio spi pcie_mcc_host mdio user"
-
bash build.sh minirc
-
.ko 输出在source/output
更新配置文件
- cd source/repacek/scripts
- vim userfilelist.csv
- 修改方法 https://support.huawei.com/enterprise/zh/doc/EDOC1100235020/f7ab5afa#zh-cn_topic_0000001197019075_zh-cn_topic_0000001139734495_zh-cn_topic_0265783453_table1493116113915
重构驱动包
-
cd ~/source/repack
-
拷贝用户修改的文件 包括 (配置文件、 内核文件、 驱动文件)
-
cd ~/source
-
bash build.sh repack …/Ascend310-driver--ubuntu18.04.aarch64-minirc.tar.gz
-
重构的驱动包放在source/output/repack下