完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
Kernel4
RK Linux SDK 的buildroot对ros支持4的步骤不友好,也没有记录教程,项目需求只好用ubuntu做文件系统。的 Ubuntu arm64 的图片可以在这里找到: 可以直接下载,或者通过以下的方法来下载:$ mkdir ~/ubuntu-rootfs && cd ubuntu-rootfs然后,通过以下的方法来下载arm64的发布软件:$ wget $ tar -xpf ubuntu-base-16.04.2-base-arm64.tar.gz解压缩后是这样的:用户@user:~/ubuntu-rootfs$ ls bin dev home media opt root ***in sys usr boot etc lib mnt proc run srv tmp var 2. 安装 qemu-user-static $ pwd /home/user/ubuntu-rootfs $ apt-get install qemu-user-static $ cp /usr/bin/qemu-aarch64-static usr /bin $ cp -b /etc/resolv.conf etc here/ 我们要注意的是针对我们arm64的qemu-user-static安装的文件是qemu-aarch64-static。 3.mount proc, sys, dev, dev /pts到新的文件系统 利用一个简单的ch-mount.sh脚本来完成这个动作。 它可以我们mount及unmount。 #!/bin/bash # #sudo chgrp -R root ubuntu-rootfs/ #sudo chown -R root ubuntu-rootfs/ function mnt() { echo “MOUNTING” sudo mount -t proc /proc ${2}proc sudo mount -t sysfs /sys ${2}sys sudo mount -o bind /dev ${2 }开发 sudo mount -o bind /dev/pts ${2}dev/pts sudo chroot ${2} } function umnt() { echo “UNMOUNTING” sudo umount ${2}proc sudo umount ${2}sys sudo umount ${ 2}dev/pts sudo umount ${2}dev } if [ “$1” == “-m” ] && [ -n “$2” ] ; 然后 mnt $1 $2 elif [ “$1” == “-u” ] && [ -n “$2” ]; 然后 umnt $1 $2 else echo “” echo “缺少第一个、第二个或两个参数” echo “” echo “第一个参数可以是以下参数之一:-m(mount) 或 -u(umount) ” echo “” echo “例如:ch-mount -m /mediasdcard/” echo “” echo 第一个参数:${1} echo 第二个参数:${2} fi 把下载好的脚本喷涂/ubuntu-rootf目录的上一级目录,并注意修改权限: user@user:~$ chmod a+x ch-mount.shmount 动作,退出后一定要执行重新执行unmount,否则你的本机ubuntu系统会出问题,需要重启 user@user:~$ sudo bash ch-mount.sh -m ubuntu-rootfs/ [ sudo] user 的密码: MOUNTING root@user:/#这样就可以 进入chroot的环境中了。 更新系统并安装所需要的包 使用如下命令来更新系统,并且安装所需要的包。网络环境,安装的时间可能会有差异。 root@user:/# apt-get update root@user:/# apt-get install language-pack-en-base sudo ssh net-tools ethtool wireless-tools lxde xfce4-power-manager xinit xorg network-manager iputils-ping rsyslog lightdm-gtk-greeter alsa-utils gnome -mplayer bash-completion lxtask htop python-gobject-2 python-gtk2 synaptic --no-install-recommends apt install bash-completion apt install vim 如不能安装更新一下源 apt update安装 dhcp server apt install isc-dhcp-server gcc make g++ apt install build-essential 4.系统基础配置 在chroot环境中配置 root@user:/# useradd -s ‘/bin/bash’ -m -G adm,sudo vampire root@user:/# passwd vampire root @user:/# passwd root设置主机 名 root@user:/# echo ‘ubuntu.vampire’ 》 /etc/hostname 自动设置更新DNS root@user:/# apt-get install resolvconf root@user:/# dpkg-reconfigure resolvconf 添加主机入口到/etc/hosts: root@user:/#echo “127.0.0.1 localhost” 》 /etc /hosts root@user:/#echo “127.0.0.1 ubuntu.vampire” 》 /etc/hosts root@user:/#echo “127.0.1.1 vampire” 》 /etc/hosts 设置时区 root@user:/# apt- get install tzdata root@user:/# dpkg-reconfigure tzdata 在lib目录下创建目录并进入我们自己硬件相关的模块文件 可以从主机中进入我们想要的arm64的模块系统中,比如我们想要的arm64的模块系统中: root@user:/# cp -r /opt/out/modules/3.4.5 ~/ubuntu-rootfs/lib/modules 在这里,我们把我们想要的定制包 ~ 到lib下面的modules中。 退出并制作可烧录的此处开机@user :/#退出 后一定要注意,退出umount出来,直接掉会执行一次本机系统挂载 退出 user@user**:〜$密码 /home/user/user@user:~$./ch-mount.sh -u ubuntu-rootfs / proc target is busy 如果umount失败,需要重启,然后直接下一步即可使用 5.制作打包ubuntu文件系统启动 dd指令空的容器 $ dd if=/dev/zero of=ubuntu-rootfs.img bs1M count=4096 bs以count是容器的大小,这个具体来的图像有多大看,编译规则后内容有镜像6g,所以这里可以把count=8192自适应。 $ sudo mkfs.ext4 ubuntu-rootfs.img 将arm64文件系统制作到ubuntu-rootfs.img $ mkdir ubuntu-mount $ sudo mount ubuntu-rootfs.img ubuntu-mount/ $ sudo cp -rfp ubuntu-rootfs/* ubuntu-mount/ $ sudo umount ubuntu-mount/ $ e2fsck -p -f ubuntu-rootfs.img $ resize2fs -M ubuntu-rootfs.img 最终,我们生成我们需要的ubuntu-rootfs.img文件: user@user:~$ ls ubuntu-rootfs.img -hal -rw-rw-r-- 1 个用户用户 2.0G 10 月 31 日 16:23 ubuntu-rootfs.img user@user:~$ 文件 ubuntu-rootfs.img ubuntu-rootfs.img: Linux rev 1.0 ext4 文件系统数据,UUID =9ed38b-e81a-4ec9-a8e0-bd185f223936 (需要日志恢复) (extents) (large files) (huge files) 6.下载到板子中引导 使用rk自带工具 。/upgrade_tool di -rootfs ubuntu- rootfs.img上电,帮助 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
rk1126实现BT601输入,输入不带IIC接口的驱动程序
1137 浏览 0 评论
1170 浏览 1 评论
2263 浏览 3 评论
RK3568 Android11让系统ntp校准时间生效,需要设置些什么
3028 浏览 1 评论
5022 浏览 2 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-16 02:39 , Processed in 0.580792 second(s), Total 70, Slave 54 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号