嵌入式Linux基础开发环境搭建
主机环境
开发主机环境:Ubuntu16.04
samba:
安装服务:
sudo apt-get install samba
配置:
sudo vi /etc/samba/smb.conf
在最后添加:#[共享名称] 远程网络看到的共享名称 [share] #comment 注释信息 comment = samba #path 所共享的目录路径 path = /home/xxx #public 能否被guest访问的共享,默认no,和guest ok 类似 public = yes #writable 可以被所有用户读写,默认为no writeable = yes #browsable 是否允许所有用户浏览此共享,默认为yes,no为隐藏 browseable = yes #read only=no 和writable=yes等价,如与以上设置冲突,放在 后面的设置生效,默认只读 read only = no #write list 三种形式:用户,@组名,+组名,用,分隔 如writable=no,列表中用户或组可读写,不在列表中用户只读 write list = #valid users 特定用户才能访问该共享,如为空,将允许所有用 户,用户名之间用空格分隔 valid users = #是否允许匿名访问 guest ok = no
添加samba用户:
sudo smbpasswd -a xxx
修改samba用户密码:
sudo smbpasswd xxx
删除samba用户和密码:
sudo smbpasswd –x xxx
查看samba服务器状态:
sudo smbstatus
重启服务:
sudo /etc/init.d/smbd restart
客户端访问:
路径://192.168.1.44/share
usr和pwd为上面设置的
UNC路径: Universal Naming Convention,通用命名规范
tftp:
sudo apt-get install tftpd-hpa tftp-hpa
sudo vim /etc/default/tftpd-hpa #修改里面的路径 tftp路径:/home/xxx/tftpboot
重启:service tftpd-hpa restart
ssh:
sudo apt-get install openssh-server
NFS:
开发主机配置
sudo apt-get install nfs-common nfs-kernel-server
创建文件夹:rootfs_nfs
修改/etc/exports,添加:/home/xxx/rootfs_nfs *(rw,sync,no_root_squash,no_subtree_check)
重启:/etc/init.d/nfs-kernel-server start
路径:/home/xxx/rootfs_nfs
设备端配置
支持NFS挂载
- 配置网络部分,主要是使能CONFIG_IP_PNP以在2中能够看到Root file system on NFS选项
Networking support Networking options TCP/IP networking IP: kernel level autoconfiguration [*] IP: DHCP support [*] IP: BOOTP support
- 配置开启nfs服务
File systems ---> Network File Systems ---> <*> NFS client support [*] NFS client support for NFS version 3 [*] NFS client support for the NFSv3 ACL protocol extension [*] NFS client support for NFS version 4 (EXPERIMENTAL) [*] NFS client support for NFSv4.1 (DEVELOPER ONLY) [*] Root file system on NFS
在uboot中设置如下启动参数(IP根据实际使用更改)
setenv bootargs root=/dev/nfs nfsroot=192.168.1.105:/mnt/rootfs/rootfs ip=192.168.1.88:192.168.1.105:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC2,115200
注:
1:uboot通过bootargs传递参数给内核,让内核以特定方式启动
2:console=ttySAC0,115200 表示使用串口0,波特率为115200
3:root=/dev/nfs rw 表示使用/dev/nfs 作为根文件系统,可读可写
4:nfsroot:指明NFS服务器的地址(就是linux主机的IP)
5:/home/rootfs:根文件在主机的路径
6:192.168.1.102:这个是开发板的ip地址
7:192.168.1.101:这个是linux主机的ip地址
8:192.168.1.1:网关地址
9:255.255.255.0:子网掩码
10:ARM11:开发板主机名,可以省略
11:eth0:内核启动之后,把IP地址复制给eth0这个网卡
12:off:关闭动态IP获取功能