联想拯救者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固态硬盘这类的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 #第三个终端,注意修改数据集位置
运行成功!功夫不负有心人。VINS-Mono终于被我征服了。
虽然是因为自己误操作破坏了系统,但重装Ubuntu从头配置运行条件果然还是很有用的。