在 ROS Noetic 中使用带 GPU 支持的 PCL

前言 ROS Noetic 中自带的 PCL 1.10 并没有 GPU 支持。如果想要启用 GPU/CUDA 支持的话,只能自己编译。 然而与 OpenCV 类似,ROS 使用了 pcl_ros, pcl_conversions 等包作为 PCL 与 在 ROS 的接口,使用自编译版本的 PCL 需要修改这些包的设置,较为麻烦。 以下是在 ROS 中使用自编译(带 GPU 支持)版本 PCL 的完整步骤。 编译 PCL 最新版 PCL (PCL 1.14.0) 若启用 gpu 支持,需要 CUDA Toolkit v9.2+ 同时,因为使用了 ccmake,需要安装 cmake-curses
阅读更多

LFS 搭建 6 系统配置

现在正式进入系统配置阶段。 网络配置 这里使用 systemd-networkd 和 systemd-resolved 因为我需要远程登录,因此此处选择静态 ip: 静态 IP 配置 这里还不知道目标机器网卡接口名,这个值可以用于大部分有线接口,其他参数自行替换。 1 2 3 4 5 6 7 8 9 cat > /etc/systemd/network/10-eth-static.network << "EOF" [Match] Name=en* [Network] Address=192.168.1.105/24 Gateway=192.168.1.1 DNS=192.168.1
阅读更多

LFS 搭建 5 正式构建 (2)

现在继续构建剩下的软件包。 构建软件包 Inetutils-2.1 1 2 tar -xvf inetutils-2.1.tar.xz cd inetutils-2.1 configure 1 2 3 4 5 6 7 8 9 10 ./configure --prefix=/usr \ --bindir=/usr/bin \ --localstatedir=/var \ --disable-logger \ --disable-whois \
阅读更多

LFS 搭建 4 正式构建 (1)

在临时系统构建完成后,从现在开始,就进入正式构建阶段。 根据 LFS 手册,绝大多数包在编译时都不使用静态库,且一般都会在 configure 中直接关闭,不过 gcc 之类需要的除外。 在现阶段我并没有移植包管理器的打算,也许以后有时间我会出一篇将 Portage 移植到 LFS 的教程吧。 :D 进入 Chroot 环境 每次登录,都要检查$LFS: echo $LFS 首先先挂载/dev和内核虚拟文件系统 1 2 3 4 5 mount -v --bind /dev $LFS/dev mount -v --bind /dev/pts $LFS/dev/pts mount -v
阅读更多

LFS 搭建 3 Chroot 以及构建额外工具

现在开始就要 chroot 了,同时现在开始用户也要从lfs到root。 不过这个顺序相比 9.0 差别太大了吧…… 那么,现在就su吧。 记得设置$LFS: export LFS=/mnt/lfs 改变 LFS 系统目录的所有者 毕竟一个正常的系统其系统文件所有者不可能是lfs 1 2 3 4 chown -R root:root $LFS/{usr,lib,var,etc,bin,sbin,tools} case $(uname -m) in x86_64) chown -R root:root $LFS/lib64 ;; esac 准备虚拟内核文件系统 首先需要建立 dev
阅读更多

LFS 搭建 2 构建临时系统

准备工作做完之后,就要开始搭建临时工具链了。 但说是工具链,其实还包括一些其他工具。 开始前的准备 首先当然是登录lfs用户。 之后检查下$LFS是否设置正确。 echo $LFS 之后,需要检查以下部分是否正确设置,虽然大部分都不需要刻意留意,但不排除像我这样有特殊习惯的用户会不满足以下条件。 1. shell 用的是 bash。 不过目前大部分 shell 都是兼容 bash 的,比如我用的 zsh。 2. sh 符号链接到 bash。 这个绝大多数发行版都满足。 3. /usr/bin/awk符号链接到 gawk。 这个也不用在意 4. /usr
阅读更多

LFS 搭建 1 准备工作

那么,现在就正式开始。 目前目标机的硬盘在宿主机的位置为/dev/sdb。 分区 目前的分区方案如下 分区位置大小类型(挂载点)/dev/sdb1256MEFI 分区/dev/sdb24Gswap/dev/sdb3剩余部分/现在采用 parted 进行分区 1 2 3 4 5 6 # parted /dev/sdb (parted) mklabel gpt (parted) mkpart ESP fat32 1M 257M (parted) set 1 boot on (parted) mkpart primary linux-swap 257M 4353M (parted) m
阅读更多

LFS 的搭建 0 前言

前言 其实一开始要搭建 LFS 时,我是拒绝的。 但奈何自己手贱加学校的教务系统出问题,我同时选择了操作系统和操作系统课程设计。 而正常情况下是不能同时选择的。 而操作系统课程设计的大作业,就是搭 LFS。 也罢,这也是我的终极目标,虽然早了点,时间还被一大堆大作业和实验报告占满了,还有 ddl 催命。 于是,我就只能硬着头皮上了。 选择的版本 秉承要安装就要最新版的原则,我选择了最新的11.0 对了,是 systemd 版本的。 不过根据现在 LCTT 的进度,中文版最新到 9.0,因此 11.0 的版本只能硬啃生肉。 当然,不同版本之间差距应该并不大,所以我会参考中文最新版的就是了。
阅读更多

在 Proxmox VE 中添加 vTPM 的支持

!!注意 !! PVE 7.0 已经添加了 TPM 支持,只需在 Web 界面添加设备即可。 本文已经过时! 本文已经过时! 本文已经过时! 前言 虽然 Windows 11 的镜像早就泄露了,但在 6 月 24 日 23 点 Microsoft 才正式发布。发布会结束后,MS 官网放出了 Windows 11 的系统要求,其中一个必须要求是 TPM 2.0。 然而,Proxmox VE 并没有官方支持 vTPM , 虽然有qemu 有相应支持,但网上对此的文档很少。因此,本文在此写出让 PVE 支持 qemu vTPM 的方法以在虚拟机安装 Windows 11 预览版。 关于 Pro
阅读更多

从零开始搭建 Home Lab 3 安装 Gentoo 中的那些坑

当 Proxmox VE 已经搭建完成后,就可以准备开发机了。 创建虚拟机 其实 PVE 虚拟机创建向导很舒服,在一般情况下照着来就行。但对于 Gentoo,从这里开始就有坑了。 首先是 CPU,这个虽然不是坑,但这是我的一个小小的建议,将 CPU 类型设置为 host。毕竟由于 Gentoo 的特性,可以针对 CPU 进行优化,对于像好好玩 Gentoo 的人来说,个人认为这一点蛮重要的。而且由于要编译嘛,CPU 性能能榨干一点是一点。 此外就是各驱动了。千万不要选 VirtIO 驱动!除非你第一次安装就自己配置内核而且不使用 genkernel 生成的 initramfs。 因为以前被坑
阅读更多