初级会员
- 积分
- 187
- 金钱
- 187
- 注册时间
- 2020-11-11
- 在线时间
- 27 小时
|
1. 串口配置
将用户名加入uucp用户组内,这样普通用户就可以使用串口了。直接使用以下命令添加即可:
- sudo usermod -aG uucp $USER
复制代码 2. 安装依赖
这是我在编译内核、buildroot、uboot时需要安装的依赖,要根据具体报错信息安装。
- sudo pacman -Sy uboot-tools cpio
复制代码 3. 交叉编译工具
与Ubuntu系统下安装步骤相同。
4. stm32wrapper4dbg 工具安装
与Ubuntu系统下安装步骤相同。
5. 安装NFS服务
首先安装NFS服务,命令如下:
- sudo pacman -Sy nfs-utils rpcbind
复制代码 新建文件夹nfs,在 nfs 配置文件/etc/exports中最后添加
- /home/lituo/linux/nfs *(rw,sync,no_root_squash)
复制代码 然后重启服务
- //开机启动
- systemctl enable rpcbind.service
- systemctl enable nfs-server.service
- //启动服务
- systemctl start rpcbind.service
- systemctl start nfs-server.service
- //查看服务
- systemctl status rpcbind
- systemctl status nfs-server
复制代码 在一些嵌入式场景, 有的开发板还只支持nfsv2, 导致挂载失败。
修改 sudo vim /etc/nfs.conf 文件,添加 vers2=y,然后重启 sudo systemctl restart nfs-server.service
使用命令sudo cat /proc/fs/nfsd/versions可查看支持的版本,输出如下
+2 +3 +4 +4.1 +4.2
6. 安装tftp服务
和 NFS 一样, TFTP 也需要一个文件夹来存放文件,在用户目录下新建一个目录,命令如下:
- mkdir /home/lituo/linux/tftpboot
- chmod 777 /home/lituo/linux/tftpboot
复制代码 这样我就在我的电脑上创建了一个名为 tftpboot 的目录(文件夹),路径为/home/lituo/linux/tftpboot。注意!我们要给 tftpboot 文件夹权限,否则的话 uboot 不能从 tftpboot 文件夹里面下载文件。
最后配置 tftp,新建文件/etc/hosts.allow,如果没有的话自行创建,然后在里面输入如下内容:
修改sudo vim /etc/conf.d/tftpd文件中的目录为实际目录
- TFTPD_ARGS="-l -c -s /home/lituo/linux/tftpboot"
复制代码 完了以后启动 tftp 服务,命令如下:
- sudo systemctl enable tftpd.service
- sudo systemctl start tftpd.service
- sudo systemctl status tftpd.service
- sudo systemctl restart tftpd.service
复制代码 7. 遇到的问题
uboot编译时出现如下报错:
- /usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple definition of `yylloc'; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here
- collect2: 错误:ld 返回 1
- make[2]: *** [scripts/Makefile.host:106:scripts/dtc/dtc] 错误 1
- make[1]: *** [scripts/Makefile.build:432:scripts/dtc] 错误 2
- make: *** [Makefile:554:scripts] 错误 2
复制代码 意思是yylloc首先在scripts/dtc/dtc-lexer.lex.c中定义,文件scripts/dtc/dtc-parser.tab.c:中重定义了,
解决办法是将scripts/dtc/dtc-parser.tab.c文件中大约1293行改为extern YYLTYPE yylloc即可。
配置过程简单记录一下。下面是我的系统信息
|
|