用数据库做学校网站,导购wordpress主题,如何建设网站zy258,电脑游戏排行榜2020前十名一、学习背景 从接触嵌入式至今#xff0c;除了安装过双系统接触了一丢丢linux外#xff0c;linux在我眼中向来是个传说。而如今得到了一块树莓派#xff0c;于是决心把linux搞起来。
二、概念学习 Linux操作系统通常是基于Linux内核#xff0c;并结合GNU项目中的工具和应…一、学习背景 从接触嵌入式至今除了安装过双系统接触了一丢丢linux外linux在我眼中向来是个传说。而如今得到了一块树莓派于是决心把linux搞起来。
二、概念学习 Linux操作系统通常是基于Linux内核并结合GNU项目中的工具和应用程序而成。Linux操作系统支持多用户、多任务和多线程具有强大的网络功能和良好的兼容性。 Kernel也就是Linux的内核它负责管理系统的硬件资源、提供基本的系统功能并作为用户空间和硬件之间的桥梁。包括资源管理、设备驱动、系统调度、文件系统管理、网络支持等功能所以它属于宏内核。与之对应的微内核则是只管好中断、调度等一些简单功能。 U-BootUniversal Boot Loader实际上就是一种引导加载程序bootloader。引导加载程序是用于引导计算机系统启动的软件它负责在系统上电后初始化硬件、加载操作系统内核到内存中并启动它。因此U-Boot就是一种特定类型的引导加载程序主要用于嵌入式系统中。
三、准备工作
系统准备
安装VMware这里安装的是17.0 Pro版本注册码网上搜的。到ubuntu官网下载一个ubuntu桌面系统镜像这里下载的是22.04版本。在VMware里新建一个虚拟机安装刚下载的ubuntu系统这里安装的是英文版。
环境准备
安装git方便下载一些开源的代码。安装vim虽然系统自带的vi也可以编辑文档但vim看起来舒服一点。安装vscode方便查看linux内核那大量代码。
四、内核编译 首先输入以下指令更新下当前软件包。
sudo apt update 获取内核版本号为了确认内核版本号一致。
sudo cat /proc/version接着查看当前linux可下载的内核版本有哪些下载与当前系统版本相同的内核版本源码。
sudo apt-cache search linux-source这里我们选择6.2.0。
sudo apt-get install linux-source-6.2.0进入内核源码对应的文件夹。
cd /usr/src/linux-source-6.2.0解压源码。
sudo tar xvf linux-source-6.2.0.tar.bz2进入解压后的文件夹。
cd linux-source-6.2.0配置内核。
sudo make menuconfig报了个错查了下是少了个ncurses设备驱动。 执行以下命令安装ncurses。
sudo apt-get install ncurses-dev继续报错那就继续处理查了下是缺少flex。 那就执行下面命令安装flex。
sudo apt-get install flex继续报错根据上面的报错信息应该也是装个bison就可以。
sudo apt-get install bison装完就可以进入配置页面了直接退出不需要修改设置。 接下来直接编译内核。
sudo make -j8继续疯狂报错还是一样一个个问题逐个击破。 第一个fatal error: libelf.h: No such file or directory是缺少一个libelf包安装一下。
sudo apt-get install libelf-dev第二个fatal error: openssl/opensslv.h:no such file or directory同理是缺少一个libssl包安排上。
sudo apt-get install libssl-dev继续往下翻连续三个都是缺少gelf.h查了下同样是因为缺少libelf包引起的那就不用重复安装了。 装完上面两个包重新编译继续报错。 查了下需要修改配置文件找到把“CONFIG_SYSTEM_TRUSTED_KEYS”把后面的debian/canonical-certs.pem去掉研究了下这个是debian系统的一些认证功能可以去掉。
CONFIG_SYSTEM_TRUSTED_KEYSdebian/canonical-certs.pemCONFIG_SYSTEM_TRUSTED_KEYS直接查文件有点难顶翻到一万多行才翻到。 删掉后重新编译等一个小时以上具体多长时间不知道编译了一个小时还没完就睡觉去了终于通过了。