Ubuntu嵌入式开发环境搭建汇总

本篇博客是自己从一个全新安装的ubuntu上一步步搭建内核开发环境的记录汇总,以防以后再次安装系统,查各种博客配置环境。

vscode安装

  1. sudo vim /etc/apt/sources.list.d/vscode.list 并向里面添加:deb [arch=amd64] http://packages.microsoft.com/repos/vscode stable main
  2. curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
  3. sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
  4. sudo apt-get update
  5. sudo apt-get install code
  6. run code

交叉编译工具链

我直接下载第三方制作好的工具链,配置一下环境变量就可以直接用了。
下载地址:https://www.linaro.org/downloads/ 根据你使用SOC的架构选择对应Binaries,当然你比较肝的话可以下Source自己编译
在这里插入图片描述

写个build.sh环境变量配置脚本,每次开机的时候可以source build.sh。方便切换不同的工具链。

#!/bin/bash
/*工具链安装绝对路径*/
export PATH=$PATH:/workspace/toolchain/arm-cross-toolchain/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin

内核代码下载

git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
cd linux-stable
git checkout -b linux-4.9.y origin/linux-4.9.y                 //切换到你想使用的分支
/*因为用qemu模拟vexpress开发板,所以直接用内核默认的vexpress_defconfig配置内核*/
make	ARCH=arm vexpress_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j8
make zImage
make dtbs

如果嫌国外链接下载太慢可以直接使用下列的链接下载压缩包
http://ftp.sjtu.edu.cn/sites/ftp.kernel.org/pub/linux/kernel/

qemu模拟器下载

直接从官网下载压缩包编译安装:https://www.qemu.org/download/
依赖库安装

sudo apt-get install pkg-config libglib2.0-dev libmount-dev python3 python3-pip python3-dev git libssl-dev libffi-dev build-essential autoconf automake libfreetype6-dev libtheora-dev libtool libvorbis-dev pkg-config texinfo zlib1g-dev unzip cmake yasm libx264-dev libmp3lame-dev libopus-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo wget zlib1g-dev libpixman-1-dev

qemu解压编译

wget https://download.qemu.org/qemu-5.2.0.tar.xz
tar xvJf qemu-5.2.0.tar.xz
cd qemu-5.2.0
./configure
make -j8
make install

下面就是如何用qemu将kernel跑起来的相关配置了

首先我的目录结构是这样的,后续创建的目录也均在vm/内
├ vm
│ ├── arm-cross-toolchain
│ ├── buildroot
│ ├── linux-stable
│ └── qemu-5.2.0
创建/vm/extra目录,启动相关脚本run.sh保存在整个目录下

#!/bin/bash
qemu-system-arm -nographic -sd vexpress.img -M vexpress-a9 -m 512M -kernel ../linux-stable/arch/arm/boot/zImage -dtb ../linux-stable/arch/arm/boot/dts/vexpress-v2p-ca9.dtb -smp 4 -append "init=/linuxrc root=/dev/mmcblk0p1 rw rootwait earlyprintk console=ttyAMA0" 2>/dev/null

用qemu模拟vexpress开发版,根文件系统的制作我参考了这篇博客:https://linus.blog.csdn.net/article/details/108878062
我制作的内核镜像已经包含了文件系统,所以可以直接启动
在这里插入图片描述
qemu 退出方法 ctrl + A 按 X

下一篇单独介绍busybox制作根文件系统的博客地址:https://blog.csdn.net/qq_25356929/article/details/113486439

_到这基本上开发的环境就搭好了,剩下的就是vim的配置了。我会在另一篇博客中单独总结_

vim配置的总结:https://blog.csdn.net/qq_25356929/article/details/113091723

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:编程工作室 设计师:CSDN官方博客 返回首页
评论

打赏作者

qq_25356929

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值