当前位置:首页 > 技术 > LINUX > 正文内容

Ubuntu 运行在 Milk-V Duo上

Watrt1年前 (2024-05-15)LINUX8940

设置

我们需要在内核配置中启用几个模块,然后才能继续,

nano ~/duo-buildroot-sdk/build/boards/cv180x/cv1800b_milkv_duo_sd/linux/cvitek_cv1800b_milkv_duo_sd_defconfig

# and add at the end:
CONFIG_CGROUPS=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_PIDS=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_PAGE_COUNTER=y
CONFIG_MEMCG=y
CONFIG_CGROUP_SCHED=y
CONFIG_NAMESPACES=y
CONFIG_OVERLAY_FS=y
CONFIG_AUTOFS4_FS=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EPOLL=y
CONFIG_IPV6=y
CONFIG_FANOTIFY
# optional (enable zram):
CONFIG_ZSMALLOC=y
CONFIG_ZRAM=y

重要提示:要减少ram使用量,,要增加rootfs分区大小,您可以编辑duo-buildroot-sdk/milkv/genimage-milkv-duo.cfg在第16行替换为size = 256M或者size = 1G或更高的值,重新打包

创建文件系统

安装必备组件

sudo apt install debootstrap qemu qemu-user-static binfmt-support dpkg-cross --no-install-recommends

生成最小的引导根文件

sudo debootstrap --arch=riscv64 --foreign jammy ./temp-rootfs http://ports.ubuntu.com/ubuntu-ports

chroot进入我们刚刚创建的rootfs

sudo chroot temp-rootfs /bin/bash

运行第二阶段

/debootstrap/debootstrap --second-stage

添加源

cat >/etc/apt/sources.list <<EOF
deb http://ports.ubuntu.com/ubuntu-ports jammy main restricted
deb http://ports.ubuntu.com/ubuntu-ports jammy-updates main restricted
deb http://ports.ubuntu.com/ubuntu-ports jammy universe
deb http://ports.ubuntu.com/ubuntu-ports jammy-updates universe
deb http://ports.ubuntu.com/ubuntu-ports jammy multiverse
deb http://ports.ubuntu.com/ubuntu-ports jammy-updates multiverse
deb http://ports.ubuntu.com/ubuntu-ports jammy-backports main restricted universe multiverse
deb http://ports.ubuntu.com/ubuntu-ports jammy-security main restricted
deb http://ports.ubuntu.com/ubuntu-ports jammy-security universe
deb http://ports.ubuntu.com/ubuntu-ports jammy-security multiverse
EOF

更新源

apt-get update
apt-get install --no-install-recommends -y util-linux haveged openssh-server systemd kmod initramfs-tools conntrack ebtables ethtool iproute2 iptables mount socat ifupdown iputils-ping vim dhcpcd5 neofetch sudo chrony

# 优化内存占用

apt-get install zram-config
systemctl enable zram-config

创建基础配置文件

mkdir -p /etc/network
cat >>/etc/network/interfaces <<EOF
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
EOF
cat >/etc/resolv.conf <<EOF
nameserver 1.1.1.1
nameserver 8.8.8.8
EOF

将文本写入fstab(这是在启用了交换的情况下进行的,如果您想禁用它,只需在交换行前加一个#即可)

cat >/etc/fstab <<EOF
# <file system><mount pt><type><options><dump><pass>
/dev/root/ext2rw,noauto01
proc/procprocdefaults00
devpts/dev/ptsdevptsdefaults,gid=5,mode=620,ptmxmode=066600
tmpfs/dev/shmtmpfsmode=077700
tmpfs/tmptmpfsmode=177700
tmpfs/runtmpfsmode=0755,nosuid,nodev,size=64M00
sysfs/syssysfsdefaults00
/dev/mmcblk0p3  none            swap    sw              0       0
EOF

设置主机名

echo "milkvduo-ubuntu" > /etc/hostname

设置密码

echo "root:riscv" | chpasswd

开启SSH登陆

sed -i "s/#PermitRootLogin.*/PermitRootLogin yes/g" /etc/ssh/sshd_config

# 退出chroot

exit
sudo tar -cSf Ubuntu-jammy-rootfs.tar -C temp-rootfs .
gzip Ubuntu-jammy-rootfs.tar
rm -rf temp-rootfs

制作镜像

接下来,我们像这样刷新sd卡上的图像:

dd if=milkv-duo.img of=/dev/sdX status=progress #replace X with your device name

我们挂载rootfs分区并删除其中的所有文件bash sudo rm -r /media/yourusername/rootfs然后创建一个目录mkdir ubunturootfs提取我们的Ubuntu-jammy-rootfs.tar然后跑

tar -xf Ubuntu-jammy-rootfs.tar -C ubunturootfs

现在我们将rootfs复制到我们挂载的分区:

sudo cp -r ubunturootfs/* /media/yournamehere/rootfs/

仅此而已!你现在应该可以毫无问题地启动到ubuntu了

引用位置:https://github.com/bassusteur/milkv-duo-ubuntu

打赏 支付宝打赏 微信打赏
分享给朋友:

相关文章

Linux没有最小只有更小----迷你Linux版本大集合

Linux没有最小只有更小----迷你Linux版本大集合

    自从去年到现在已经收集了上百种版本的Linux和Unix,至于Unix就不想说了,没有Linux的功底是很难驾驭Unix的,我在这里只把小于360M的Linux以及一些非Linux但是很像Linux的版本也发布一下,我本人喜欢安静,如果你想要这些迷你版本的Linux光盘的话,建议去官网下载就OK了。英语不行的话随时带个字典。有些没有桌面,想知道哪些没有桌面的话请自己网上查资料!下面就是绝大部分小于361M的Linux及其非Linux名单,参考时间为...

利用BusyBox ~私人定制 My LINUX~

利用BusyBox ~私人定制 My LINUX~

前言  我在今天在这里跟大家详细地探讨一下Linux系统的定制过程和实现例如、用户能够远程登录;和Nginx能够稳定地运行在我们私人定制的LINUX系统上、一步一步从头开始定制属于我们自己的系统。正文   首先我们先来简单的介绍一下我们这里定制属于自己的Linux系统的基本元素.   一个定制的linux内核+一个定制的busybox就可以定制一个小型的Linux操作系统了,安装Dropbear和Nginx,Linux的组成 部分包括内核空间和用户空间、而...

修改U-BOOT,输出信息在LCD上显示,并使用USB连接键盘使用控制台

修改U-BOOT,输出信息在LCD上显示,并使用USB连接键盘使用控制台

修改方法:一:修改U-BOOT   include/configs/suniv.h#define CONFIG_BOOTCOMMAND"fatload mmc 0:1 0x80800000 zImage; "  \              &nb...

控制台终端输出颜色

控制台终端输出颜色

在使用putty、secureCRT、XShell等终端仿真器连接linux系统时,ls、vim等工具的输出都含有各种颜色,这些颜色的输出大大地增强了文本的可读性。一、终端文本颜色输出的一般示例在bash中,通常我们可以使用echo命令加-e选项输出各种颜色的文本,例如:echo -e "\033[31mRed Text\033[0m" echo -e "\033[32mGreen Text\033[0m...

debootstrap报"Release signed by unknown key"错误的解决方法

debootstrap报"Release signed by unknown key"错误的解决方法

1、下载最新的ASC文件:wget https://ftp-master.debian.org/keys/release-11.asc -qO- | gpg --import --no-default-keyring --keyring ./debian-release-11.gpg注意这里的11对应debian的版本号。我这里是debian11 (bullseye)2、debootstrap指定asc文件sudo&...

Ubuntu+Openbox_还原_安装_脚本

Ubuntu+Openbox_还原_安装_脚本

第一步:安装UBUNTU基本系统安装基本的命令行系统,选英文。装好重启后马上把系统tar备份(只有186M),下次重装1分钟就可以解压第二步:执行脚本#!/bin/bash #联网----------->卸载DHCP、配置拨号、解决掉线、网络接口 sudo apt-get -y purge isc-dhcp-client && sudo pppoeconf && s...

如何使用 Ubuntu 安装和配置 Openbox

如何使用 Ubuntu 安装和配置 Openbox

Openbox是一个相当简单的窗口管理器,我们可以根据需要构建和自定义。本教程向我们展示了在 Ubuntu 中设置 Openbox 的基础知识、如何更改菜单、如何添加扩展坞以及如何设置墙纸。安装 Openbox要安装 Openbox,请同时打开终端窗口(按 CTRL 、 ALT 和 T )或者在破折号中搜索“TERM”并选择图标。输入以下命令:sudo apt install openbox obconf单击右上角的图标,然后注销。如何切换到 Openbo...

Ubuntu server openbox 安装笔记

Ubuntu server openbox 安装笔记

安装好ubuntu server 后开始安装openboxsudo apt-get install --no-install-recommends openbox xorg tint2 xcompmgr fonts-wqy-zenhei language-pack-zh-hans fcitx mupdf feh moc smplayer dbus-x11 thunar bzip2 tar obconf --no-install-recommend...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。