OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9750|回复: 11

带桌面Ubuntu18根文件系统移植

[复制链接]

22

主题

71

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2018-12-10
在线时间
34 小时
发表于 2021-6-26 19:33:00 | 显示全部楼层 |阅读模式
带桌面Ubuntu18根文件系统移植
在此首先感谢群里的热心的网友仰望星空之云 xkwy techxuan lclinux,对了,差点忘了管理员,谢谢大家了!如果没有大家的支持我也无法成功移植Ubuntu 18,今天我把移植方法贡献出来,希望大家能够共同学习,共同进步。同时我在CSDN上也有分享,不过需要VIP会员哈,https://blog.csdn.net/weixin_41608556/article/details/118253137
此系统已经在NXP的IMX6Q IMX6SX IMX6ULL平台上运行成功!

Ubuntu 18.04.5具体移植方法如下:  
1、创建解压根文件系统的目录
mkdir/home/david/linux/nfs/ubuntu_rootfs  // david路径名替换为你自己的
2、cd /home/david/linux/nfs/ubuntu_rootfs // david路径名替换为你自己的
3、解压根文件系统
sudo tar -vzxfubuntu-base-18.04.5-base-armhf.tar.gz //解压完文件夹必须锁
4、安装qemu
sudo apt-get install qemu-user-static
将刚刚安装的qemu-user-static拷贝到刚刚解压出来的ubuntu base目录中,也就是ubuntu_rootfs/usr/bin目录下,命令如下:
cd /home/david/linux/nfs/ubuntu_rootfs//进入到ubuntu_rootfs目录下,david是我的用户名,请使用你的
sudo cp/usr/bin/qemu-arm-static ./usr/bin/ //拷贝qemu-arm-static
5、设置软件源(沿用旧软件源没有问题)
在设置软件源之前先将Ubuntu主机下的DNS配置文件/etc/resolv.conf拷贝到根文件系统中,可以不换源,但必须复制resolv.conf,否则不能update!
命令如下:
cd /home/david/linux/nfs/ubuntu_rootfs    //david路径名替换为你自己的
sudo cp /etc/resolv.conf ./etc/resolv.conf
6、创建挂载和卸载shell脚本
①创建挂载脚本,复制以下代码保存为mount.sh
#!/bin/bash
echo "MOUNTING"
sudo mount -t proc /proc /home/david/linux/nfs/ubuntu_rootfs/proc
sudo mount -t sysfs /sys /home/david/linux/nfs/ubuntu_rootfs/sys
sudo mount -o bind /dev /home/david/linux/nfs/ubuntu_rootfs/dev
sudo mount -o bind /dev/pts /home/david/linux/nfs/ubuntu_rootfs/dev/pts
sudo chroot /home/david/linux/nfs/ubuntu_rootfs
注意:请将david路径换成你自己的
②创建挂载脚本,复制以下代码保存为unmount.sh
#!/bin/bash
echo "UNMOUNTING"
sudo umount /home/david/linux/nfs/ubuntu_rootfs/proc
sudo umount /home/david/linux/nfs/ubuntu_rootfs/sys
sudo umount /home/david/linux/nfs/ubuntu_rootfs/dev
sudo umount /home/david/linux/nfs/ubuntu_rootfs/dev/pts
注意:请将david路径换成你自己的
在主机挂载根文件系统
sudo chmod 777 mount.sh unmount.sh
./mount.sh
7、安装软件
aptupdate
aptinstall sudo
aptinstall vim
aptinstall kmod
aptinstall net-tools
aptinstall ethtool
aptinstall ifupdown
aptinstall language-pack-en-base
aptinstall rsyslog
aptinstall htop
apt install iputils-ping
apt install systemd            //ubuntu18必须安装systemd,不然没有串口文件
8、安装桌面
apt install xubuntu-desktop
安装桌面可能会遇到错误:
Errors were encountered while processing:
blueman
E: Sub-process /usr/bin/dpkg returned an error code (1)
解决方法:
root@david-VirtualBox:/# mkdir var/lib/dpkg/info/
root@david-VirtualBox:/# apt-get -f install
root@david-VirtualBox:/# mv /var/lib/dpkg/info/* /var/lib/dpkg/info_old/
root@david-VirtualBox:/# rm -rf /var/lib/dpkg/info
root@david-VirtualBox:/# mv /var/lib/dpkg/info_old/ /var/lib/dpkg/info/
提示:如果以上方法仍然有报错,建议使用命令apt update,一般情况下都能解决!
9、设置root用户密码
passwd root
10、设置本机名称和IP地址
输入如下命令设置本机名称和IP地址:
echo " imx6sx"> /etc/hostname
echo "127.0.0.1localhost" >> /etc/hosts
echo"127.0.0.1 imx6sx" >> /etc/hosts
11、设置串口终端
ln -s/lib/systemd/system/getty@.service /etc/systemd/system/getty.target.wants/getty@ttymxc0.service
12、取消挂载
设置好以后就可以退出根文件系统了,输入如下命令退出:
exit
退出以后再执行一下unmount.sh脚本取消挂载,命令如下:
./unmount.sh
至此,ubuntu base根文件系统就已经制作好了,接下来可以通过NFS或者直接烧写到SD卡测试。
13、打包ubuntu根文件系统
cd/home/david/linux/nfs/ubuntu_rootfs //进入到ubuntu根文件系统
sudo tar-vcjf ubuntu_rootfs.tar.bz2 * //打包根文件系统
至此,根文件系统就做好了,这个方法已经通过测试了,但是过程中避免不了会遇到各种各样的问题,没关系,别放弃,解决一个问题就相当于上了一个台阶。
加油!如果有问题可以,给我留言,看到后我会及时回复。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

8

主题

214

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1171
金钱
1171
注册时间
2020-12-1
在线时间
149 小时
发表于 2021-6-28 09:57:12 | 显示全部楼层
请问下楼主,启动ubuntu18-base有没有遇到无法切换用户,或者权限不够、无法设置权限的问题?
回复 支持 反对

使用道具 举报

22

主题

71

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2018-12-10
在线时间
34 小时
 楼主| 发表于 2021-6-30 21:21:17 | 显示全部楼层
有出现过这样的问题,请看我的问题贴http://www.openedv.com/forum.php ... d=326671&extra=
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2019-11-18
在线时间
8 小时
发表于 2021-10-13 21:44:41 | 显示全部楼层
楼主,移植完成后,无法登入root账户,普通账户可以登录,请问是什么问题?谢谢!
回复 支持 反对

使用道具 举报

1

主题

2

帖子

0

精华

初级会员

Rank: 2

积分
123
金钱
123
注册时间
2020-10-22
在线时间
10 小时
发表于 2021-12-6 09:47:50 | 显示全部楼层
楼主,请教一下,您第4步安装qemu的目的是什么?是不是设备启动后先运行虚拟机qemu,然后再在qemu里面运行ubuntu啊?
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2021-12-7
在线时间
10 小时
发表于 2022-2-22 14:00:36 | 显示全部楼层
安装完界面后,mobatrem登录出现多次输入密码不正确现象,而不使用桌面就没有此问题
回复 支持 反对

使用道具 举报

22

主题

71

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2018-12-10
在线时间
34 小时
 楼主| 发表于 2022-3-5 15:03:01 | 显示全部楼层
@咱roll吧 是的
回复 支持 反对

使用道具 举报

22

主题

71

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2018-12-10
在线时间
34 小时
 楼主| 发表于 2022-3-5 15:03:49 | 显示全部楼层
咱roll吧 发表于 2021-12-6 09:47
楼主,请教一下,您第4步安装qemu的目的是什么?是不是设备启动后先运行虚拟机qemu,然后再在qemu里面运行u ...

是的,你理解的很对
回复 支持 反对

使用道具 举报

1

主题

9

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
222
金钱
222
注册时间
2020-5-26
在线时间
59 小时
发表于 2022-10-10 16:29:52 | 显示全部楼层
移植成功后屏幕就启动了?我在i.mx8mp上移植,用的hdmi的电脑屏,移植成功了。桌面一直起不来,你遇到过吗?
还有就是内核里的那些驱动,在文件系统中怎么加载。
回复 支持 反对

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2023-2-19
在线时间
6 小时
发表于 2023-2-19 00:28:40 | 显示全部楼层
请问按照您的方法移植ubuntu18后,通过开发板启动Ubuntu时输入密码正确但一直出现登录循环的问题怎么办,无论什么用户和密码都无法登录,折腾很久了
回复 支持 反对

使用道具 举报

22

主题

71

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2018-12-10
在线时间
34 小时
 楼主| 发表于 2023-11-7 14:18:47 | 显示全部楼层
55555666666 发表于 2022-10-10 16:29
移植成功后屏幕就启动了?我在i.mx8mp上移植,用的hdmi的电脑屏,移植成功了。桌面一直起不来,你遇到过吗 ...

目前我也出了这个问题,是否需要加载驱动?
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2020-6-24
在线时间
6 小时
发表于 2024-9-16 21:07:04 | 显示全部楼层
移植之后播放音乐没有声音怎么解决?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 21:58

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表