当前位置:网站首页 > 编程语言 > 正文

Ubuntu源码升级内核(ubuntu内核升级命令)



本文基于创龙教仪 TL3568-PlusTEB 嵌入式教学实验箱实现 ubuntu 系统移植,
瑞芯微平台提供的SDK支持buildroot、Debian、yocto,但Ubuntu需要自行定制文件系统。
本文详细介绍了如何在Ubuntu虚拟机中使用ubuntu-base构建根文件系统,包括设置软件源、配置DNS、安装必要软件和桌面环境,以及修改系统配置。以及如何打包镜像文件,并将其烧录到瑞芯微RK3568开发板上,涉及挂载、格式化、修复和调整镜像大小的步骤。

Ubuntu是一个以桌面应用为主的Linux发行版操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu"一词,意思是“人性”“我的存在是因为大家的存在",是非洲传统的一种价值观。
Ubuntu基于Debian发行版和GNOME桌面环境,而从11.04版起,Ubuntu发行版放弃了GNOME桌面环境,改为Unity。
此前人们认为Linux难以安装、难以使用,在Ubuntu出现后这些都成为了历史。Ubuntu也拥有庞大的社区力量,用户可以方便地从社区获得帮助。自Ubuntu 18.04 LTS起,Ubuntu发行版重新开始使用GNOME3桌面环境。

在ubuntu官网获取 ubuntu-base-18.04.5-base-arm64.tar.gz,创龙教仪提供对应的文件:

执行以下命令将文件拷贝到ubuntu虚拟机,新建目录,解压:

 
  

qemu-user-static是一个仿真器,可以选取arm64配置文件仿真开发板运行 环境,然后挂载下载的ubuntu-base文件,从而构建ubuntu文件系统

 
  

由于下载的ubuntu-base是aarch64架构的,因此需要拷贝 qemu-aarch64-static到ubuntu_rootfs/usr/bin/下

 
  

由于下载的ubuntu-base是aarch64架构的,因此需要拷贝 qemu-

 
  

需要注意的是,这里要用 ARM 源,不能复制我们本机的源

 
  

这里我们选择华为国内下载源,如下图所示:

 
  

为了可以联网更新软件,我们拷贝本机的dns配置文件到根文件系统

 
  

然后在/etc/resolv.conf文件中添加dns

sudo vim https://blog.csdn.net/Tronlongtech/article/details/ubuntu_rootfs/etc/resolv.conf

 
  

编写挂载脚本

 
  

增加脚本执行权限

 
  

挂载文件系统

 
  

 
  

 
  

为了方便,我们可以把密码也设置为

 
  

 
  

需要输入用户的一些信息,也可以直接回车保留默认值即可

默认情况下新用户是不能使用 sudo 命令的,我们需要修改/etc/sudoers 文件。

/etc/sudoers 文件默认是只读的,因此需要先修改此文件的写权限,使用如下命令:

 
  

然后使用 vim 打开/etc/sudoers,找到“root ALL=(ALL:ALL) ALL”这一行,在这一行下面添加:

 
  

修改完成以后保存退出,重新恢复/etc/sudoers 的只读属性,使用如下命令:

 
  

 
  

我们配置一下网络 DHCP,这样系统启动以后就会自动设置好网络

RK3568默认有两个网卡

网卡eth0:

 
  

网卡eth1:

 
  

在实际测试中网口必须接入网线系统才能正常启动,就是在不联网的情况下,每次开机都要等待很久,卡在网络连接上5分钟,这里我们可以修改下面这个文件:

 
  

将里面的TimeoutStartSec=5min 修改为:

 
  

重启开发板的时候,如果有进程没有结束,系统就会等待,默认等待时间很长,导致重启速度慢。

我们可以修改默认等待时间:

 
  

找到这几行:

 
  

我们使用以下命令修改 50-ubuntu.conf 文件:

 
  

在文件末尾加入以下内容,添加完成如下图所示:

 
  

修改完成后保存退出,然后输入以下命令修改 gdm-autologin 文件内容,修改完成如下图所示:

 
  

 
  

 
  

将文件最后一行改为以下内容,修改完成如下图所示:

 
  

 
  

[daemon]

AutomaticLoginEnable=true

AutomaticLogin=root

TimedLoginEnable=true

TimedLogin=root

TimedLoginDelay=10

 
  

sudo systemctl status sleep.target

 
  

sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

 
  

exit

 
  

bash mount.sh -u ubuntu_rootfs/

 
  

dd if=/dev/zero of=ubuntu_rootfs.img bs=1M count=20480

 
  

mkfs.ext4 ubuntu_rootfs.img

 
  

mkdir ubuntu_base_rootfs

sudo mount ubuntu_rootfs.img ubuntu_base_rootfs

sudo cp -rfp ubuntu_rootfs/* ubuntu_base_rootfs/

 
  

sudo umount ubuntu_base_rootfs/

e2fsck -p -f ubuntu_rootfs.img

 
  

0x0@0x00058000(rootfs),0x00040000@0x0(oem),0x00010000@0x0(amp),-@0x032a8000(userdata:grow)

 
  

到此这篇Ubuntu源码升级内核(ubuntu内核升级命令)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • enotfound(notfound翻译)2025-06-16 21:54:08
  • 3dtiles转换3dm(3dtiles转换osgb)2025-06-16 21:54:08
  • 虚拟u盘是什么(u盘虚拟内存什么意思)2025-06-16 21:54:08
  • 密码查询系统(密码查询问题是什么)2025-06-16 21:54:08
  • 文件权限777与775的区别(文件权限777什么意思)2025-06-16 21:54:08
  • 卡巴斯基2020(卡巴斯基2012特设了什么功能)2025-06-16 21:54:08
  • lda主题模型文本分类(lda主题模型结果)2025-06-16 21:54:08
  • 绿色代码(颜色代码对应表)2025-06-16 21:54:08
  • aw 是什么意思(law是什么意思)2025-06-16 21:54:08
  • 上一章返回目录下一章(返回上一级目录的快捷键)2025-06-16 21:54:08
  • 全屏图片