logo
0
0
Login
axplat-phytium-pi

dev manual

构建运行

qemu run

make ARCH=aarch64 build make img ARCH=aarch64 make run ARCH=aarch64

phytium-pi run

make phytium-pi FEATURES="irq smp" LOG=trace SMP=4 make clean

tftp

  • 将镜像文件拷贝到 tftp 服务器
  • 启动飞腾派进入 Uboot 模式,运行命令:
# 配置网络 echo $ipaddr # config broad ip setenv ipaddr 192.168.1.20 # ftp server (pc) setenv serverip 192.168.1.3 # net geteway setenv gatewayip 192.168.1.1 # 保存配置 saveenv # 从 tftp 下载 dtb tftpboot 0x80000000 phytiumpi_firefly.dtb fdt addr 0x80000000 fdt resize # 从 tftp 服务器下载镜像文件 tftpboot 0x90000000 workspace_aarch64-phytium-pi.bin # 启动程序 go 0x90000000

镜像分析

# 基础分析 strings workspace_aarch64-phytium-pi.bin | grep -i "compatible" # 固件分析,识别格式 binwalk workspace_aarch64-phytium-pi.bin
# qemu-system-aarch64 -machine virt -nographic -s -S -kernel workspace_aarch64-phytium-pi.bin # qemu-system-aarch64 -m 1G -smp 4 -cpu cortex-a72 -machine virt -kernel /workspace/workspace_aarch64-phytium-pi.bin -device virtio-blk-pci,drive=disk0 -drive id=disk0,if=none,format=raw,file=disk.img -device virtio-net-pci,netdev=net0 -netdev user,id=net0,hostfwd=tcp::5555-:5555,hostfwd=udp::5555-:5555 -nographic cp rootfs-aarch64.img disk.img qemu-system-aarch64 -m 1G -smp 4 -cpu cortex-a72 -machine virt -kernel /workspace/workspace_aarch64-phytium-pi.bin -device virtio-blk-pci,drive=disk0 -drive id=disk0,if=none,format=raw,file=/workspace/disk.img -device virtio-net-pci,netdev=net0 -netdev user,id=net0,hostfwd=tcp::5555-:5555,hostfwd=udp::5555-:5555 -nographic # make ARCH=aarch64 APP_FEATURES=aarch64-phytium-pi MYPLAT=axplat-aarch64-phytium-pi run # make ARCH=aarch64 APP_FEATURES=aarch64-phytium-pi MYPLAT=axplat-aarch64-phytium-pi FEATURES="irq smp" LOG=trace SMP=4 run