最近在ubuntu12.04LTS(32位)版搭了个嵌入式linux的开发环境(XP+VMware10)准备开发imx6Q,分享下嵌入式linux开发环境搭建过程中遇到的问题和解决办法:
1,VMware 不可恢复错误(svga)
经查询svga为显示器显示模式Super VGA的缩写形式。估计应该是硬件显示出了问题,于是打开VMware配置选项,去掉 "3D 加速图形 “前面的对勾。2,修改root登录
Ubuntu 12.04默认是不允许root登录的,在登录窗口只能看到普通用户和访客登录。以普通身份登陆Ubuntu后我们需要做一些修改,普通用户登录后,修改系统配置文件需要切换到超级用户模式,在终端窗口里面输入: sudo -s.然后输入普通用户登陆的密码,回车即可进入 root用户权限模式。
然后执行: gedit /etc/lightdm/lightdm.conf
增加 greeter-show-manual-login=true allow-guest=false 修改完的整个配置文件如下:
[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
greeter-show-manual-login=true #允许手动输入登陆系统的用户名和密码
allow-guest=false #不允许guest登录
然后我们启动root帐号:
sudo passwd root
根据提示输入root帐号密码。
重启ubuntu,登录窗口会有“登录”选项,这时候我们就可以通过root登录了。
注意:Ubuntu14.04则需要修改/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf,且只需要增加 greeter-show-manual-login=true。同时需要修改/root/.profile文件,将mesg n改为tty -s && mesg n。
3,设置网络
VMware虚拟机的网络连接方式设置为NAT方式,然后用虚拟机开启ubuntu12.04并进入system settings->Network,修改connection name为任意名字并选择IPv4 Settings页签,把Method栏设置为Automatic(DHCP),点击save保存。然后在ubuntu的右上角选择刚刚设置的网络就可以了。
4,ubuntu12.04更新软件源
4.1,首先备份Ubuntu12.04源列表,执行命令sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup4.2,修改更新源,操作如下:
4.2.1,执行命令sudo gedit /etc/apt/sources.list
4.2.2,把里面的内容替换成下面的内容(我选用的是网易源):
deb http://mirrors.163.com/ubuntu/ precise main restricted
deb-src http://mirrors.163.com/ubuntu/ precise main restricted
deb http://mirrors.163.com/ubuntu/ precise-updates main restricted
deb-src http://mirrors.163.com/ubuntu/ precise-updates main restricted
deb http://mirrors.163.com/ubuntu/ precise universe
deb-src http://mirrors.163.com/ubuntu/ precise universe
deb http://mirrors.163.com/ubuntu/ precise-updates universe
deb-src http://mirrors.163.com/ubuntu/ precise-updates universe
deb http://mirrors.163.com/ubuntu/ precise multiverse
deb-src http://mirrors.163.com/ubuntu/ precise multiverse
deb http://mirrors.163.com/ubuntu/ precise-updates multiverse
deb-src http://mirrors.163.com/ubuntu/ precise-updates multiverse
deb http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ precise-security main restricted
deb-src http://mirrors.163.com/ubuntu/ precise-security main restricted
deb http://mirrors.163.com/ubuntu/ precise-security universe
deb-src http://mirrors.163.com/ubuntu/ precise-security universe
deb http://mirrors.163.com/ubuntu/ precise-security multiverse
deb-src http://mirrors.163.com/ubuntu/ precise-security multiverse
deb http://extras.ubuntu.com/ubuntu precise main
deb-src http://extras.ubuntu.com/ubuntu precise main
4.2.3,执行命令sudo apt-get update和sudo apt-get upgrade
5.1,在ubuntu软件中心搜索wine来安装。
5.2,insight的exe文件必须放在wine configure配置的路径下。
5.3,建立工程
搜wine启动Configure Wine,添加一个路径(比如/opt/wine),这样source insight建工程的时候才能看到。
5.4,安装source insight
将source insight安装的可执行文件复制到ubuntu中。必须复制到第二步设置的/opt/wine/目录下面。
运行命令 wine /opt/wine/Si35Setup.exe
5.5,启动source insight建立工程
使用以下命令启动source insight,建立source insight工程和windows相同。
wine "C:\Program Files\Source Insight 3\Insight3.exe"
5.6,编写一个简单的脚本方便每次启动source insight,内容如下(为了避免不必要的错误,建议脚本在ubuntu下编写):
#!/bin/bash
wine "c:\Program Files\Source Insight 3\Insight3.exe"
6,干净的卸载wine安装过的软件
6.1,从.wine/drive_c下面的目录里面一个一个的删除,之后在~/.local/share/applications/wine/Programs/下rm掉多余的菜单项,这样“其他”里就没东西了。
然后再到~/.config/menus/applications-merged/下去清理多余的垃圾。
6.2,终端运行sudo apt-get remove wine,运行发现系统还有wine的图标残留,于是删除~/.wine目录,这是隐藏文件夹,你要先在view下面,选show hidden files。
6.3,在~/.local/share/applications文件夹下删除wine目录和以wine-extension开头的desktop文件,把 mimeinfo.cache文件里和wine相关的内容去掉,把mimeapps.list里和 wine相关的内容去掉。
6.4,删除~/.local/share/mime/types,删除~/.local/share/mime/globs2,删除~/.local /share/mime/packages以x-wine- extension开头的所有文件。
清空~/.local/share/mime/application里和wine相关的内容。
6.5,删除~/.config/menus/applications-merged目录
6.6,执行命令update-mime-database ~/.local/share/mime 更新文件类型数据库。
7.1,在/usr/share/applications/ 路径下面找到IBus,然后双击打开。这个时候会发现在屏幕的右上角会出现一个键盘模样的图标,这个就是IBus的指示图标。
7.2,单击此图标,选择 'Preferences' --> 'Input Method'
--> 勾上 'Customize active input methods'
--> 点击下拉列表框 'Select an input method'
--> 选择 'Chinese'
--> 选择'Pinyin'
--> 点击右边的按钮‘Add'
到这一步,我们就已经可以使用中文输入法了。在使用过程中,用 Control + Space 切换中英文输入法。
7.3,当然我们也可以在Advanced选项中, 勾选 'Share the same input method among all applications', 这样,所有的程序都可以用此设置了。
8,编译Kernel出现如下错误:
“mkimage” command not found – U-Boot images will not be built解决办法: 按照以往经验,我们需要安装依赖包: sudo apt-get install uboot-mkimage,但却提示现在没有可用的软件包uboot-mkimage,但是它被其它的软件包引用了。这可能意味着这个缺失的软件包可能已被废弃。因此按照其提示来执行命令sudo apt-get install u-boot-tools安装”u-boot-tools“即可。
9,使用make menuconfig命令时出现以下错误:
*** Unable to find the ncurses libraries or the
*** required header files
*** 'make menuconfig' requires the ncurses libraries
解决办法:输入命令sudo apt-get insatll ncurses-dev安装ncurses并重新make menuconfig。
10,缺少g++编译器的解决办法
在ubuntu12.04的/usr/bin/目录下只看到了gcc-4.6的编译器,而没有找到g++编译器,因此需要安装一个g++编译器。解决办法:执行命令sudo apt-get install g++来自动在线安装。
11,安装qt5.3
11.1,去http://download.qt.io/archive/qt/网站下载qt-opensource-linux-x86-5.3.2.run,此安装包自带qtcreator3.2。11.2,如果此安装包没有安装权限,需要执行命令sudo chmod +x qt-opensource-linux-x86-5.3.2.run来增加此权限。
11.3,执行./qt-opensource-linux-x86-5.3.2.run命令或者双击qt-opensource-linux-x86-5.3.2.run来进行安装。
11.4,安装完成后,建立任意一个qwidget工程,编译时会发现以下错误:
cannot find -lGL
collect2: ld returned 1 exit status
解决办法:执行命令sudo apt-get install build-essential安装编译器与基本的函式库(一般情况下,早前都应该是安装过的,这里只是提醒一下)。
执行命令sudo apt-get install libglu1-mesa-dev安装OpenGL Library。
执行命令sudo apt-get install libglut-dev安装OpenGL Utility Toolkit(非必需)。
12,gmakenot found错误或者gawknot found错误
12.1,问题原因:在ubuntu中已经取消掉了gmake,都用make代替。
解决办法:sudo ln -s /usr/bin/make /usr/bin/gmake
12.2,问题原因:在ubuntu中已经取消掉了gawk,都用awk代替。
解决办法:sudo apt-get install gawk