MPSOC之2——ubuntu环境配置及petalinux安装

作者:liuwanpeng

MPSOC的linux开发需要使用petalinux,选择Ubuntu操作系统。

1.Ubuntu
1.1. Ubuntu安装
版本16.04.03
vmare版本:12.0
安装时注意选择“稍后安装”,否则是阉割版。另外,有个界面显示“删除整个磁盘”指的是虚拟机的磁盘,不会删除host上的内容,可以放心。
剩下就是一路next了,比较简单。

1.2. Vmware Ubuntu和HOST主机共享网络
现在公司的网络一般都处于域中,而且访问外网一般都需要批准。偏偏我们公司外网权限不好申请,只能采用变态的方法了。

  • HOST(windows)系统下载Fan Qiang软件,具体名字不说了。保证host能更访问外网
  • 在HOST的软件里,设置代理,假设产生的代理地址为 :192.168.250.62:9666
  • vmware 桥接,使ubuntu产生一个准物里网卡
  • 在vmware-编辑-虚拟网络编辑器中,把VMnet0固定设置到host的有线网卡上

  • ubuntu
  • 设置全局代理服务器:系统设置——网络——网络代理设置为http,192.168.250.62:9666——应用到整个系统
    设置后,ubuntu的;浏览器可以连接外网

  • ubuntu 软件源选择
  • 由于使用了软件,选择官方镜像,不要选国内镜像,否则很慢。

    其实原理比较简单,桥接方式使host和ubuntu有自己独立的网卡,host设置代理,ubuntu用代理上网。类似局域网里两台计算机。
    特别注意:要把host的wifi关掉,否则可能导致网络异常。 如果用wifi,也可以把第2步设置为无线网卡,不过没有试过。

    1.3. 软件安装方法
      (1). ubuntu使用apt-get获取和安装软件
      (2). 软件源有官方的源/PPA
        官方源不用说了
        PPA全称为Personal Package Archives,是ubuntu母公司设计的网站Launchpad,可以允许第三方上传软件,有时一些大软件,也提供PPA的地址。
      (3).软件安装方式,以python为例
       python在ubuntu下有几种安装方法:
        通过ubuntu官方的apt工具包安装
        通过PPA(Personal Package Archive) 的apt工具包安装
        通过编译python源代码安装
      (4). apt-get怎么知道文件名?
        1)直接在shell里输入待安装的程序,一般没有时提示信息里会有apt-get 文件名
        2)也可以用apt查找源里的程序
        apt-cache search xxxx

    1.4. 安装wine和source insight
      习惯了windows的source insight,在ubuntu里装个wine模拟器,然后就可以安装windows里的软件了,也挺方便的。很多人说运行效率低,不过个人感觉还可以,虚拟机给1~2G内存,也没啥问题。工具嘛,自己用着顺手就行了,非得搞个你死我活,没有必要。

      wine有PPA的源,如下方式可安装wine
    sudo add-apt-repository ppa:wine/wine-builds    添加源
    sudo apt-get update      把源更新到系统里
    sudo apt-get install --install-recommends wine-staging 安装
    sudo apt-get install winehq-staging 安装

      卸载
    sudo apt-get install ppa-purge
    sudo ppa-purge ppa:wine/wine-build

    wine安装exe也很方便
    :~$ wine
    Usage: wine PROGRAM [ARGUMENTS...] Run the specified program // 用命令行安装
    wine --help Display this help and exit
    wine --version Output version information and exit
    wine --patches Output patch information and exit
    wine --check-libs Checks if shared libs are installed

    例乳 wine sisetup.exe 即可安装source insight

    2.petalinux
    petalinux的详细介绍xilinx有专门的文档:ug1144-petalinux-tools-reference-guide.pdf

    2.1. 安装依赖软件和库
    安装依赖很多线程的软件和库,大部分比较好装,直接用apt-get install即可。在安装过程中,也遇到了一些问题,记录一下.

    2.1.1 python 3.4
    ubuntu的软件源最新为2.7.0,不满足要求,只能去官网下了
    使用PPA方式:
    sudo add-apt-repository ppa:fkrull/deadsnakes
    sudo apt-get update
    sudo apt-get install python3.6

    指定默认打开新装的3.6 安装完成之后,你在终端中输入python,输出的信息里面会提示是2.7版本的,也就是说默认打开的并不是刚才安装好的3.5,所以还需要我们重新修改一下链接。
    :/usr/bin$ ls pyth* -ln
    lrwxrwxrwx 1 0 0 9 11月 22 10:55 python -> python2.7
    lrwxrwxrwx 1 0 0 9 11月 22 10:55 python2 -> python2.7
    -rwxr-xr-x 1 0 0 3546104 11月 19 2016 python2.7
    lrwxrwxrwx 1 0 0 9 11月 22 10:55 python3 -> python3.5
    -rwxr-xr-x 1 0 0 4460336 11月 18 2016 python3.5
    -rwxr-xr-x 1 0 0 4460336 11月 18 2016 python3.5m
    -rwxr-xr-x 2 0 0 4437376 7月 29 23:26 python3.6
    -rwxr-xr-x 2 0 0 4437376 7月 29 23:26 python3.6m
    lrwxrwxrwx 1 0 0 10 11月 22 10:55 python3m -> python3.5m

    方法如下:
    :/usr/bin$ sudo cp python python_back
    :/usr/bin$ sudo rm python
    :/usr/bin$ sudo ln -s python3.6 python
    :/usr/bin$ python
    Python 3.6.2 (default, Jul 17 2017, 23:14:31)
    [GCC 5.4.0 20160609] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> exit()

    2.1.2 libglib2.0-dev
    dpkg: 处理软件包 xxxxxxxx (--configure)时出错:

    可能时把apt搞乱了,网上有方法

    我的ubuntu是16.04版本,今天安装软件各种突然安装不上,有如下提示:
    /××××××××××××××××××××××××××
    dpkg: 处理软件包 python-crypto (--configure)时出错:
    子进程 已安装 post-installation 脚本 返回错误状态 1
    ...
    dpkg: 处理软件包 samba-common-bin (--configure)时出错:
    依赖关系问题 - 仍未被配置
    ...
    等等问题,最后
    在处理时有错误发生:
    python-dnspython
    python-crypto
    python-ldb
    python-tdb
    python-samba
    samba-common-bin
    samba
    libglib2.0-dev
    libatk1.0-dev
    libcairo2-dev
    libgdk-pixbuf2.0-dev
    libpango1.0-dev
    libgtk2.0-dev
    E: Sub-process /usr/bin/dpkg returned an error code (1)
    ××××××××××××××××××××××××××/

    最后上网找答案:
    dpkg: 处理软件包 python-crypto (--configure)时出错:
    该软件包正处于非常不稳定的状态;
    您最好在配置它之前,先重新安装它
    在处理时有错误发生:

    python-crypto
    E: Sub-process /usr/bin/dpkg returned an error code (1)

    复制代码
    #解决这个问题需要备份dpkg下的info,然后自己创建一个新的info,然后更新,再把新的info里的内容拷贝到旧的里面,旧的再改成info,删除自己添加的
    :~$ sudo mv /var/lib/dpkg/info /var/lib/dpkg/info_old
    :~$ sudo mkdir /var/lib/dpkg/info
    :~$ sudo apt-get update
    :~$ sudo apt-get -f install
    :~$ sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info_old
    :~$ sudo rm -rf /var/lib/dpkg/info
    :~$ sudo mv /var/lib/dpkg/info_old /var/lib/dpkg/info

    这个方法是有效的

    2.2. 安装petalinux
    安装好依赖库以后,petalinux本身安装比较顺利,没报啥错误。

    petalinux也就是把开发过程打成若干脚本了,其实限制还是挺多的,感觉不如用gcc和make这类底层的灵活,后续看看怎么把这些东西剥离出来。

    本文转载自: https://www.cnblogs.com/liuwanpeng/p/7884557.html