开发环境_Linux

news/2024/12/2 22:37:19/

环境搭建

文章目录

  • 环境搭建
    • @[toc]
    • Docker
      • Docker运行权限
      • Docker加速
      • Docker容器创建
    • Python版本切换
    • 版本工具
      • Repo
      • Git
    • 开发
      • SDK代码拉取
        • 在线
        • 离线(推荐)
    • Debian
      • 安装软件包
      • 编译
      • 打包
    • 问题
      • 技巧

Docker

sudo apt  install docker.io

Docker运行权限

#添加docker group
sudo groupadd docker# 将当前用户添加到docker组
sudo gpasswd -a ${USER} docker# 重启docker服务:
sudo service docker restart
​
# 查看用户组及成员:
cat /etc/group | grep docker

Docker加速

# 编辑 Docker 配置文件
$ sudo vim /etc/docker/daemon.json
​
# 加入以下配置项
{"registry-mirrors": ["https://dockerproxy.com","https://hub-mirror.c.163.com","https://mirror.baidubce.com","https://ccr.ccs.tencentyun.com"]
}# 重启docker
$ sudo service docker restart

Docker容器创建

# 推荐:Ubuntu 18.04 版本  
# 拉取Ubuntu镜像
docker pull ubuntu:18.04# 进入关联源码目录挂载使用绝对路径,启动Docker
cd ~
docker run -it -v ${PWD}:${PWD} --privileged --name Ubuntu18_Lubancat2 ubuntu:18.04# 环境依赖
apt-get update# Docker 补充
apt install -y bc time rsync curl vim sudo# 安装 SDK 构建所需要的软件包
apt install -y git ssh make gcc libssl-dev liblz4-tool u-boot-tools curl \
expect g++ patchelf chrpath gawk texinfo chrpath diffstat binfmt-support \
qemu-user-static live-build bison flex fakeroot cmake gcc-multilib g++-multilib \
unzip device-tree-compiler python-pip libncurses5-dev python3-pyelftools \
dpkg-dev# 添加用户
adduser gaoyang3513# 为用户username添加sudo权限
sudo usermod -a -G sudo gaoyang3513# sudo 免密,在sudoer.d目录新建docker-nopasswd
#    添加内容:gaoyang3513 ALL=(ALL) NOPASSWD: ALL
sudo visudo /etc/sudoers.d/docker-nopassswd# 切换用户
su gaoyang3513

Python版本切换

# 添加,优先python3
update-alternatives --install /usr/bin/python python /usr/bin/python2 100
update-alternatives --install /usr/bin/python python /usr/bin/python3 150# 切换
update-alternatives --config python

版本工具

Repo

# 环境配置
mkdir -p ~/.local/bin/
export PATH=~/.local/bin/:$PATH# 下载
curl https://storage.googleapis.com/git-repo-downloads/repo > .local/bin/repo# 权限
chmod a+x .local/bin/repo# 生效
source .profile

Git

git config --global user.name "gaoyang3513"
git config --global user.email "gaoyang3513@163.com"git config --global core.editor vim

开发

SDK代码拉取

在线

#github地址
repo --trace init --depth=1 --repo-url https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -u https://github.com/LubanCat/manifests.git -b linux -m rk356x_linux_release.xml # 同步源码
repo --trace sync -c -j4

离线(推荐)

# 离线SDK,解压
cd SDK_RK3568_Linux_New 
7z x ../../01-Resource/01-鲁班猫/8-SDK源码压缩包/LubanCat_rk356x_Linux_SDK_20230711.7zrepo init --depth=1 -u https://github.com/LubanCat/manifests.git -b linux -m rk356x_linux_release.xml# 检出.repo 目录下的 git 仓库并同步
repo sync -l -j10
# 不推荐同步
# repo sync -c -j10

Debian

安装软件包

sudo apt install binfmt-support qemu-user-static# 安装 debian 根文件系统构建依赖的软件包,无视过程报错
sudo dpkg -i debian/ubuntu-build-service/packages/*
sudo apt-get install -f

编译

# 选择目标
#     10. BoardConfig-LubanCat-RK3568-debian-xfce.mk
./build.sh lunch

打包

# 一键编译 u-Boot, kernel, Rootfs, Recovery, 并打包为 update.img 镜像
./build.sh

问题

  • 错误1../build.sh: line 717: /usr/bin/time: No such file or directory
atp instal -y time
  • 错误2. 2023-09-08T01:18:53 You must install 'rsync' on your build machine

    apt install -y rsync
    
  • 错误3. fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle

    # vi ~/bin/repo
    ​
    - REPO_URL = 'https://gerrit.googlesource.com/git-repo'
    + REPO_URL = 'https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'
    

    或repo init时参数--repo-url指定,如:--repo-url https://mirrors.tuna.tsinghua.edu.cn/git/git-repo

  • 错误.Failed to run livebuild, please check your network connection.

    if [ -f binary-tar.tar.gz ]; then \tar -jcf linaro-buster-alip-`date +%Y%m%d`-1.config.tar.bz2 auto/ config/ configure; \sudo mv binary.contents linaro-buster-alip-`date +%Y%m%d`-1.contents; \sudo mv chroot.packages.live linaro-buster-alip-`date +%Y%m%d`-1.packages; \sudo mv binary-tar.tar.gz linaro-buster-alip-`date +%Y%m%d`-1.tar.gz; \md5sum linaro-buster-alip-`date +%Y%m%d`-1.build-log.txt linaro-buster-alip-`date +%Y%m%d`-1.config.tar.bz2 linaro-buster-alip-`date +%Y%m%d`-1.contents linaro-buster-alip-`date +%Y%m%d`-1.packages linaro-buster-alip-`date +%Y%m%d`-1.tar.gz > linaro-buster-alip-`date +%Y%m%d`-1.md5sums.txt; \sha1sum linaro-buster-alip-`date +%Y%m%d`-1.build-log.txt linaro-buster-alip-`date +%Y%m%d`-1.config.tar.bz2 linaro-buster-alip-`date +%Y%m%d`-1.contents linaro-buster-alip-`date +%Y%m%d`-1.packages linaro-buster-alip-`date +%Y%m%d`-1.tar.gz > linaro-buster-alip-`date +%Y%m%d`-1.sha1sums.txt; \
    fiFailed to run livebuild, please check your network connection. 
    VERSION=none TARGET=xfce SOC=rk356x ./mk-buster-rootfs.sh
    

    直接原因为binary-tar.tar.gz文件未生成,根本原因为qemu中挂载/proc目录失败,解决方案:参考1.docker 中使用mount命令报错:mount: permission denied

技巧

# 新开
docker exec -it Ubuntu20_RK3568 /bin/bash
  • Github加速

    参考1.

  • 百度网盘加速

    参考1.

  • sudoer修改

    参考1. 批量修改ubuntu用户sudo免密码


http://www.ppmy.cn/news/1116620.html

相关文章

c语言进阶部分详解(指针进阶1)

大家好!指针的初阶内容我已经写好,可移步至我的文章:c语言进阶部分详解(指针初阶)_总之就是非常唔姆的博客-CSDN博客 基本内容我便不再赘述,直接带大家进入进阶内容: 目录 一.字符指针 1.讲解…

深眸科技迭代深度学习算法,以AI机器视觉技术扩围工业应用场景

智能制造是制造业数智化转型升级的发展方向,在当前以高端装备制造为核心的工业4.0时代背景下,越来越多的制造企业意识到机器视觉对于提高效率、降低成本,从而提升企业效益的意义。 目前,机器视觉已成为制造业迈向智能制造过程中极…

Ubuntu修改静态IP、网关和DNS的方法总结

Ubuntu修改静态IP、网关和DNS的方法总结 ubuntu系统(其他debian的衍生版本好像也可以)修改静态IP有以下几种方法。(搜索总结,可能也不太对) /etc/netplan (use) Ubuntu 18.04开始可以使用netplan配置网络&#xff0…

设计模式:桥接器模式(C++实现)

桥接器模式(Bridge Pattern)是一种结构设计模式,它将抽象部分与实现部分分离,使它们可以独立地变化。桥接器模式通常用于需要在多个维度上扩展和变化的情况下,将抽象和实现解耦。 以下是一个简单的C桥接器模式的示例&a…

掷骰子的多线程应用程序2基于互斥量的线程同步(复现《Qt C++6.0》)

说明:在复现过程中出现两点问题(1)run()函数中对m_diceValued的赋值(2)do_timeOut()函数中没有对m_seq、m_diceValued进行定义。修改后的复现程序如下所示: 主线程: .h #pragma once#include…

武汉凯迪正大—雷电冲击电压发生器

雷电冲击电压发生器系统特点 1.采用PLC可编程控制器技术,使控制系统实现超小型化及高可靠性能的智能自动控制和测量;配合我公司的数字化测控系统方便的与计算机连接,实现计算机智能自动控制、测量和管理 。 2.输出极…

单片机测量任务运行时间

前言 1.之前是直接看定时器的计数值来粗略估计,可能会存在一些差错,也不够方便;所以做一个比较通用的计算任务运行时间的小Demo。 2.用定时器的计数值查看开始的Tick和结束的Tick,然后定时器每隔1毫秒溢出一次,通过简…

【Linux学习】01Linux初识与安装

Linux(B站黑马)学习笔记 01Linux初识与安装 文章目录 Linux(B站黑马)学习笔记前言01Linux初识与安装操作系统简述Linux初识虚拟机介绍安装VMware Workstation虚拟化软件VMware中安装CentOS7 Linux操作系统下载CentOS操作系统VMwa…