完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
任务描述:制作openEuler 20.03 LTS的rootfs,使用Rockchip官方SDK制作内核,烧写镜像文件,整理过程和相关命令记录到文档。
1. 制作openEuler的rootfs.img 1.1 开发环境 树莓派--openEuler系统 openEuler 20.03 LTS 的内测版本镜像,下载。 1.2 具体操作 1.2.1 ssh远程连接树莓派
1.2.2 制作rootfs.img
mkdir ${WORKDIR}/rootfs mkdir -p ${WORKDIR}/rootfs/var/lib/rpm rpm --root ${WORKDIR}/rootfs/ --initdb
rpm -ivh --nodeps --root ${WORKDIR}/rootfs/ http://repo.openeuler.org/openEuler-20.03-LTS/everything/aarch64/Packages/openEuler-release-20.03LTS-33.oe1.aarch64.rpm 会在 ${WORKDIR}/rootfs 下生成三个文件夹 etc/ usr/ var/
mkdir ${WORKDIR}/rootfs/etc/yum.repos.d curl -o ${WORKDIR}/rootfs/etc/yum.repos.d/openEuler-20.03-LTS.repo https://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-20.03-LTS/generic.repo dnf --installroot=${WORKDIR}/rootfs/ install dnf --nogpgcheck -y dnf --installroot=${WORKDIR}/rootfs/ makecache dnf --installroot=${WORKDIR}/rootfs/ install -y alsa-utils wpa_supplicant vim net-tools iproute iputils NetworkManager openssh-server passwd hostname ntp bluez pulseaudio-module-bluetooth
cp /etc/hosts ${WORKDIR}/rootfs/etc/hosts 设置 DNS cp -L /etc/resolv.conf ${WORKDIR}/rootfs/etc/resolv.conf 编辑添加 nameserver vim ${WORKDIR}/rootfs/etc/resolv.conf 内容 nameserver 8.8.8.8 nameserver 114.114.114.114
mkdir ${WORKDIR}/rootfs/etc/sysconfig/network-scripts vim ${WORKDIR}/rootfs/etc/sysconfig/network-scripts/ifup-eth0 内容 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=dhcp DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=eth0 UUID=851a6f36-e65c-3a43-8f4a-78fd0fc09dc9 ONBOOT=yes AUTOCONNECT_PRIORITY=-999 DEVICE=eth0
1. 挂载必要的路径 mount --bind /dev ${WORKDIR}/rootfs/dev mount -t proc /proc ${WORKDIR}/rootfs/proc mount -t sysfs /sys ${WORKDIR}/rootfs/sys 2. run chroot chroot ${WORKDIR}/rootfs /bin/bash 3. 设置root密码 passwd root 输入要设置的root密码。 4. 设置主机名 echo openEuler > /etc/hostname 5. 退出 exit 6. 取消临时挂载的目录 umount -l ${WORKDIR}/rootfs/dev umount -l ${WORKDIR}/rootfs/proc umount -l ${WORKDIR}/rootfs/sys 7. 制作根文件系统 dd if=/dev/zero of= rootfs.img bs=1M count=3000 sudo mkfs.ext4 rootfs.img mkdir rootfs1 sudo mount rootfs.img rootfs1/ sudo cp -rfp temp/* rootfs1/ sudo umount rootfs1/
e2fsck -p -f rootfs.img resize2fs -M rootfs.img openEuler 20.03 LTS 的rootfs.img文件较小 2. 基于RK官方SDK制作内核 2.1 下载SDK固件 参考http://wiki.t-firefly.com/zh_CN/Firefly-RK3399/linux_compile_gpt.html 2.1.1 验证MD5码 md5sum firefly-sdk-20200629.7z 2.1.2 解压 7z x firefly-sdk-20200629.7z cd firefly-sdk git reset --hard 2.1.3 更新
cd firefly-sdk
git clone https://github.com/FireflyTeam/bundle.git -b rk3399-linux-bundle
./bundle/update rk3399-linux-bundle
git rebase FETCH_HEAD
./bundle/update common-linux-bundle git rebase FETCH_HEAD 2.1.4 搭建编译环境 sudo apt-get install repo git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler gcc-aarch64-linux-gnu mtools parted libudev-dev libu***-1.0-0-dev python-linaro-image-tools linaro-image-tools gcc-4.8-multilib-arm-linux-gnueabihf gcc-arm-linux-gnueabihf libssl-dev gcc-aarch64-linux-gnu g+conf autotools-dev libsigsegv2 m4 intltool libdrm-dev curl sed make binutils build-essential gcc g++ bash patch gzip bzip2 perl tar cpio python unzip rsync file bc wget libncurses5 libqt4-dev libglib2.0-dev libgtk2.0-dev libglade2-dev cvs git mercurial rsync openssh-client subversion asciidoc w3m dblatex graphviz python-matplotlib libc6:i386 libssl-dev texinfo liblz4-tool genext2fs lib32stdc++6 安装依赖(ubuntu17.04以后的版本) sudo apt-get install lib32gcc-7-dev g++-7 libstdc++-7-dev 2.2 编译内核 内核版本4.4.197 cd firefly-sdk ./build.sh kernel 2.3 下载RK官方的4.19.11并编译 2.3.1 下载内核 git clone git@github.com:rockchip-linux/kernel.git 2.3.2 在SDK内编译 将firefly-sdk内的kernel文件夹重命名为kernel_bp,将下载的kernel文件放在firefly-sdk文件夹内并命名为kernel,运行如下命令编译内核。 ./build.sh kernel 2.4 下载openeuler官方的4.19.11 下载内核 https://gitee.com/openeuler/kernel/tree/v4.19.111/ git clone git@gitee.com:openeuler/kernel.git 在SDK内编译 将firefly-sdk内的kernel文件夹重命名为kernel_bp 将下载的kernel文件放在firefly-sdk文件夹内并命名为kernel (1) 用本Makefile替换arm64下的Makefile (2)将kernel-develop-4.19内核scripts下的mkkrnlimg、mkimg、resource_tool复制到openeuler内核scripts下 (3)1. 将kernel-develop-4.19内核主目录logo.bpm、logo_kernel.bpm复制到openeuler内核主目录下(此步省略亦可) 运行 ./build.sh kernel 3. rootfs.img和boot.img烧写 3.1 打开烧写工具 运行Android ToolAndroidTool_Release目录下的AndroidTool.exe 将typec线连接电脑和板子,然后按住(长按) RECOVERY 键,然后按一下RESET键,大约两秒之后松开) RECOVERY键,界面会提示”发现一个LOADER设备。 3.2 选择相应的镜像并烧写 3.2.1 烧写rootfs.img 勾选rootfs,选择相应的镜像文件(第三部分生成的),点击执行 3.2.2 烧写不同内核版本的boot.img 勾选boot,选择相应的镜像文件(第四部分生成的不同版本),点击执行 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1971 浏览 1 评论
synopsys 的design ware:DW_fpv_div,浮点数除法器,默认32位下,想提升覆盖率(TMAX),如果用功能case去提升覆盖率呢?
2470 浏览 1 评论
RK3588 GStreamer调试四路鱼眼摄像头四宫格显示报错
5251 浏览 1 评论
【飞凌嵌入式OK3576-C开发板体验】RKNN神经网络-YOLO图像识别
254 浏览 0 评论
【飞凌嵌入式OK3576-C开发板体验】SSH远程登录网络配置及CAN通讯
1336 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 10:23 , Processed in 0.656804 second(s), Total 73, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号