联想拯救者Y7000P:WIN10双系统的Ubuntu重装及VINS-Mono的配置

联想拯救者Y7000P:WIN10双系统的Ubuntu重装及VINS-Mono的配置

  • 前言
    • 碎碎念
  • 双系统中的Ubuntu重装
    • Ubuntu卸载
    • Ubuntu重装
  • Ubuntu配置
    • 基础问题配置
    • VINS-Mono环境配置
      • 配置OpenCV 3.3.1
      • 安装ROS Kinetic
      • 安装Eigen 3.3.3
      • 安装ceres 1.13.0
      • 配置VINS-Mono
    • 运行VINS-Mono

前言

经过一次Ubuntu使用的洗礼,感觉这真的是个很难驾驭的系统(可能因为是新手入门吧)。
最近在尝试配置港科大的单目视觉惯性里程计(VINS-Mono)程序,因为种种原因没有配置成功,在尝试各种纠错的时候因为误操作输入的:chmod -R 777 /,导致Ubuntu的全面崩盘,遂决定重装双系统里的Ubuntu部分。

碎碎念

总结先前使用Ubuntu的感觉,这里有几点需要说明的内容:
1、Ubuntu的/home和根目录需要大量磁盘空间,多分配一些。
2、一些环境变量修改的位置在~/.bashrc,你应该很熟悉了,慎重修改他们。
3、安装尽量安装在home或者从download安装(这样可以直接装在根目录中)。
4、对每一次的apt-get install都需要记录,以便检查核对安装内容。
Ubuntu启动盘、WIN10还原用启动盘,一切就绪。重装Ubuntu吧,希望不要出岔子。

双系统中的Ubuntu重装

在你决定重装双系统WIN10+Ubuntu之前,我可以认为你的双系统是早已安装完美了的。
这里提供一个WIN10下安装Ubuntu双系统的特别好的教程:
https://blog.csdn.net/qq_38962621/article/details/87390603
准备开始卸载Ubuntu,右键点击计算机,点击“管理”可以看到如下的磁盘分区状态,这个分区是我已经完成了Ubuntu重装后的样子,重装之前和重装后应该大差不差。
联想拯救者Y7000P:WIN10双系统的Ubuntu重装及VINS-Mono的配置_第1张图片
对于联想Y7000P固态硬盘这类的UEFI启动方式(好像是这个叫法),必须要有单独留出的启动引导分区,图中的99M为WIN10的EFI引导分区,477M是Ubuntu的EFI引导分区。

Ubuntu卸载

按照如下的步骤进行你的Ubuntu卸载之旅吧:
1、插入U盘(已经制作成了启动盘,不知道的话可以百度搜索 U盘启动盘)。
2、重启电脑,连续按F2,Boot Mode 改为 Legacy Support,Boot Priority 改为 UEFI First。
3、再次重启电脑,F12,选择USB启动,选择DiskGenius分区管理。
4、可以看到分区7-10为Ubuntu的四分区,直接格式化吧。

格式化后就变成了下面这张图的样子,一开始我装双系统的时候Ubuntu就给了100G,现在它们又回来了。在格式化之前记得去Ubuntu里把文件都拷贝出来。

格式化完毕且删除分区,空闲100GB准备重装。重启选择Windows boot,可正常启动Win10。

Ubuntu重装

还是完全按照这个教程:https://blog.csdn.net/qq_38962621/article/details/87390603
1、插入Ubuntu启动盘(已经烧录了Ubuntu16.04的启动盘)
2、F12,注意!选择Linpus lite启动USB。
3、开始按照教程安装。
(1)、选择 中文,不连接互联网,不勾选安装第三方,其它选项。
(2)、选中刚刚格式化出来的空闲分区(约100G)点击“+”。
(3)、分配:/ 30720M(30G)、swap交换空间 9740M、EFI系统分区 500M、/home 约67105M。
(4)、分配好后不要点安装,找到EFI分区(nvme0n1p10 efi),安装启动引导设备选择这个分区。
安装成功,重新启动,发现已经可以完美选择双系统了。

Ubuntu配置

先记录一些常用的可能问题的解决方案,后列出配置VINS-Mono的全过程。

基础问题配置

一、开机启动项的顺序、等待时间调整(深红色的选择界面)

#从桌面打开终端,输入:
sudo gedit /boot/grub/grub.cfg

在打开的grub.cfg文件中查找(查找功能可用Ctrl+F实现)
set default=”0”,这里的default的值就是默认启动项的标号。我修改为2,让Windows为默认选项。
查找“10”,找到set timeout=10,我全部修改为5,也就是等待5秒。

二、Ubuntu无法连接到无线网

#从桌面打开终端,输入:
rfkill list all
rfkill unblock all
sudo gedit /etc/modprobe.d/ideapad.conf
#打开文件后在文本第一行输入:blacklist ideapad_laptop
#保存并关闭后再执行:
sudo modprobe -r ideapad_laptop

三、双系统时钟不同步问题

sudo timedatectl set-local-rtc 1
sudo apt-get install ntpdate	#可能需要更新成阿里云软件源
sudo ntpdate time.windows.com
sudo hwclock --localtime --systohc

四、无法播放音乐和视频

#发现打开Bilibili不能快乐摸鱼,从桌面终端输入:
sudo apt install ffmpeg

至此,基本已经完成所有Ubuntu系统重装工作。不要因为强迫症而破坏电脑,不完美亦是平衡。

VINS-Mono环境配置

港科大VINS-Mono:https://github.com/HKUST-Aerial-Robotics/VINS-Mono。
他们用的是 Ubuntu 16.04, ROS Kinetic, OpenCV 3.3.1, Eigen 3.3.3,那我也配置一模一样的。

配置OpenCV 3.3.1

先尝试下载opencv-3.3.1.zip,把他移动至Download里,开始操作。
具体操作过程按照:https://blog.csdn.net/qzx9059/article/details/88680475。

这里需要说明的一点,按照教程里的步骤,以下三条指令要在安装之前必须成功运行然后你再进行OpenCV的安装,否则即使安装好了也是用不了的!(安装之前必须要先安装libgtk2.0-dev…)

#从桌面打开终端,输入:
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

如果指令报错(说什么因为依赖这个所以不能装那个之类的),就需要更新软件源了。

#从桌面打开终端,输入:
sudo gedit /etc/apt/sources.list
#在末尾添加如下内容:
deb http://cn.archive.ubuntu.com/ubuntu/ xenial main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse
#保存关闭,输入:
sudo apt-get update

然后继续按照教程,完成OpenCV 3.3.1的安装和配置。

安装ROS Kinetic

具体操作过程按照:https://www.cnblogs.com/longronglang/p/11386522.html
清华大学源:https://mirrors.tuna.tsinghua.edu.cn/。
按照上面的教程就可以顺利下载安装ROS Kinetic了!

安装完成后,再按照:https://blog.csdn.net/weixin_43159148/article/details/83375218,进行初始化。
在执行初始化命令 sudo rosdep init 时出现报错,进行如下操作:

#从桌面打开终端,输入:
sudo gedit /etc/hosts	#打开hosts文件
#在文件末尾添加:
151.101.84.133  raw.githubusercontent.com	
#保存后退出再尝试 sudo rosdep init。

安装Eigen 3.3.3

#从桌面打开终端,输入:
sudo wget https://github.com/eigenteam/eigen-git-mirror/archive/3.3.3.tar.gz
sudo tar -xzvf 3.3.3.tar.gz
sudo mv eigen-git-mirror-3.3.3/ eigen-3.3.3
cd eigen-3.3.3/
sudo mkdir build
cd build
sudo cmake ..
sudo make
sudo make install

安装ceres 1.13.0

安装教程:https://blog.csdn.net/llfjcmx/article/details/88831384
这里我事先下载好了ceres-solver-1.13.0.tar,我把它也放在了Download里。一定要从这里安装!这样就会默认装在根目录(/usr/local/lib/)中了。

#从桌面打开终端,输入:
sudo apt-get install cmake libgoogle-glog-dev libatlas-base-dev libeigen3-dev libsuitesparse-dev
sudo add-apt-repository ppa:bzindovic/suitesparse-bugfix-1319687
sudo apt-get update
#以上是安装一些依赖项,然后手动解压放在Download里的ceres-solver-1.13.0.tar。
#进入ceres-solver-1.13.0文件夹,打开终端,输入:
mkdir build
cd build
cmake ..
sudo make install

配置VINS-Mono

先从港科大网站里下载好VINS-Mono-master.zip。

#从桌面打开终端,输入:
mkdir -p vins-mono-catkin_ws/src
cd vins-mono-catkin_ws/src/
#将事先下载好的VINS-Mono-master.zip放在src中,解压后继续在刚刚的终端里输入:
cd ..
catkin_make
source devel/setup.bash

运行VINS-Mono

#进入vins-mono-catkin_ws文件夹,打开三个终端:
source devel/setup.bash
roslaunch vins_estimator euroc.launch	#第一个终端
source devel/setup.bash
roslaunch vins_estimator vins_rviz.launch	#第二个终端
source devel/setup.bash
rosbag play /home/jason/Dataset/EuRoC/MH_04_difficult.bag	#第三个终端,注意修改数据集位置

联想拯救者Y7000P:WIN10双系统的Ubuntu重装及VINS-Mono的配置_第2张图片
运行成功!功夫不负有心人。VINS-Mono终于被我征服了。
虽然是因为自己误操作破坏了系统,但重装Ubuntu从头配置运行条件果然还是很有用的。

你可能感兴趣的:(linux,opencv)