嵌入式linux环境搭建

2019-07-12 17:29发布

本人是嵌入式软件专业,除了学习STM32单片机之外,我还自学了u-boot的移植,文件系统的制作,以及Linux内核的移植,在学习嵌入式linux过程中也做了一些笔记,最近整理了一下,分享给大家,也供自己以后温习。今天分享的是环境搭建,用的是ubuntu12.04版本,交叉编译工具用的是gcc-4.6.4版本,随后可以把文件资料上传,有兴趣的朋友可以下载。 1、硬件组成
微处理器 arm (A M R) x86 ppc
晶振
外存
内存
外围设备 2、软件组成
uboot bios
linux win7
文件系统 ext2 ext3 ext4
freeRTOS ucos 3、交叉编译工具安装
1、编译工具获取
http://mirrors-usa.go-parts.com/gcc/releases/
2、crosstool-ng
http://crosstool-ng.org/download/crosstool-ng/
3、通过厂商获取编译工具 编译工具安装 一种、 1. 进入家目录 执行 $ cd ~ 2. $ vi .bashrc 3. 在最后一行 添加 export PATH=$PATH:/home/linux/toolchain/gcc-4.6.4 (后面的路径是自己编译工具的路径) 4. 保存退出, 重启终端即可生效 $ arm-linux-gcc -v 如果出现 gcc version 4.6.4 (crosstool-NG hg+default-2685dfa9de14 - tc0002) 编译配置成功 二种、 1. 进入 etc 目录 执行 $ cd /etc 2. $ vi profile 3. 在最后一行 添加 export PATH=$PATH:/home/linux/toolchain/gcc-4.6.4 (后面的路径是自己编译工具的路径) 4. 保存退出, 有用户登录 即可生效 $ arm-linux-gcc -v 如果出现 gcc version 4.6.4 (crosstool-NG hg+default-2685dfa9de14 - tc0002) 编译配置成功 三种、 1. 进入 etc 目录 执行 $ cd /etc 2. $ vi environment 3. 在引号里面添加 路径 PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/gamesA:/home/linux/toolchain/gcc-4.6.4" 4. 重启虚拟机 是可以生效的 测试方式 同上 网络配置 1、编译-》 虚拟网络编译器-》更改设置-》VMnet0->桥接到-》可以上网的网卡 2、虚拟机-》设置-》硬件-》网络适配器-》自定义-》VMnet0->确定 3、右上角 网络图标 4、1 wired -> 选择 mac 地址 2 ipv4 自动获取IP NAT 1、虚拟机-》设置-》硬件-》网络适配器-》自定义-》VMnet8->确定 2、右上角 网络图标 3、1 wired -> 选择 mac 地址 2 ipv4 自动获取IP 4、安装tftp 软件 1、配置网络 (必须可以上网) 2、apt-get install tftpd-hpa 安装 tftp 服务端 3、apt-get install tftp-hpa 安装 tftp 客户端 配置 $ sudo vi /etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/home/linux/tftpboot" TFTP_ADDRESS="0.0.0.0:69" TFTP_OPTIONS="-c -s -l" # 代表注释 重启 修改完配置文件 必须要 重启 tftp 服务 $ service tftpd-hpa restart linux@ubuntu:~$ sudo service tftpd-hpa restart tftpd-hpa stop/waiting tftpd-hpa start/running, process 3518 linux@ubuntu:~$ 测试 $ tftp 127.0.0.1 // 启动 tftp 客户端 > put xxxx // 文件上传 > q // 退出 tftp 客户端 $ tftp 127.0.0.1 > get uImage // 下载uImage > q 5、安装 nfs 软禁
1、配置网络 (必须可以上网)
2、sudo apt-get install nfs-kernel-server 安装 nfs 服务端
3、dpkg -s nfs-kernel-server 软件是否安装
4、mkdir /rootfs ; touch a.c
配置 nfs
$ sudo vi /etc/export
/rootfs * (rw,sync,no_subtree_check,no_root_squash)
在最末尾 添加 一行
重启服务
$ sudo service nfs-kernel-server restart 测试 1、 创建挂载点 $ mkdir -p /home/linux/mnt 2、执行挂载命令 $ sudo mount -t nfs 127.0.0.1:/rootfs /home/linux/mnt 3、 $ ls /home/linux/mnt linux@ubuntu:~/mnt$ ls a.c 4、解除挂载 $ sudo umount /home/linux/mnt