在Ubuntu上快速搭建嵌入式Linux环境

VIM

安装 VIM

sudo apt-get install vim

配置 VIM

sudo vim /etc/vim/vimrc

末尾添加下面的代码

set ts=4
set nu
set noexpandtab

FTP 服务(文件互传)

安装 FTP 服务

sudo apt-get install vsftpd

配置 FTP 服务

sudo vim /etc/vsftpd.conf

删除 write_enable=YES 前面的的 ‘#’

重启FTP 服务

sudo /etc/init.d/vsftpd restart  

NFS 服务开启

sudo apt-get install nfs-kernel-server rpcbind

配置 NFS

sudo vi /etc/exports

在最后添加以下内容:

/home/zuozhongkai/linux/nfs *(rw,sync,no_root_squash) 

重启NFS 服务

sudo /etc/init.d/nfs-kernel-server restart

SSH 服务开启

sudo apt-get install openssh-server

交叉编译器安装

gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz 传给Ubuntu

Ubuntu 中创建目录

sudo mkdir /usr/local/arm

将交叉编译器复制到/usr/local/arm 中

sudo cp gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz /usr/local/arm/ -f  
cd /usr/local/arm

解压交叉编译器

sudo tar -vxf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz

修改环境变量,使用 VIM 打开/etc/profile 文件

sudo vim /etc/profile

在末尾输入如下内容

export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin
export ALSA_CONFIG_PATH=/usr/share/arm-alsa/alsa.conf

保存退出,重启 Ubuntu 系统

交叉编译器验证

arm-linux-gnueabihf-gcc -v

应用无法升级更新

sudo snap refresh snap-store

安装第三方软件包管理器

sudo apt install gdebi

U-Boot 图形化配置

sudo apt-get install build-essential 
sudo apt-get install libncurses5-dev 

查询系统存储设备和烧录程序

ls /dev/sd* #显示存储设备

chmod 777 imxdownload
./imxdownload *.bin /dev/sdb #烧录代码

sudo rm -rf /dev/sdb #删除sdb节点

load.imx 在 DDR 中的位置

在这里插入图片描述

load.imx 在 MMC 中的位置

在这里插入图片描述

启动方式选择

12345678启动设备
01xxxxxx串行下载,可以通过USB 烧写镜像文件
10000010SD 卡启动
10100110EMMC 启动
10001001NAND FLASH 启动

U-Boot

编译 U-Boot

创建脚本文件 mx6ull_alientek_emmc.sh

在里面输入如下内容:

#!/bin/bash
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_14x14_ddr512_emmc_defconfig
make V=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j6

给予 mx6ull_alientek_emmc.sh 文件可执行权限,然后就可以使用这个 shell 脚本文件来编译uboot

chmod 777 mx6ull_alientek_emmc.sh
./mx6ull_alientek_emmc.sh

U-Boot 烧写

使用 imxdownload 软件烧写,命令如 下:

chmod 777 imxdownload
./imxdownload u-boot.bin /dev/sdb #烧录代码

搭建TFTP

安装 tftp-hpa 和tftpd-hpa,命令如下:

sudo apt-get install tftp-hpa tftpd-hpa
sudo apt-get install xinetd

创建一个文件夹

mkdir /home/zuozhongkai/linux/tftpboot
chmod 777 /home/zuozhongkai/linux/tftpboot

配置tftp

sudo vim /etc/xinetd.d/tftp

输入如下内容

server tftp
{
	socket_type = dgram
	protocol = udp
	wait = yes
	user = root
	server = /usr/sbin/in.tftpd
	server_args = -s /home/zuozhongkai/linux/tftpboot/
	disable = no
	per_source = 11
	cps = 100 2
	flags = IPv4
}

启动 tftp 服务,命令如下:

sudo service tftpd-hpa start

打开/etc/default/tftpd-hpa 文件

sudo vim /etc/default/tftpd-hpa

替换为以下内容

# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/zuozhongkai/linux/tftpboot"
TFTP_ADDRESS=":69" 
TFTP_OPTIONS="-l -c -s"

重启 tftp 服务器

sudo service tftpd-hpa restart

指令格式

tftp 80800000 192.168.x.x:zImage

挂载根文件系统

通过MobaXterm在uboot里输入

setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.1.111:/home/zuozhongkai/linux/nfs/rootfs,v3,proto=tcp rw ip=192.168.1.184:192.168.1.111:192.168.1.1:255.255.255.0::eth0:off'
setenv ipaddr 192.168.1.184
setenv ethaddr b8:ae:1d:01:00:00
setenv gatewayip 192.168.1.1
setenv netmask 255.255.255.0
setenv serverip 192.168.1.111
saveenv
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值