生信之旅

扫码分享下吧!
分享

NOOBS自定义系统安装

NOOBS作为树莓派安装系统的一种方案,比较方便简单,今天我们介绍下其自定义系统的安装。

一、noobs下载安装

noobs包含两个版本,一个是常规版本,包含了树莓派官方系统和LibreELEC系统,另一个版本是lite版本,没有任何系统。这里我们下载lite版本。下载地址为:

1. 官网

2. 清华源

下载完成后将其解压到已经格式化为FAT格式的SD卡中即可。

注:为了更好的了解noobs自定义系统的格式,建议下载noobs标准版,可在os目录下查看系统的结构

二、自定义系统的安装

自定义系统需要准备如下文件

os.json                      //系统描述
partitions.json            //分区描述
boot.tar.xz                     //boot分区文件
root.tar.xz                    //root分区文件

上面四个文件是必须的,缺一不可,其它则是不必须的:
slides或slides_vga		//文件夹内放说明性图片,安装时在主界面以幻灯片播放
Logo.png			//Logo名字须与文件夹名字相同,大小40x40为宜
partition_setup.sh	//分区脚本,在系统安装完成后立即执行,如无则需要在cmdline.txt设定root分区位置

os.json文件示例

{
    "description": "A port of Debian with desktop and recommended applications",
    "kernel": "5.10",
    "name": "Raspberry Pi OS Full (32-bit)",
    "password": "raspberry",
    "release_date": "2021-10-30",
    "supported_models": [
        "Pi Model",
        "Pi 2",
        "Pi Zero",
        "Pi 3",
        "Pi Compute Module 3",
        "Pi 4"
    ],
    "url": "http://www.raspbian.org/",
    "username": "pi",
    "version": "bullseye"
}

partitions.json文件示例

{
    "partitions": [
        {
            "filesystem_type": "FAT",
            "label": "boot",
            "mkfs_options": "-F 32",
            "partition_size_nominal": 256,
            "uncompressed_tarball_size": 49,
            "want_maximised": false,
            "sha256sum": "27c4382e335a89e440e401fdbf7efac35146fafc918187c00bee86e2219f3df0"
        },
        {
            "filesystem_type": "ext4",
            "label": "root",
            "mkfs_options": "-O ^huge_file",
            "partition_size_nominal": 8744,
            "uncompressed_tarball_size": 6886,
            "want_maximised": true,
            "sha256sum": "bec493734c8d51b05c5be43675780182215df7ec11047022fddda427772b0b7f"
        }
    ]
}

其中需要注意的是:

1. uncompressed_tarball_size 是boot或者root压缩文件解压后的大小

2. partition_size_nominal: 设定分区大小

3. want_maximised: 一旦设定为true,noobs就会自动将可用空间分配到该分区

boot.tar.xz

该文件需要自己制作,例如我下载了官方64位系统进行测试,下载完成后解压得到img镜像文件,然后使用以下命令进行打包。

sudo kpartx -av 2021-10-30-raspios-bullseye-arm64.img

# 新建三个目录
mkdir usb1
mkdir usb2
mkdir raspios_arm64

# 挂载分区
sudo mount /dev/mapper/loop0p1 usb1
sudo mount /dev/mapper/loop0p2 usb2

cd usb1
tar --numeric-owner -cvpf ../raspios_arm64/boot.tar .
cd ..
xz -9 -ev raspios_arm64/boot.tar

cd usb2
sudo tar --numeric-owner --one-file-system --format gnu -cvpf ../raspios_arm64/root.tar .
cd ..
xz -9 -ev raspios_arm64/root.tar

通过以上命令即可创建得到boot.tar.xz和root.tar.gz,同时,为了设置uncompressed_tarball_size的值,我们可以使用以下命令进行统计

sudo xz -l root.tar.xz

所以操作都进行了后,将raspios_arm64目录拷贝到SD卡的os目录下,然后将卡插入到树莓派中,启动即可!

三、参考

1. NOOBS自定义多系统启动

2. 自定义NOOBS

 

版权声明:本文转载请注明出处!

最新评论:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

captcha

公告栏

有任何问题均可以在文章页面留言!或者邮件 burning@burning.net.cn 欢迎关注微信公众号 “生信之旅”,每天均可在菜单栏领取外卖红包、支付宝红包!最高20元!

服务器推荐

欢迎关注公众号

欢迎关注生信之旅