题外话:首先祝大家国庆节快乐!非常感谢大家对我得包容与谅解,闲话少叙!嵌入式开发环境搭建1、嵌入式开发环境主要由两部分组成:SDK+OPENWRTOpenwrt: openwrt 基于linux ,裁剪了Linux 的文件系统,封装了适用于智能家居的功能模块。SDK:一般而言SDK即开发 Windows 平台下的应用程序所使用的SDK。它可以简单的为某个程序设计语言提供应用程序接口API的一些文件,但也可能包括能与某种嵌入式系统通讯的复杂的硬件。一般的工具包括用于调试和其他用途的实用工具。SDK还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。为了鼓励开发者使用其系统或者语言,许多SDK是免费提供的。软件工程师通常从目标系统开发者那里获得软件开发包,也可以直接从互联网下载,有时也被作为营销手段。 2、安装虚拟机2.1、工具、镜像下载https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html 至此网站下载Vm workstation,这是你赖以生存的平台,有良好的容错性! http://archive.openwrt.org/releases/17.01.4/targets/x86/64/ 至此网站下载openwrt虚拟镜像。下载目标为: combined-ext4.img.gz http://releases.ubuntu.com/16.04/ 至此网站下载ubuntu16.04 2.2、安装2.2.1、安装sdk不过你以为这就完事儿啦?哦,不你只是安装了一个壳子!接下来,你要来点儿实际的! 接下来就是等待了,你可以看个小视频,创建用户时候创建就好,此处省略几张图,明白英文意思就很简单了!如果实在能力欠佳请百度一下。此处给你一个链接吧! https://www.jianshu.com/p/faf8bbbdd0f2 登录进去!!!Ctr+Alt+T进入终端,为了省去不必要的麻烦以及伤害你的脑细胞 2.2.3、配置相关软件包apt-get install asciidoc #默认未安装 apt-get install autoconf #默认未安装 apt-get install binutils apt-get install bison #默认未安装 apt-get install build-essential apt-get install bzip2 apt-get install gawk #默认未安装 apt-get install gcc g++ apt-get install gettext apt-get install git-core apt-get install flex #默认未安装 apt-get install patch apt-get install make apt-get install ncurses-term #默认未安装 apt-get install sharutils #默认未安装 apt-get install unzip 下面的包安装时可能存在依赖问题apt-get install libncurses5-dev apt-get install libssl-dev apt-get install libz-dev apt-get install subversion apt-get install texinfo apt-get install zlib1g-dev 由于安装软件的过程中会发生一些奇怪的依赖问题,推荐逐条安装,需要特别注意的软件包已标注,如上! 解决依赖问题:➜ tools git:(master) apt-get install libncurses5-dev 正在读取软件包列表… 完成 正在分析软件包的依赖关系树 正在读取状态信息… 完成 有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是 因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件 包尚未被创建或是它们已被从新到(Incoming)目录移出。 下列信息可能会对解决问题有所帮助: 下列软件包有未满足的依赖关系: libncurses5-dev : 依赖: libtinfo5 (= 5.9+20140118-1ubuntu1) 但是 6.0+20160213-1ubuntu1 正要被安装 依赖: libncurses5 (= 5.9+20140118-1ubuntu1) 但是 6.0+20160213-1ubuntu1 正要被安装 依赖: libtinfo-dev (= 5.9+20140118-1ubuntu1) 但是它将不会被安装 依赖: ncurses-bin (= 5.9+20140118-1ubuntu1) E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。 解决方法:系统设置-->软件与更新-->更新-->勾选重要安全更新&推荐更新&不支持的更新系统设置-->软件与更新-->Ubuntu软件-->可从互联网下载,全部勾选,并调整下载自为http://mirrors.aliyun.com/ubuntu以下软件就都可以正常安装了apt-get install libncurses5-dev apt-get install libssl-dev apt-get install libz-dev apt-get install subversion apt-get install texinfo apt-get install zlib1g-dev 对应源码包 git clone git://github.com/openwrt/openwrt.git 切换普通用户后续的操作需要普通用户来完成,故新建一个用户于此。 useradd sdkuser passwd sdkuser chown sdkuser ./openwrt -R su sdkuser 安装Feeds包Feeds 是Openwrt 环境所需要软件包的套件,主要有:
./scripts/feeds update -a #更新packages ./scripts/feeds install -a #安装feeds包 构建 Openwrt 基础固件*make menuconfig #配置 输入以上命令之后,会进入一个命令行图形界面,界面最上面是用法`
目标镜像:(其实就是往下走!)管理接口:选择结束之后,Exit,输入以下命令开始编译: make V=99 -j5 (此处可以省略,不能断电断网还很耗时,新生成的镜像在bin目录下) 然而还没有完!!! 2.2、安装openwrt 转换工具:StarWindConvert 由于镜像并不能直接引用,你需要下载一个工具 https://www.starwindsoftware.com/starwind-v2v-converter (谷歌浏览器可以汉化) 此工具的使用: 终于终于可以开始了!!! 导入VM:使用 StarWindConvert 将上面下载的镜像转化为IDE 硬盘格式的VMDK 文件,使用Vmware 导入之。这种情况不要慌,按一下Enter键,你会发现新大陆!
导入Vbox:使用 VboxManage.exe 将img 转为iso 镜像,正常安装虚拟机即可!C:\Program Files\Oracle\VirtualBox>VBoxManage.exe convertfromraw -format VDI "D:\Vmware\Lede 17.01.4\lede-17.01.4-x86-64-combined-ext4.img" "D:\Vmware\Lede 17.01.4\lede.vdi" 网络配置导入虚拟机后,默认 br-lan 网卡接口的网络为static 地址,需要修改为本地网段或设置为dhcp 模式。使用 Vbox 添加两块网卡,网卡1选择仅Host Only ,网卡选择网络地址转换NAT ,这样就可以内部虚拟机与主机互通,也能让openwrt 访问外网!vim /etc/config/network 访问测试`Web`接口浏览器访问: openwrt's hostonly's ip 远程连接ssh root@openwrt's hostonly's ip 这种即为测试成功,然后Ctrl+C退出即可 ---------------------------------------------------------------------------------------------------------------------- 我们尊重原创,也注重分享,文章来源于微信公众号:亢奋的毛毛雨,建议关注公众号查看原文。如若侵权请联系qter@qter.org。 ---------------------------------------------------------------------------------------------------------------------- |