最近因为precision 3640 从复活节开始崩了三回,再加上新换的precision 3650 没有ubuntu 18 的配套ethernet driver,这段时间不知道重装了多少次系统,在这里记录一下,以免再装时忘记。
1. 正常用u盘装ubuntu 18
2. 进去后会发现没有ethernet。 首先将u盘中的/pool/main 文件夹cp到本机,进入 /g/gcc-7 和/g/gcc-default, 运行sudo dkpg -i *.deb, 在本机安装gcc,为等下装etehrnet driver 做准备。
然后将u盘中事先准备好的e1000e driver cp到/usr/src中解压缩, 然后进入 1-12 的folder中运行 sudo dkpg 1-12/*.deb。结束后进入/e1000e/src 运行sudo make 和sudo make install ,在没有报错的情况下运行sudo modprobe e1000e. 这时会出现有线连接的标志,如果没有,reboot
(TODO:这里附上driver的压缩包和相关链接)
3. 安装nvidia driver. 这里进入updates, 如果additional driver 搜不出东西,就将server换为main server,安装nvidia-driver-470 (for rtx 3080) .
4. 运行我事先写好的ubuntu18.sh 文件安装必要的软件(TODO: 继续更新)
不建议用sudo ubuntu drivers autoinstall 安装driver,后续会有问题。以及即使terminal提示有一些包不能用了,千万不要运行sudo apt autoremove, 这样做网卡就会又不能用,重新编译的话会报错找不到kernel files。
#ubuntu-driver
#sudo ubuntu-drivers autoinstall or install from the update softwaer part
#chrome
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt --fix-broken install
sudo apt install ./google-chrome-stable_current_amd64.deb
#vscode
sudo apt update
sudo apt install software-properties-common apt-transport-https wget -y
wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"
sudo apt install code
#other software
sudo apt install git
sudo apt install vim
#carla-autoware
#docker and nvidia-docker
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
sudo apt update
apt-cache policy docker-ce
sudo apt install docker-ce
#nvidia-docker
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd
如果nvidia-docker 安装报错,参考这个链接:
5. 安装carla-autoware:
另一个大坑。一般有两个问题,一是安装之后运行的时候rviz 里看不到地图,我第一次装的时候也遇到过这个问题,当时不太记得怎么fix‘好的了,结果这次(23.6.3) 重装的时候在这个问题上花了非常久的时间。主要的解决方式是要用git lfs 来clone
cd ~
git lfs clone https://github.com/carla-simulator/carla-autoware.git
cd carla-autoware
git submodule update --init
参考链接:https://github.com/carla-simulator/carla-autoware/issues/100
第二问题就是在build autoware docker 的时候是会报错的,fix 后的版本是:
ARG AUTOWARE_VERSION=1.14.0-melodic-cuda
FROM autoware/autoware:$AUTOWARE_VERSION
WORKDIR /home/autoware
# Update simulation repo to latest master.
COPY --chown=autoware update_sim.patch ./Autoware
RUN patch ./Autoware/autoware.ai.repos ./Autoware/update_sim.patch
RUN cd ./Autoware \
&& vcs import src < autoware.ai.repos \
&& git --git-dir=./src/autoware/simulation/.git --work-tree=./src/autoware/simulation pull \
&& source /opt/ros/melodic/setup.bash \
&& AUTOWARE_COMPILE_WITH_CUDA=1 colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
# CARLA PythonAPI
RUN mkdir ./PythonAPI
ADD --chown=autoware https://carla-releases.s3.eu-west-3.amazonaws.com/Backup/carla-0.9.10-py2.7-linux-x86_64.egg ./PythonAPI
RUN echo "export PYTHON2_EGG=$(ls /home/autoware/PythonAPI | grep py2.)" >> .bashrc \
&& echo "export PYTHONPATH=\$PYTHONPATH:~/PythonAPI/\$PYTHON2_EGG" >> .bashrc
# CARLA ROS Bridge
# There is some kind of mismatch between the ROS debian packages installed in the Autoware image and
# the latest ros-melodic-ackermann-msgs and ros-melodic-derived-objects-msgs packages. As a
# workaround we use a snapshot of the ROS apt repository to install an older version of the required
# packages.
#RUN rm /etc/apt/sources.list.d/cuda.list
#RUN rm /etc/apt/sources.list.d/nvidia-ml.list
#RUN apt-key del 7fa2af80
#RUN sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys F 42ED6FBAB17C654
#RUN apt-get update && apt-get install -y --no-install-recommends wget
#RUN wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-keyring_1.0-1_all.deb
#RUN dpkg -i cuda-keyring_1.0-1_all.deb
RUN rm /etc/apt/sources.list.d/cuda.list
RUN rm /etc/apt/sources.list.d/nvidia-ml.list
RUN apt-key del 7fa2af80
RUN apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/3bf863cc.pub
RUN apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/7fa2af80.pub
#RUN sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys F42ED6FBAB17C654
RUN sudo rm -f /etc/apt/sources.list.d/ros1-latest.list
RUN sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key 4B63CF8FDE49746E98FA01DDAD19BAB3CBF125EA
RUN sudo sh -c 'echo "deb http://snapshots.ros.org/melodic/2020-08-07/ubuntu $(lsb_release -sc) main" >> /etc/apt/sources.list.d/ros-snapshots.list'
RUN sudo apt-get update && sudo apt-get install -y --no-install-recommends \
python-pip \
python-wheel \
ros-melodic-ackermann-msgs \
ros-melodic-derived-object-msgs \
&& sudo rm -rf /var/lib/apt/lists/*
RUN pip install simple-pid pygame networkx==2.2
RUN git clone -b '0.9.10.1' --recurse-submodules https://github.com/carla-simulator/ros-bridge.git
# CARLA Autoware agent
COPY --chown=autoware . ./carla-autoware
RUN mkdir -p carla_ws/src
RUN cd carla_ws/src \
&& ln -s ../../ros-bridge \
&& ln -s ../../carla-autoware/carla-autoware-agent \
&& cd .. \
&& source /opt/ros/melodic/setup.bash \
&& catkin_make
RUN echo "export CARLA_AUTOWARE_CONTENTS=~/autoware-contents" >> .bashrc \
&& echo "source ~/carla_ws/devel/setup.bash" >> .bashrc \
&& echo "source ~/Autoware/install/setup.bash" >> .bashrc
CMD ["/bin/bash"]
用这部分的内容更换Dockerfile 中的内容就可以了。