精华内容
下载资源
问答
  • (参考:全志主线u-boot/linux 打包 TF/SD/SDNAND 镜像脚本 ) pack.sh #!/bin/bash _UBOOT_SIZE=1 ###第一个分区(FAT)大小,单位MiB## _P1_SIZE=16 ###TF卡镜像文件名称### _IMG_FILE='f1c100s_tfcard_img.bin' ...

    方法一:使用打包脚本(推荐

    (参考:全志主线u-boot/linux 打包 TF/SD/SDNAND 镜像脚本
    pack.sh

    #!/bin/bash
    
    _UBOOT_SIZE=1
    
    ###第一个分区(FAT)大小,单位MiB##
    _P1_SIZE=16
    
    ###TF卡镜像文件名称###
    _IMG_FILE='f1c100s_tfcard_img.bin'
    
    ###TF卡镜像文件大小, 单位MiB###
    _IMG_SIZE=120
    
    temp_root_dir=$PWD
    
    _UBOOT_FILE="${temp_root_dir}/data/u-boot-sunxi-with-spl.bin"
    _SPLASH_BMP_FILE="${temp_root_dir}/data/splash.bmp"
    _BOOT_SCR_FILE="${temp_root_dir}/data/boot.scr"
    _KERNEL_IMAGE_FILE="${temp_root_dir}/data/zImage"
    _DTB_FILE="${temp_root_dir}/data/dtb.bin"
    _ROOTFS_TGZ_FILE="${temp_root_dir}/data/rootfs.tgz"
    
            ###初始化镜像文件###
            dd if=/dev/zero of=$_IMG_FILE bs=1M count=$_IMG_SIZE
    
            ###判断镜像文件是否初始化成功###
            if [ $? -ne 0 ]
            then
                    echo  "getting error in creating dd img!"
                    exit
            fi
    
    
            ###获取一个循环设备###
            _LOOP_DEV=$(sudo losetup -f)
            #echo ${_LOOP_DEV}
    
    
    
            ##再次判断此设备是否存在###
            if [ -z $_LOOP_DEV ]
            then
                    echo  "can not find a loop device!"
                    exit
            fi
    
            ###把镜像文件和循环设备关联###
            sudo losetup $_LOOP_DEV $_IMG_FILE
            if [ $? -ne 0 ]
            then
                    echo  "dd img --> $_LOOP_DEV error!"
                    sudo losetup -d $_LOOP_DEV >/dev/null 2>&1 && exit
            fi
            echo  "--->creating partitions for tf image ..."
            #blockdev --rereadpt $_LOOP_DEV >/dev/null 2>&1
            # size only can be integer
    
    
    
    ###分区###
    cat <<EOT |sudo  sfdisk ${_IMG_FILE}
    ${_UBOOT_SIZE}M,${_P1_SIZE}M,c
    ,,L
    EOT
    
    
    ###格式化###
            sleep 2
            sudo partx -u $_LOOP_DEV
            sudo mkfs.vfat ${_LOOP_DEV}p1 ||exit
            sudo mkfs.ext4 ${_LOOP_DEV}p2 ||exit
            if [ $? -ne 0 ]
            then
                    echo  "error in creating partitions"
                    sudo losetup -d $_LOOP_DEV >/dev/null 2>&1 && exit
                    #sudo partprobe $_LOOP_DEV >/dev/null 2>&1 && exit
            fi
    
            ###u-boot写到TF卡8K偏移处###
            #pack uboot
            echo  "--->writing u-boot-sunxi-with-spl to $_LOOP_DEV"
            # sudo dd if=/dev/zero of=$_LOOP_DEV bs=1K seek=1 count=1023  # clear except mbr
            sudo dd if=$_UBOOT_FILE of=$_LOOP_DEV bs=1024 seek=8
            if [ $? -ne 0 ]
            then
                    echo  "writing u-boot error!"
                    sudo losetup -d $_LOOP_DEV >/dev/null 2>&1 && exit
                    #sudo partprobe $_LOOP_DEV >/dev/null 2>&1 && exit
            fi
    
    
    
            ###新建 p1,p2 目录,并挂载TF卡两个分区###
            sudo sync
            mkdir -p ${temp_root_dir}/output/p1 >/dev/null 2>&1
            mkdir -p ${temp_root_dir}/output/p2 > /dev/null 2>&1
            sudo mount ${_LOOP_DEV}p1 ${temp_root_dir}/output/p1
            sudo mount ${_LOOP_DEV}p2 ${temp_root_dir}/output/p2
            echo  "--->copy boot and rootfs files..."
            sudo rm -rf  ${temp_root_dir}/output/p1/* && sudo rm -rf ${temp_root_dir}/output/p2/*
    
    
            ###复制zImage, dtb, boot.scr, splash.bmp 等文件到第一分区 ###
            sudo cp ${_KERNEL_IMAGE_FILE} ${temp_root_dir}/output/p1/zImage &&\
            sudo cp ${_DTB_FILE} ${temp_root_dir}/output/p1/ &&\
            sudo cp ${_BOOT_SCR_FILE} ${temp_root_dir}/output/p1/ &&\
            sudo cp ${_SPLASH_BMP_FILE} ${temp_root_dir}/output/p1/ &&\
            echo "--->p1 done~"
    
            ###解压 rootfs.tgz 到第二分区###
            sudo tar xvf ${_ROOTFS_TGZ_FILE} -C ${temp_root_dir}/output/p2/ &&\
            echo "--->p2 done~"
    
    
    
            ###同步, 等待, 卸载, 退出###
            sudo sync
            sleep 2
            sudo umount ${temp_root_dir}/output/p1 ${temp_root_dir}/output/p2  && sudo losetup -d $_LOOP_DEV
            if [ $? -ne 0 ]
            then
                    echo  "umount or losetup -d error!!"
                    exit
            fi
    

    目录结构:

    .
    ..
    pack.sh
    data/
        u-boot-sunxi-with-spl.bin
        boot.scr
        dtb.bin
        rootfs.tgz
        splash.bmp    
        zImage
    



    方法二:使用gparted分区

    步骤:(参考:制作荔枝派Zero开发板(全志V3s) TF/SD卡启动盘

    1. 先编译出u-boot, Linux, dtb 文件, 用buildroot编译出根文件系统.
    2. 烧录TF卡
    1. 打开gparted
    2. 删除TF卡所有分区
    3. 将uboot写入到sd卡8k偏移处。
      sudo dd if=u-boot-sunxi-with-spl_480800.bin of=/dev/sdb bs=1024 seek=8
    4. 建立第一个分区,大小32M(可以随意填写), 格式FAT16。
      把zImage, sun8i-v3s-licheepi-zero-dock.dtb拷贝到这个分区
    5. 建立第二个分区,用尽剩余空间,格式ext4。
      把buildroot产生的rootfs.tar解压到该分区根目录
    1. TF卡插入荔枝派Zero开发板, 插入串口, 启动。
      修改uboot参数,使系统从tf卡启动 vim include/configs/sun8i.h
      #include <configs/sunxi-common.h>的前面添加以下代码:
    #define TF_RUN
    
    #ifdef TF_RUN
    /*从TF卡引导系统,根文件系统在TF卡第二个分区*/
    #define CONFIG_BOOTCOMMAND   "setenv bootm_boot_mode sec; " \
                                "load mmc 0:1 0x41000000 zImage; "  \
                                "load mmc 0:1 0x41800000 sun8i-v3s-licheepi-zero-dock.dtb; " \
                                "bootz 0x41000000 - 0x41800000;"
    
    #define CONFIG_BOOTARGS      "console=ttyS0,115200 panic=5 mtdparts=spi32766.0:1M(uboot),64k(dtb),4M(kernel),-(rootfs) rootwait root=/dev/mmcblk0p2 earlyprintk rw  vt.global_cursor_default=0"
    #endif
    
    #ifdef FLASH_RUN
    /*从spi flash引导系统, 根文件系统位于spi flash*/
    #define CONFIG_BOOTCOMMAND   "sf probe 0 12000000; "                           \
                                 "sf read 0x41800000 0x100000 0x10000; "  \
                                 "sf read 0x41000000 0x110000 0x600000; " \
                                 "bootz 0x41000000 - 0x41800000"
    
    #define CONFIG_BOOTARGS      "console=ttyS0,115200 earlyprintk panic=5 rootwait " \
                                  "mtdparts=spi32766.0:1M(uboot)ro,64k(dtb)ro,6M(kernel)ro,-(rootfs) root=/dev/mtdblock3 rw rootfstype=jffs2 vt.global_cursor_default=0"
    #endif                              
    

    重新编译:

    make ARCH=arm menuconfig
    time make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- 2>&1 | tee build.log
    

    详细步骤说明:

    1、打开gparted

    在这里插入图片描述

    2、删除TF卡所有分区在这里插入图片描述


    3、将uboot写入到sd卡8k偏移处。

    sudo dd if=u-boot-sunxi-with-spl_480800.bin of=/dev/sdb bs=1024 seek=8
    

    4、建立第一个分区,大小32M(可以随意填写), 格式FAT16

    zImage, sun8i-v3s-licheepi-zero-dock.dtb拷贝到 这个分区
    在这里插入图片描述

    5、建立第二个分区,用尽剩余空间,格式ext4

    buildroot产生的rootfs.tar解压到该分区根目录
    在这里插入图片描述

    6、点击应用

    在这里插入图片描述

    完成:(会多出两个分区 /dev/sdb1/dev/sdb2
    在这里插入图片描述


    注意:添加的位置必须在“#include <configs/sunxi-common.h>”的前面,否则会报错:

    include/configs/sun8i.h:39:0: 警告: “CONFIG_BOOTCOMMAND”重定义
     #define CONFIG_BOOTCOMMAND   "setenv bootm_boot_mode sec; " \
     ^
    In file included from include/configs/sunxi-common.h:503:0,
                     from include/configs/sun8i.h:33,
                     from include/config.h:5,
                     from include/common.h:18,
                     from lib/display_options.c:8:
    include/config_distro_bootcmd.h:393:0: 附注: 这是先前定义的位置
    

    不能使用//注释,否则会报错:

    arm-linux-gnueabihf-ld.bfd:u-boot.lds:1: ignoring invalid character `\344' in expression
    arm-linux-gnueabihf-ld.bfd:u-boot.lds:1: ignoring invalid character `\273' in expression
    arm-linux-gnueabihf-ld.bfd:u-boot.lds:1: ignoring invalid character `\216' in expression
    arm-linux-gnueabihf-ld.bfd:u-boot.lds:1: syntax error
    
    展开全文
  • Etcher正式版是一款u盘镜像制作工具,软件能够将镜像刻录到u盘,用户只要是可以连接USB,都能够使用,Etcher新版包括SD卡,它可以将isp、img、disk、raw等多种镜像格式,Etcher正式版是一款功能强大操作简单方便简单...

    Etcher正式版是一款u盘镜像制作工具,软件能够将镜像刻录到u盘,用户只要是可以连接USB,都能够使用,Etcher新版包括SD卡,它可以将isp、img、disk、raw等多种镜像格式,Etcher正式版是一款功能强大操作简单方便简单

    5088650d927c38f5bbad69638b84d9da.png

    软件特色

    在我们在装系统的时候已经很少会使用光盘这种介质了,基本上都是使用 U 盘或者是闪存卡来替代。而有时候对于一些朋友来说,刻录到 U 盘或者闪存卡又是一个很大的考验。这时候就需要有一款操作上十分傻瓜的工具来引导它们了,我们这次找到了 Etcher 这款小工具。

    之所以说 Etcher 是一个很傻瓜的工具,那是因为它操作起来真的很傻瓜。整个操作只需要点三下鼠标,第一次选择要刻录的镜像文件,支持 .iso、.img 以及 .zip 文件。接着选择要刻录到的设备上,如果你只插上了一个的话它会自动识别,最后就是点击「Burn!」按钮进行刻录了,一切都十分的简单。Etcher 是 resin.io 出品的一款开源的工具,跨平台使用,实用是挺实用的了,不过就是体积有点大。

    8f95bc988fd356101d7e2b6319c764aa.png

    使用Etcher来创建可启动盘的方法图二

    安装Etcher的方法

    一、相关说明

    1.你也可以参考 Ubuntu下载安装Etcher-开源USB写入工具一文,本文还提醒在 Fedora、Red Hat Enterprise Linux 上安装的注意点。

    2.Etcher.io 是一个很棒的开源项目,可以在 Linux、Windows 或 MacOS 系统上轻松、简单地创建媒体。Etcher.io 已成为我为 Linux 创建可启动媒体的“首选”程序。我可以轻松下载 ISO 或 IMG 文件并将其刻录到闪存和 SD 卡。这是一个 Apache 2.0 许可证下的开源项目,源代码可在 GitHub 上获得。

    3.进入 Etcher.io 网站,然后单击适用于你的操作系统:32 位或 64 位 Linux、32 位或 64 位 Windows 或 MacOS 的下载链接。

    69c3d390db56c7e5cc3c6c10faf456b7.png

    使用Etcher来创建可启动盘的方法图三

    使用Etcher来创建可启动盘(可引导的USB盘或SD卡)的方法

    二、在Linux下安装Etcher

    Etcher 在 GitHub 仓库中提供了很好的指导,可以将 Etcher 添加到你的 Linux 实用程序集合中。

    如果你使用的是 Debian 或 Ubuntu,请添加 Etcher Debian 仓库:

    $echo "deb https://dl.bintray.com/resin-io/debian stable etcher" / sudo tee /etc/apt/sources.list.d/etcher.list

    信任 Bintray.com GPG 密钥

    $ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 379CE192D401AB61

    然后更新你的系统并安装:

    $ sudo apt-get update

    $ sudo apt-get install etcher-electron

    如果你使用的是 Fedora 或 Red Hat Enterprise Linux,请添加 Etcher RPM 仓库:

    $ sudo wget https://bintray.com/resin-io/redhat/rpm -O /etc/yum.repos.d/bintray-resin-io-redhat.repo

    使用以下任一方式更新和安装:

    $ sudo yum install -y etcher-electron

    或者:

    $ sudo dnf install -y etcher-electron

    使用Etcher创建可启动盘的方法

    除了为 Ubuntu、EndlessOS 和其他版本的 Linux 创建可启动镜像之外,我还使用 Etcher 创建 SD 卡镜像用于树莓派。以下是如何创建可启动媒体。

    首先,将要使用的 ISO 或镜像下载到计算机。然后,启动 Etcher 并将 USB 或 SD 卡插入计算机。

    a27b15b46ec5f46067b17b6091a85102.png

    软件性质:国外软件

    授权方式:免费版

    软件语言:简体中文

    软件大小:69046 KB

    下载次数:1920 次

    更新时间:2019/11/14 10:42:24

    运行平台:WinXP,Win7,...

    软件描述:Etcher是一款简单的u盘镜像制作工具,可以帮助用户快速将镜像文件刻录到USB... [立即下载]

    展开全文
  • Fedora 利用dd制作Linux启动盘

    千次阅读 2018-01-02 13:58:58
    1. 准备一个iso镜像ubuntukylin-17.04-desktop-amd64.iso2. 准备一个U盘,查看U盘设备[yeqiang@localhost Downloads]$ ls /dev/sd sda sda1 sda2 sda3 sda4 sda5 sda6 sda7 sdb sdb1 sdc sdd sde sdf [yeqiang@l

    1. 准备一个iso镜像

    ubuntukylin-17.04-desktop-amd64.iso


    2. 准备一个U盘,查看U盘设备

    [yeqiang@localhost Downloads]$ ls /dev/sd
    sda   sda1  sda2  sda3  sda4  sda5  sda6  sda7  sdb   sdb1  sdc   sdd   sde   sdf   
    [yeqiang@localhost Downloads]$ ls /dev/sd
    sda   sda1  sda2  sda3  sda4  sda5  sda6  sda7  sdb   sdb1  sdc   sdd   sde   sdf   sdg   sdg1  

    注意:通过连续两次按下TAB键会自动不全,列出下面的文件。

    由上可以看出插入的U盘设备路径是/dev/sdg


    3. 利用dd将iso文件刻录到U盘(会覆盖U盘文件系统,数据全部丢失!)

    [yeqiang@localhost Downloads]$ sudo dd if=ubuntukylin-17.04-desktop-amd64.iso of=/dev/sdg
    [sudo] password for yeqiang: 

    此时后台刻录,没有信息显示。可以利用iostat查看io状态:

    [yeqiang@localhost Downloads]$ iostat -k -x 1
    Linux 4.4.14-200.fc22.x86_64 (localhost.localdomain) 	01/02/2018 	_x86_64_	(4 CPU)
    
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               9.51    1.82    5.57    3.20    0.00   79.91
    
    Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
    sda               3.68    12.14  120.85    5.51  1277.49   223.36    23.76     0.46    3.62    1.85   42.29   1.09  13.82
    sdb               0.17     4.32    5.08    1.07   114.28    36.50    49.04     0.01    1.08    0.47    4.00   0.22   0.14
    dm-0              0.00     0.00    0.14    3.76     0.58    15.05     8.01     0.02    3.95    0.39    4.08   0.04   0.02
    dm-1              0.00     0.00    5.11    1.56   113.63    21.46    40.50     0.01    1.18    0.48    3.47   0.18   0.12
    sdg               0.11     1.77    9.03    0.05    35.98     6.41     9.33     0.56   57.50    0.46 9702.15   0.47   0.43

    刻录完成,手动同步一次(sync会将系统io缓存同步到磁盘,由于是写入的U盘,sync同步也会非常费时。)

    [yeqiang@localhost Downloads]$ sudo dd if=ubuntukylin-17.04-desktop-amd64.iso of=/dev/sdg
    [sudo] password for yeqiang: 
    3355328+0 records in
    3355328+0 records out
    1717927936 bytes (1.7 GB) copied, 300.822 s, 5.7 MB/s
    [yeqiang@localhost Downloads]$ sync
    

    完成。


    关于不能引导的一个处理方法

    fdisk 删除U盘所有分区,保存退出。重新执行上面的过程。

    展开全文
  • 最近买了个新的开发板,原生的是Android操作系统,需要自己少个启动盘制作Linux+QT操作系统。新的开发板带这个制作的源文件,要先把这个文件拷贝到虚拟机Ubunbtu的共享目录下。打开share文件下显示文件如下:打开...

    最近买了个新的开发板,原生的是Android操作系统,需要自己少个启动盘,制作Linux+QT操作系统。

    新的开发板带这个制作的源文件,要先把这个文件拷贝到虚拟机Ubunbtu的共享目录下。

    f7b3e82802a7c7a7ca248c8f05b1b4c3.png

    打开share文件下显示文件如下:

    f53d8ce188f6ab057f1cbdadc01e1d91.png

    打开文件夹命令:

    cd sd_fusing

    make

    chmod 777 sd_fusing.sh

    53a54c85d2d69eb75ebfdcf3e34a8422.png

    用读卡器将SD卡插入电脑,虚拟机识别到SD读卡器。

    ae5f006e47dcc427042c9369061407f3.png

    右键点击图标,选择【连接】

    2bd9b84470d4f3f26a845d112c5010f8.png

    查看生成的设备节点,SD卡在ubuntu系统中的设备接点事/dev/sdb,通过命令ls /dev/sd*就能看到最后的设备sdb。

    aa7299b00f6963045a0165c929c9c381.png

    然后使用df-Th命令,下图就是整个SD卡被ubuntu识别之后产生的设备节点。

    327d47d8e05427ad796d2008d911709d.png

    如果用户根据如下规则查出来的SD卡识别的节点不是sdb,就需要手动修改sd_fusing.sh,首先使用 vi sd_fusing.sh打开改脚本。

    40505d17f138f517a3c4678f4da282a3.png

    如果是别的是sdb1,则需要把reader_type1="/dev/sdb1",如果是识别为sdb,则不用修改。

    f1ca2f06f009585a90a35776b6e04a39.png

    然后执行

    $sudo ./sd_fusing.sh/dev/sdb 就将uboot烧写到sd卡中

    bcb7809837e5d6d4db2aa11fbe7d5944.png

    将SD卡插入到开发板卡槽内,拨码至0110.

    d6053260dea9e3f94eb25ad507b3ecd5.png

    就OK了。

    展开全文
  • $sudo dd bs=4M if=系统镜像位置 of=设备位置 #创建完毕之后,...$ls /dev/sd* #查看设备分区 $sudo mount /dev/sdb1 /mnt #将/dev/sdb1分区挂载到/mnt下 $ls /mnt #查询挂载分区内容 $sudo umount /mnt #卸载分区...
  • 进入linux系统,打开软件GParted Partition Editor,找到未分配磁盘(一定确保找sd卡这块),右键点击,菜单里选择new,弹出如下对话框,File system可以选择Fat32,这样windows下也可以识别,也可以
  • USB启动盘制作工具

    2014-12-04 16:20:08
    网络上有很多同类工具,但都太过复杂或者广告多,影响正常使用,最终几经挑选,寻找到该款USB启动盘制作工具。它可以非常方便的将IOS光盘映像文件写入U盘,从而直接开机引导PC进入相应的操作系统安装中,另外它也...
  • 刚拿到新的SD卡,到制作启动盘,怎么弄? 一、SD卡/U盘的基本操作 注意一点:(1):当前窗口转到虚拟机下(就是用鼠标点一下虚拟机,使当前窗口在虚拟机下),然后再插入SD卡,SD卡在虚拟机中读取到。(2):当前...
  • 手里的创龙的OMAPL138平台的系统SSH坏掉了,我重新移植了openssh还是不好使,没有办法了只能重装OMAPL138的系统了,按照创龙给的文档《SD启动盘制作》按照步骤进行,当执行一个叫做mksdboot-tl.sh文件时候出现以下...
  • sd" //可以查出含有“sd”的设备挂载的路径 umount /media/path/to/udisk //U盘挂在的路径 fdisk -l 可以查出当前U盘所在盘符,如本例子中是/dev/sdb4 sudo mkfs.vfat /dev/sdb4 2.安装woeusb,图形化...
  • LinuxLive USB Creator是一个免费的安装工具,它能够把linux系统安装到U盘、SD卡等移动设备上面,开机后就可以引导到这个U盘系统中。和liveCD想比较,这样的方式能够让安装软件永久存储在U盘上不丢失,也无需...
  • //zz//######################################################################...zz-linux分区fdisk制作335x启动SD卡141215a zz-write: @2014-12-16 01:30:12 @ REF: Linux下对U盘的分区与格式化 http:/
  • 以下为使用工具软件方法: Etcher – 将「系统镜像文件」快速制作为 USB/SD 启动盘[Win/macOS/Linux] 执行命令:sudo ./write_sd /dev/sdb u-boot-movi.bin 将u-boot写入SD卡中, 下载地址: ...
  • 卸载U盘,执行格式化命令:mkfs.vfat /dev/sdb1然后重新挂载U盘,开始制作启动盘:view sourceprint?1.# ddif=/ntfs/linux_all/sys/CentOS-7.0-1406-x86_64-DVD.iso of=/dev/sdb注意是/dev/sdb 不是/dev/sd...
  • 其次,咱们还应该清楚,在TF/SD启动模式下,exynos 4412一上电,内部iROM会从TF/SD的第1个Block(第512个字节开始)读取8KB的数据到内部iRAM,而后从内部iRAM的0地址开始运行。 原理搞清楚了,那么首先须要把TF/SD...
  • sd启动分区的制作--使用fdisk 工具

    千次阅读 2015-12-11 10:19:08
    fdisk是对硬盘的一种格式化或者创建分区时使用到的工具,该工具运行需要超级权限,一般使用到的是创建板子手动启动分区的制作. 一般linux启动需要两个分区,一个启动分区(boot分区,存放uboot,较小,几M基本就...
  • u盘linux系统

    2010-09-01 18:44:00
    实验题目:U盘linux系统 实验要求:利用最新的linux内核做一个U盘linux,能够启动常见的PC机,系统内集成shell文件系统和基本TCP/IP协议栈文件系统自选,对图形界面不做要求 1制作环境 硬件环境:...
  • SD-Flasher.exe用于制作 Tiny210 的SD启动盘, 厂家提供的这个工具是基于 Windows , 实际上,也可以使用 Linux 命令进行基于磁盘的烧写,实现启动盘的制作。 具体步骤如下(我使用的开发板是 Tiny 210): 1. ...
  • Flash OS images to SD cards & USB drives, safely and easily. Etcher is a powerful OS image flasher built with web technologies to ensure flashing an SDCard or USB drive is a pleasant and safe ...

空空如也

空空如也

1 2 3 4
收藏数 67
精华内容 26
关键字:

linuxsd启动盘制作

linux 订阅