You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

78 lines
2.9 KiB

# phytium-linux-buildroot
Buildroot是一种简单、高效且易于使用的工具,可以通过交叉编译生成嵌入式Linux系统。Buildroot的用户手册位于docs/manual/manual.pdf。
phytium-linux-buildroot基于Buildroot,适配了飞腾e2000开发板,支持ubuntu文件系统、initrd文件系统、最小文件系统的编译。
# 开发环境
## 系统要求
Buildroot被设计为在Linux系统上运行,我们在ubuntu20.04系统上运行phytium-linux-buildroot。
## 下载phytium-linux-buildroot
`$ git clone https://gitee.com/phytium_embedded/phytium-linux-buildroot.git`
# 查看支持的defconfig
为飞腾CPU平台构建的文件系统的配置文件位于configs目录。
在phytium-linux-buildroot根目录下执行`$ make list-defconfigs`,返回configs目录中的defconfig配置文件。
```
$ cd xxx/phytium-linux-buildroot
$ make list-defconfigs
```
其中以phytium开头的为飞腾相关的defconfig配置文件,包含:
```
phytium_e2000_defconfig - Build for phytium_e2000
phytium_e2000_ubuntu_defconfig - Build for phytium_e2000_ubuntu
phytium_initrd_defconfig - Build for phytium_initrd
```
# 编译文件系统
## 为e2000编译文件系统
(1)配置defconfig
文件系统:
`$ make phytium_e2000_ubuntu_defconfig or make phytium_e2000_defconfig`
(2)编译
`$ make`
(3)镜像的输出位置
生成的根文件系统、内核、bootloader位于output/images目录。
## 清理编译结果
(1)`$ make clean`
删除所有编译结果,包括output目录下的所有内容。当编译完一个文件系统后,编译另一个文件系统前,需要执行此命令。
(2)`$ make distclean`
重置buildroot,删除所有编译结果、下载目录以及配置。
# 在e2000开发板上启动文件系统
## 使用U-Boot启动文件系统
(1)主机端将文件系统和内核拷贝到SATA盘或U盘(以dev/sdb1分区为例)
```
$ sudo mkfs.ext4 /dev/sdb1
$ sudo mount /dev/sdb1 /mnt
$ sudo cp xxx/phytium-linux-buildroot/output/images/rootfs.tar /mnt
$ cd /mnt
$ sudo tar xvf rootfs.tar
$ cd xxx/phytium-linux-buildroot/output/images
$ sudo cp Image e2000q-miniITX.dtb.dtb /mnt/boot
$ sync
$ sudo umount /dev/sdb1
```
(2)SATA盘或U盘接到开发板,启动开发板电源,串口输出U-Boot命令行,设置U-Boot环境变量,启动文件系统
SATA盘:
```
=>mw 0x32b30164 0x44; mw 0x32b30168 0x44; mw 0x31a30038 0x3; mw 0x2807e0c0 0x00
=>setenv bootargs console=ttyAMA1,115200 audit=0 earlycon=pl011,0x2800d000 root=/dev/sda1 rw
=>ext4load scsi 0:1 0x90100000 boot/e2000q-miniITX.dtb
=>ext4load scsi 0:1 0x90200000 boot/Image
=>booti booti 0x90100000 - 0x90000000
```
# FAQ
1. Ubuntu文件系统桌面无法登陆问题?
```
文件系统启动后控制台下apt install kubuntu-desktop
检查/home/user权限是否为user
chown -R user:user /home/user
重新启动开发板子
```