栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

构建imx8mm的ubuntu根文件系统

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

构建imx8mm的ubuntu根文件系统

下载Ubuntu Core

http://cdimage.ubuntu.com/ubuntu-base/releases/18.04.4/release/ubuntu-base-18.04.5-base-arm64.tar.gz

解压Ubuntu Core

tar xvzf ubuntu-base-18.04.5-base-amd64.tar.gz -C OK8MM-linux-fs

安装qemu
sudo apt-get install qemu-user-static
sudo cp -a /usr/bin/qemu-aarch64-static usr/bin/
安装linux内核模块

编译linux内核,在内核源码目录output/lib/中拷贝modules目录中的所有内容到Core根文件系统/lib目录。

设置DNS解析器配置文件
echo "nameserver 127.0.1.1" > /etc/resolv.conf
# 虚拟机里 echo "nameserver 8.8.8.8" > /etc/resolv.conf
从服务器获取最新的包列表
cp -b /etc/resolv.conf rootfs/etc/resolv.conf
cp /etc/apt/sources.list ./OK8MM-linux-fs/etc/apt/sources.list

# 错误:
# Couldn't create temporary file /tmp/apt.conf.DLMht3 for passing config to apt-key
chmod 777 /tmp
切换根文件系统
sudo chroot ../rootfs

或者

#!/bin/bash
 
function mnt() {
    echo "MOUNTING"
    sudo mount -t proc /proc ${2}proc
    sudo mount -t sysfs /sys ${2}sys
    sudo mount -o bind /dev ${2}dev
    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" ] ;
then
    mnt $1 $2
elif [ "$1" == "-u" ] && [ -n "$2" ];
then
    umnt $1 $2
else
    echo ""
    echo "Either 1'st, 2'nd or both parameters were missing"
    echo ""
    echo "1'st parameter can be one of these: -m(mount) OR -u(umount)"
    echo "2'nd parameter is the full path of rootfs directory(with trailing '/')"
    echo ""
    echo "For example: ch-mount -m /media/sdcard/"
    echo ""
    echo 1st parameter : ${1}
    echo 2nd parameter : ${2}
fi


sudo chmod +x ch-mount.sh
#挂载
./ch-mount.sh -m OK8MM-linux-fs/

#卸载
./ch-mount.sh -u OK8MM-linux-fs/
设置root密码
passwd root
添加ubuntu管理员账号

可以添加一个pi的管理员账号并修改密码。

useradd -G sudo -m -s /bin/bash pi
passwd pi
设置主机名

可以为目标板设置一个主机名。

echo Ubuntu > /etc/hostname
echo "127.0.0.1   localhost.localdomain localhost" > /etc/hosts
echo "127.0.0.1    Ubuntu" >> /etc/hosts
设置串口登录
ln -s /lib/systemd/system/serial-getty@.service/etc/systemd/system/getty.target.wants/serial-getty@ttyS0.service
安装相关工具
chmod 777 /tmp
apt update
apt install language-pack-en-base sudo ssh net-tools network-manager iputils-ping rsyslog bash-completion htop resolvconf dialog vim nano v4l-utils alsa-utils git gcc less resolvconf autoconf autopoint libtool bison flex gtk-doc-tools glib-2.0 libglib2.0-dev libpango1.0-dev libatk1.0-dev kmod pciutils -y

sudo apt-get install bison build-essential gperf flex ruby python libasound2-dev libbz2-dev libcap-dev
libcups2-dev libdrm-dev libegl1-mesa-dev libgcrypt11-dev libnss3-dev libpci-dev libpulse-dev libudev-dev
libxtst-dev gyp ninja-build libglu1-mesa-dev libfontconfig1-dev libx11-xcb-dev libicu-dev

如果make遇到
mkfs.ext4: loadlocale.c:129: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))’ failed.
Aborted (core dumped)
Makefile:70: recipe for target ‘sdcard’ failed
make: *** [sdcard] Error 134

命令行执行以下命令再试试
export LC_ALL=C

配置qt环境
./configure -xplatform linux-aarch64-gnu-g++ -prefix /opt/imx8mini-qt5.11.3 -release -opensource -/confirm/i-license -sysroot /home/chen/imx8mini/OK8MM-linux-sdk/OK8MM-linux-fs/OK8MM-linux-fs
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/642517.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号