嵌入式linux开发需要一台linux PC,如ubuntu,centOS等。同时需要安装一些工具和库,方便开发和交叉编译开源库。
1)ssh:
sudo apt-get install openssh-server
2)samba:
sudo apt install samba
假设Ubuntu的用户为default,则
1.vim /etc/samba/smb.conf 在最后追加如下:
security = share
[x64_work]
path = /home/default/work
available = yes
browsealbe = yes
public = yes
guest ok = yes
writable = yes
create mask = 0755
directory mask = 0755
force user = default
2.sync
3./etc/init.d/samba restart
3)vim: PC上不使用vi
sudo apt-get install vim
4)gcc/g++:
sudo apt-get install build-essential
5)串口工具
sudo apt-get install cutecom
或者古老的sudo apt-get install minicom
6)git/svn
sudo apt-get install git
或sudo apt-get install subversion
7)编译linux kernel需要安装u-boot-tools
sudo apt-get install uboot-mkimage
现在貌似是sudo apt-get install u-boot-tools,才能安装
8)制作根文件系统需要安装mtd工具
如 mtd-utils等
apt-get install zlib1g-dev liblzo2-dev uuid-dev
到http://www.linux-mtd.infradead.org/source.html下载source
解压
export WITHOUT_XATTR=1 或者make后面加入CFLAGS编译选项"-DWITHOUT_XATTR"
make
make install
9)编译一些开源代码,如,含有m4、autoconfig、automake等配置文件,需要运行./autogen.sh
sudo apt-get install autoconf automake libtool
10)ubuntu16.04编译mtd-utils时出现.....bin/as: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory错误
可安装:
sudo apt-get install lib32z1
11)安装nfs服务器
a.sudo apt-get install nfs-kernel-server portmap
b.sudo vim /etc/experts在最后添加如下内容:
/home/default/work/nfs_rootfs/ *(rw,sync,no_root_squash)
c.sudo /etc/init.d/nfs-kernel-server restart ,重启服务
持续更新----------------------------------------------------------------------------------------------------------------------------------------------
ps:如果使用的是虚拟机,分配的内存太小时会出现gcc内部错误,需要使用swap
出现内存空间不够时,需要申请swap空间,如
sudo dd if=/dev/zero of=/swapfile bs=64M count=16
#count的大小就是增加的swap空间的大小,64M是块大小,所以空间大小是bs*count=1024MB = 1GB
sudo mkswap /swapfile
#把刚才空间格式化成swap格式
sudo swapon /swapfile
#使用刚才创建的swap空间