1,制作ubuntu 20.04.5纯净版的rootfs

全ubuntu 20.04.5官网制作的纯净版,只带vi、网络、openssh等软件,也可以自己在增加。

https://cdimage.ubuntu.com/ubuntu-base/releases/20.04/release/ubuntu-base-20.04.5-base-armhf.tar.gz
下载官方包

$mkdir ubuntu
$sudo tar -xpf ubuntu-base-20.04.5-base-armhf.tar.gz -C ubuntu/
$sudo apt-get install qemu-user-static
$sudo cp /etc/resolv.conf ubuntu/etc/resolv.conf
$sudo cp /usr/bin/qemu-arm-static ubuntu/usr/bin/
修改ubuntu/etc/apt/sources.list内容如下:

deb http://repo.huaweicloud.com/ubuntu-ports/ focal main restricted
deb http://repo.huaweicloud.com/ubuntu-ports/ focal-updates main restricted
deb http://repo.huaweicloud.com/ubuntu-ports/ focal universe
deb http://repo.huaweicloud.com/ubuntu-ports/ focal-updates universe
deb http://repo.huaweicloud.com/ubuntu-ports/ focal multiverse
deb http://repo.huaweicloud.com/ubuntu-ports/ focal-updates multiverse
deb http://repo.huaweicloud.com/ubuntu-ports/ focal-backports main restricted universe multiverse
deb http://repo.huaweicloud.com/ubuntu-ports/ focal-security main restricted
deb http://repo.huaweicloud.com/ubuntu-ports/ focal-security universe
deb http://repo.huaweicloud.com/ubuntu-ports/ focal-security multiverse
$sudo mount -o bind /proc ubuntu/proc
$sudo mount -o bind /dev ubuntu/dev
$sudo chroot ubuntu

~# apt update
~# apt install rsyslog systemd
~# apt install sudo htop vim bash-completion
~# apt install ssh net-tools ethtool ifupdown iputils-ping network-manager

~# touch /etc/network/interfaces.d/eth0
如果dhcp,eth0内容如下:

auto eth0
iface eth0 inet dhcp
pre-up ifconfig eth0 hw ether 10:10:10:10:10:10
如果固定ip,eth0内容如下:

auto eth0
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 223.5.5.5
dns-nameservers 223.6.6.6
pre-up ifconfig eth0 hw ether 10:10:10:10:10:20
ip地址根据自己情况修改。

~#echo "hi3798mv100" > /etc/hostname
~#echo "127.0.0.1 localhost" >> /etc/hosts
~#echo "127.0.0.1 hi3798mv100" >> /etc/hosts

~#ln -s /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service
~#echo [Install] >> /etc/systemd/system/rc-local.service
~#echo WantedBy=multi-user.target >> /etc/systemd/system/rc-local.service
~#echo Alias=rc-local.service >> /etc/systemd/system/rc-local.service

~#systemctl enable rc-local.service
~#systemctl stop motd-news.timer
~#systemctl mask motd-news.timer
~#systemctl stop motd-news.service
~#systemctl mask motd-news.service
~#systemctl stop networkd-dispatcher
~#systemctl mask networkd-dispatcher
修改root密码

~#passwd
允许root远程ssh

~#echo PermitRootLogin yes >> /etc/ssh/sshd_config

~#exit

$sudo umount ubuntu/dev
$sudo umount ubuntu/proc
2,把自己做好的rootfs拷入u盘启动img镜像。
查看原img镜像分区

$ fdisk -l usb.img
Disk usb.img: 1.84 GiB, 1973420032 bytes, 3854336 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xa3008cac

Device Boot Start End Sectors Size Id Type
usb.img1 * 2048 206847 204800 100M c W95 FAT32 (LBA)
usb.img2 206848 3854335 3647488 1.7G 83 Linux
mount img内的rootfs分区

$sudo mkdir /mnt/usb
$sudo mount -o loop,offset=xxxxx usb.img /mnt/usb
xxxxx为上面第二个分区start值206848*512=105906176

把刚才制作好的rootfs拷贝到img里面

$sudo rm -rf /mnt/usb/*
$ sudo cp -R ubuntu/* /mnt/usb/
$ sudo umount /mnt/usb
再把usb.img 写入 U盘,,再用u盘启动华为ec6109高安版,等待几分钟后就可以ssh到ec6109,
ec6109的网卡灯有可能不亮。可以ping看系统是否启动完成。

1 个月 后

启动img镜像在哪里下载。前面步骤都OK。镜像不知道那个是。能不能发我一个谢谢。121877314@qq.com

  • cqcw 回复了此帖
    5 天 后
    7 天 后

    请问,如何启动呢
    我下载了https://bbs.histb.com/d/491-u-ubuntu-nas镜像
    并用你的办法,把rootfs拷贝到了https://bbs.histb.com/d/491-u-ubuntu-nas镜像
    制作了引导U盘

    可是无法启动呀
    当前系统是mv100-mdmo1f-usb-flash
    设备h680-j

    第一次刷, 求大佬指教!

    • cqcw 回复了此帖

      jt8823

      从你设备对应 的update.zip中拷贝出fastboot.img 改名fastboot.bin, 覆盖
      U盘启动 Ubuntu NAS系统 中u盘里面的fastboot.bin 文件。删除u盘里面的boot1.img文件。拷贝mv100目录中hi_kernel-hi3798xxxxxx.bin 到u盘根目录并改名为recovery.img

      安卓中运行dd if=/dev/zero of=/dev/block/mmcblk0p1 bs=1024 count=1024

      这样高安版就可以运行 u盘linux了。

        cqcw 我先用的固件是官网首页那个,写入到了emmc里面,可以正常启动!
        然后用https://bbs.histb.com/d/491-u-ubuntu-nas做了u 盘引导
        在用你的办法把修改后的rootfs考入分区
        插上u盘用cpu1 2针脚引导,就启动不了了

        https://bbs.histb.com/d/491-u-ubuntu-nas
        下载的固件根目录,默认就是我盒子型号的固件,应该不需要移动吧

        还是说需要先刷https://bbs.histb.com/d/491-u-ubuntu-nas,在用你的办法精简 从新引导?

        我的盒子应该不是高安版本的,可以使用吗?

        • cqcw 回复了此帖

          cqcw 一直用的ubuntu 比较习惯,
          请问
          现在系统在U盘中, 有方便的办法把系统迁移到内置emmc里面吗?
          root@hi3798mv100:~# lsblk
          NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
          sda 8:0 1 119.1G 0 disk
          ├─sda1 8:1 1 100M 0 part
          └─sda2 8:2 1 1.8G 0 part /
          mmcblk0 179:0 0 7.3G 0 disk
          ├─mmcblk0p1 179:1 0 1M 0 part
          ├─mmcblk0p2 179:2 0 1M 0 part
          ├─mmcblk0p3 179:3 0 4M 0 part
          ├─mmcblk0p4 179:4 0 4M 0 part
          ├─mmcblk0p5 179:5 0 4M 0 part
          ├─mmcblk0p6 179:6 0 10M 0 part
          ├─mmcblk0p7 179:7 0 64M 0 part
          ├─mmcblk0p8 259:2 0 512M 0 part
          └─mmcblk0p9 259:3 0 6.7G 0 part
          mmcblk0boot0 179:8 0 4M 1 disk
          mmcblk0boot1 179:16 0 4M 1 disk
          mmcblk0rpmb 179:24 0 512K 0 disk
          root@hi3798mv100:~# df -h
          Filesystem Size Used Avail Use% Mounted on
          /dev/root 1.7G 549M 1.1G 35% /
          devtmpfs 339M 0 339M 0% /dev
          tmpfs 339M 0 339M 0% /dev/shm
          tmpfs 68M 796K 68M 2% /run
          tmpfs 5.0M 0 5.0M 0% /run/lock
          tmpfs 339M 0 339M 0% /sys/fs/cgroup
          tmpfs 68M 0 68M 0% /run/user/0

          • cqcw 回复了此帖

            jt8823 官网刷机包里面有个rootfs.img文件呀,替换就是了,在刷一次就行了。

              jt8823 其他方法因没有设备,不好测试,不晓得可不可行。。。官网的方法最保险,免得变砖。

              cqcw 我测速了一下, 内置emmc 读写速度快要一些, 外置USB是个2.0接口,太慢了 所以想迁移
              官网的是这样结构,直接放在U盘根目录,进行安装, 都不要做U盘引导啊
              用你的方法创建出来的是一个 img 是需要做引导安装的呀, 怎么修改呀

              • cqcw 回复了此帖

                jt8823 官方ttl刷机包里面有个rootfs.img文件吧,我记得。
                你拷贝出来,mount 这个img,删除原来的,考入你自己制造的呀。

                  cqcw 额 我用的是usb 刷机固件, 里面没有rootfs.img文件呀
                  我现在又遇到一个新问题, 怎么扩容镜像的根目录呀 , 默认1.8G 太小了
                  或者在系统中设置?usb.img2 206848 3854335 3647488 1.7G 83 Linux

                  • cqcw 回复了此帖

                    jt8823 我只在lvm的环境扩过容,不是lvm环境中没有实际操作做,你百度一下,应该不复杂。

                      jt8823 这个www_ecoo_top.ext4应该就是rootfs,但我不晓得他的格式,所以不晓得怎么写入。

                      cqcw 我一直在问ai。扩容弄好了,。 但是这个系统迁移,一直搞不定,说的是永dd签字,我觉得还需要修改下引导,不知道从何下手

                      • cqcw 回复了此帖

                        jt8823 TTL刷机包 你修改了rootfs.img文件,,里面的md5sum文件 里面的值还要修改一下。

                        开源、免费、互助、进步

                        e 酷网 www.ecoo.top 2023