你有一块尘封多年的开发板,吹口气,尘土飞扬。最近买了一台崭新的电脑,脑子抽风想在开发板子上练练手。
1、安装linux开发环境
1.1、windows端安装虚拟机,在虚拟机上安装linux操作系统。win 2008之后的版本自带虚拟机hyper-V,可以少安装vmware软件
如何安装虚拟机和linux环境_sydyh43的博客-CSDN博客
1.2、每次操作都需要进入虚拟机毕竟不太方便,可以在windows端使用secureCRT工具通过ssh的方式访问虚拟机的linux环境
如何在windows下使用secureCRT访问windows下的linux虚拟机_sydyh43的博客-CSDN博客
1.3、windows和虚拟机上的linux免不了需要传输文件,可以通过samba服务器,在windows端映射盘符方式实现两者文件的传输
虚拟机是ubuntu,windows映射盘符方式访问虚拟机_sydyh43的博客-CSDN博客_ubuntu虚拟机映射
2、安装开发板交叉编译环境,在windows端的secureCRT工具中操作
3、 接下来就可以放心大胆地实操,需求开发。期间遇到的问题
3.1、kernel调试过程中,make menuconfig报如下错误
解决:需要安装包
sudo apt-get install libncurses5-dev
3.2、如何制作生成squashfs格式的根文件系统
mksquashfs root-uclibc root-uclibc.squanshfs.bin -comp xz
3.3、打包脚本实现源码
4、具体的操作命令
4.1、修改设备分区信息,在Uboot下修改环境变量
setenv bootargs console=ttyS1,115200n8 mem=100M@0x0 rmem=128M@0x6400000 nmem=28M@0xE400000 init=/linuxrc rootfstype=squashfs root=/dev/mtdblock2 rw mtdparts=jz_sfc:256k(boot),2560k(kernel),2048k(rootfs),2048k(system),3072k(user),3072k(data),3072k(backup),-(config) lpj=11968512
saveenv
4.2、uboot下借助sd卡实现升级,本设备的内存地址0x80600000
fatload mmc 0:1 0x80600000 root-uclibc-toolchain720v1.squanshfs.bin
sf probe
sf write 0x80600000 0x2C0000 0x200000
4.3、设备起来后挂接分区信息和SD卡
#挂载分区信息
mount -t squashfs /dev/mtdblock3 /system
#挂载SD卡
mount /dev/mmcblk0p1 /mnt/
4.4、设备起来后升级分区
flashcp -v rootfs.cramfs /dev/mtd3