第4章:基础开发工具安装:Git、Repo、Vim、SSH、Samba等工具的安装与配置
好,咱们继续往前走。上一章我们把Ubuntu系统装好了,现在桌面干干净净的,像个毛坯房。这一章我们要做的就是——往这个毛坯房里装「水电煤」。说白了,就是把这些开发必备的工具装好、配好。
我个人习惯是,拿到一台新机器或者新系统,第一件事就是把Git、Vim、SSH这几个家伙先请进来。为什么?因为后面所有的代码下载、编辑、远程调试,全都离不开它们。你想想看,没有Git你怎么拉代码?没有SSH你怎么连开发板?
4.1 Git:版本控制的基石
Git这东西,做Camera HAL开发的人几乎天天用。我见过不少新手,装完Git就以为完事了,结果一提交代码就报错——用户名和邮箱都没配。嗯,这里要注意,Git装完第一件事就是配身份信息。
安装很简单,一行命令搞定:
sudo apt update
sudo apt install git -y
装完之后,马上配一下全局信息:
git config --global user.name "你的名字"
git config --global user.email "你的邮箱@example.com"
为什么要配这个?因为每次commit都会记录是谁提交的。我在项目中遇到过,团队里有人没配邮箱,结果代码审查的时候根本不知道是谁写的,查起来特别麻烦。
再配几个我常用的别名,能省不少事:
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status
git config --global init.defaultBranch main 就能搞定。
4.2 Repo:Android源码管理利器
做Camera HAL开发,你迟早要跟Android源码打交道。Android源码有多大?几十个G,几百个Git仓库。你一个个去git clone?那得克隆到猴年马月去。
Repo就是Google专门为管理多仓库而生的工具。它本质上是一个Python脚本,帮你批量操作一堆Git仓库。
安装Repo前,先确保Python装好了:
python3 --version
如果没装,补上:
sudo apt install python3 -y
然后下载Repo脚本:
mkdir -p ~/bin
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
记得把~/bin加到PATH里。编辑~/.bashrc,在末尾加上:
export PATH=$PATH:~/bin
然后source一下:
source ~/.bashrc
验证一下:
repo --version
看到版本号就说明装好了。
4.3 Vim:终端里的编辑器之王
做嵌入式开发,很多时候你只有命令行界面。没有图形界面怎么办?用Vim。说实话,Vim的学习曲线确实有点陡,我刚开始用的时候也觉得别扭。但一旦习惯了,你会发现它的效率是真的高。
安装:
sudo apt install vim -y
装完我建议配一个简单的.vimrc,让编辑体验好一点:
vim ~/.vimrc
写入以下内容:
syntax on
set number
set tabstop=4
set shiftwidth=4
set expandtab
set autoindent
set hlsearch
这几行的意思分别是:开启语法高亮、显示行号、Tab宽度设为4、自动缩进、搜索高亮。嗯,够用了。
我个人习惯再装一个插件管理器,比如Vundle或者vim-plug,方便以后扩展功能。不过新手可以先不折腾插件,先把基本操作练熟。
:q,保存退出用 :wq,不要用Ctrl+Z!
4.4 SSH:远程连接的命脉
做Camera HAL开发,你的开发机可能是一台高性能服务器,或者你需要在电脑上远程连到开发板去调试。这时候SSH就是你的命脉。
安装SSH服务端和客户端:
sudo apt install openssh-server openssh-client -y
装完检查一下服务状态:
sudo systemctl status ssh
如果没启动,手动启动:
sudo systemctl start ssh
sudo systemctl enable ssh
为了安全,我建议修改一下SSH默认配置。编辑配置文件:
sudo vim /etc/ssh/sshd_config
找到这几行,改成这样:
Port 2222 # 改掉默认的22端口,减少被扫描的风险
PermitRootLogin no # 禁止root直接登录
PasswordAuthentication yes # 先用密码登录,后面配好密钥再关掉
改完重启服务:
sudo systemctl restart ssh
然后生成密钥对,方便以后免密登录:
ssh-keygen -t rsa -b 4096
一路回车就行。生成的公钥在~/.ssh/id_rsa.pub里,私钥在~/.ssh/id_rsa里。把公钥复制到你要登录的机器上:
ssh-copy-id -p 2222 用户名@目标IP
4.5 Samba:Windows和Linux之间的桥梁
很多做Camera HAL开发的同事,主力机是Windows,但开发环境在Linux上。怎么在两个系统之间方便地传文件?U盘拷来拷去?太原始了。Samba就是用来解决这个问题的。
安装Samba:
sudo apt install samba samba-common -y
装完配置共享目录。编辑配置文件:
sudo vim /etc/samba/smb.conf
在文件末尾添加:
[shared]
comment = Shared Folder for Camera HAL Dev
path = /home/你的用户名/shared
browseable = yes
read only = no
guest ok = no
valid users = 你的用户名
然后创建共享目录并设置权限:
mkdir ~/shared
chmod 755 ~/shared
添加Samba用户(注意,这个密码可以和系统登录密码不同):
sudo smbpasswd -a 你的用户名
重启Samba服务:
sudo systemctl restart smbd
sudo systemctl enable smbd
在Windows上,打开文件资源管理器,输入 \\Linux主机的IP\shared,输入刚才设置的用户名和密码,就能看到共享目录了。
4.6 其他实用小工具
除了上面这几个核心工具,我还会顺手装一些平时用得上的小工具:
| 工具 | 用途 | 安装命令 |
|---|---|---|
| tree | 以树形结构显示目录 | sudo apt install tree -y |
| htop | 更直观的系统监控 | sudo apt install htop -y |
| net-tools | 网络诊断工具(ifconfig等) | sudo apt install net-tools -y |
| curl | 命令行下载工具 | sudo apt install curl -y |
| build-essential | 编译工具链(gcc、make等) | sudo apt install build-essential -y |
这些工具虽然小,但关键时刻能救命。比如有一次我排查网络问题,发现ifconfig没装,还得现去查命令安装,耽误了不少时间。
好了,这一章的内容就到这里。工具装好只是第一步,下一章我们会聊聊怎么配置开发环境,让这些工具真正为Camera HAL开发服务。到时候见。