01_apt-get在线管理工具
一般使用apt-get去获取安装包的。就跟自己去官网下载一样,apt-get有一个下载源的配置
vi /etc/apt/sources.list
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted
deb http://mirrors.aliyun.com/ubuntu/ focal universe
deb http://mirrors.aliyun.com/ubuntu/ focal multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted
deb http://mirrors.aliyun.com/ubuntu/ focal-security universe
deb http://mirrors.aliyun.com/ubuntu/ focal-security multiverse
deb http://security.ubuntu.com/ubuntu/ focal-security restricted multiverse universe main
我们可以进入http://mirrors.aliyun.com/ubuntu/网站看阿里云提供的工具包代码。
sudo apt-get install 软件包名 --- 下载并安装指定的软件包 *
sudo apt-get remove 软件包名 --- 卸载指定的已安装的软件包 *
sudo apt-get update --- 刷新软件源清单 *
下载时需要配置虚拟机的网络
1.虚拟网卡
虚拟机编辑->虚拟网络编辑器->更改设置->桥接模式->选中windows主机正在工作的网卡(电脑没有网卡插口的可以选择无线网卡,或者购买转换器会自动生成USB网卡)->确定
2.让虚拟机使用该网卡
虚拟机->设置->网络适配器->自定义->选中上一步配置的网卡->确定
sudo service network-manager restart --- 重启网络服务
02_dpkg
dpkg离线管理工具,就向断网状态的手机,没有网络,下载了安装包,也能安装和正常使用软件。
dpkg -s <软件包名> 显出软件包的安装状态
dpkg -L <软件包名> 列出安装的软件包清单
dpkg -r <软件包名> 移除一个已经安装的软件包
03_交叉编译环境
交叉编译环境分为硬件环境和软件环境。
03_01硬件环境
硬件环境有三部分:高性能的主机、连接介质、从机。
在x86架构下的主机编译arm程序(在板子上编译太久了,性能不够),通过连接介质,传输到arm架构的从机中去。
连接介质可以通过串口,可以通过网络。串口的传输大小如果是115200也就大概14k左右,所以使用网络会更快一些。不过要想回显——即把从机收到的数据返回给主机,如果通过网络较为复杂,需要配置ssh和用户名密码,而且有一些数据网络无法显示,串口则可以,所以使用网络让从机下载主机文件,使用串口回显。
03_02软件环境
1.交叉开发工具
在x86架构下编译arm架构的工具链,例如gcc,ld,objdump,objcopy,as等。
2.下载工具
通过网络的下载工具有tftp和nfs。tftp是tcp/ip应用层的协议,基于传输层的udp。NFSv3以前是基于UDP,NFSv4基于TCP。
04_tftp
tftp是网络通信软件,有服务器端和客户端。服务器为主机,客户端是为从机的板子。
04_01服务器配置
dpkg -s tftpd-hpa //查看是否安装tftp服务
sudo apt-get install tftpd-hpa tftp-hpa //没安装,用apt-get安装
sudo vi /etc/default/tftpd-hpa //在此目录下配置共享文件夹,放在用户目录下
service tftpd-hap restart //使其生效
04_02客户端配置
前提是uboot正常启动,(即uboot移植成功)因为要用set命令,以及save。以及板子的loadb和go命令。(loadb是通过串口kermit协议下载数据)
set serverip 192.168.66.66 //服务的ip,在虚拟机自定义
set ipaddr 192.168.66.4 //板子的ip,自己设置,前三段和服务器相同
set netmask 255.255.255.0 //掩码
set gatewayip 192.168.66.1 //网关
save
04_03下载
tftp 41000000 led.bin //下载二进制代码,板子的起始地址从手册查看,被下载的文件需要权限
go 41000000 //简单的跳转到指定地址,执行内存中的二进制代码,也属于uboot命令
tftp
//启动Linux(bootm)内核后,即有了操作系统的下载方式:
tftp -g -r 1.c 192.168.66.66//-g是get模式从服务器下载到本机,-r是要下载的远程文件名