[{"data":1,"prerenderedAt":1002},["ShallowReactive",2],{"docs-install-k3":3},{"id":4,"title":5,"author":6,"body":7,"bodyHtml":994,"date":995,"description":47,"extension":996,"image":6,"meta":997,"navigation":152,"path":998,"seo":999,"stem":1000,"tags":6,"__hash__":1001},"installdocs\u002Fdocs\u002Finstall\u002Fk3.md","SpacemiT K3 安装指南",null,{"type":8,"value":9,"toc":982},"minimark",[10,14,21,24,41,81,84,110,113,194,198,203,220,223,226,234,237,252,255,261,268,271,277,280,287,682,687,863,866,898,902,905,911,914,917,923,934,961,964,967,978],[11,12,13],"h2",{"id":13},"支持设备",[15,16,17],"ul",{},[18,19,20],"li",{},"K3 Pico-ITX",[11,22,23],{"id":23},"下载并解压镜像",[25,26,27,28,35,36,40],"p",{},"在",[29,30,34],"a",{"href":31,"rel":32},"https:\u002F\u002Fdeepin-community.github.io\u002Fsig-deepin-ports\u002Fimages\u002Friscv64",[33],"nofollow","镜像列表","中下载最新的 ",[37,38,39],"code",{},".tar.xz"," 格式的镜像包至本地，随后使用以下命令解压镜像与校验码至当前文件夹：",[42,43,48],"pre",{"className":44,"code":45,"language":46,"meta":47,"style":47},"language-shell shiki shiki-themes github-light github-dark","tar -xvf \u003C你下载的镜像名称>.tar.xz\n","shell","",[37,49,50],{"__ignoreMap":47},[51,52,55,59,63,67,71,75,78],"span",{"class":53,"line":54},"line",1,[51,56,58],{"class":57},"sScJk","tar",[51,60,62],{"class":61},"sj4cs"," -xvf",[51,64,66],{"class":65},"szBVR"," \u003C",[51,68,70],{"class":69},"sZZnC","你下载的镜像名",[51,72,74],{"class":73},"sVt8B","称",[51,76,77],{"class":65},">",[51,79,80],{"class":69},".tar.xz\n",[25,82,83],{},"解压得到",[15,85,86,92,98,104],{},[18,87,88,91],{},[37,89,90],{},"deepin-k3-riscv64-25-desktop-installer.sha256sum","\nsha256 校验和",[18,93,94,97],{},[37,95,96],{},"deepin-k3-riscv64-25-desktop-installer.md5sum","\nmd5 校验和",[18,99,100,103],{},[37,101,102],{},"deepin-k3-riscv64-25-desktop-installer.boot.ext4","\n系统启动目录分区镜像",[18,105,106,109],{},[37,107,108],{},"deepin-k3-riscv64-25-desktop-installer.root.ext4","\n系统根目录分区镜像",[25,111,112],{},"校验镜像：",[42,114,116],{"className":44,"code":115,"language":46,"meta":47,"style":47},"$ cat deepin-k3-riscv64-25-desktop-installer.sha256sum\nf0824f78ff8eda3cd64fbc39dffff24ccaf943c6a8a32a6586b286c8670f7519  deepin-k3-riscv64-25-desktop-installer.boot.ext4\n8db2549a555388e2cca75a58a3e93fb8d70879a00086f10c5980b20748fbe8e5  deepin-k3-riscv64-25-desktop-installer.root.ext4\n\n$ sha256sum deepin-k3-riscv64-25-desktop-installer.boot.ext4\nf0824f78ff8eda3cd64fbc39dffff24ccaf943c6a8a32a6586b286c8670f7519  deepin-k3-riscv64-25-desktop-installer.boot.ext4\n\n$ sha256sum deepin-k3-riscv64-25-desktop-installer.root.ext4\n8db2549a555388e2cca75a58a3e93fb8d70879a00086f10c5980b20748fbe8e5  deepin-k3-riscv64-25-desktop-installer.root.ext4\n",[37,117,118,129,138,147,154,165,172,177,187],{"__ignoreMap":47},[51,119,120,123,126],{"class":53,"line":54},[51,121,122],{"class":57},"$",[51,124,125],{"class":69}," cat",[51,127,128],{"class":69}," deepin-k3-riscv64-25-desktop-installer.sha256sum\n",[51,130,132,135],{"class":53,"line":131},2,[51,133,134],{"class":57},"f0824f78ff8eda3cd64fbc39dffff24ccaf943c6a8a32a6586b286c8670f7519",[51,136,137],{"class":69},"  deepin-k3-riscv64-25-desktop-installer.boot.ext4\n",[51,139,141,144],{"class":53,"line":140},3,[51,142,143],{"class":57},"8db2549a555388e2cca75a58a3e93fb8d70879a00086f10c5980b20748fbe8e5",[51,145,146],{"class":69},"  deepin-k3-riscv64-25-desktop-installer.root.ext4\n",[51,148,150],{"class":53,"line":149},4,[51,151,153],{"emptyLinePlaceholder":152},true,"\n",[51,155,157,159,162],{"class":53,"line":156},5,[51,158,122],{"class":57},[51,160,161],{"class":69}," sha256sum",[51,163,164],{"class":69}," deepin-k3-riscv64-25-desktop-installer.boot.ext4\n",[51,166,168,170],{"class":53,"line":167},6,[51,169,134],{"class":57},[51,171,137],{"class":69},[51,173,175],{"class":53,"line":174},7,[51,176,153],{"emptyLinePlaceholder":152},[51,178,180,182,184],{"class":53,"line":179},8,[51,181,122],{"class":57},[51,183,161],{"class":69},[51,185,186],{"class":69}," deepin-k3-riscv64-25-desktop-installer.root.ext4\n",[51,188,190,192],{"class":53,"line":189},9,[51,191,143],{"class":57},[51,193,146],{"class":69},[11,195,197],{"id":196},"刷写-bootloader","刷写 bootloader",[199,200,202],"h3",{"id":201},"准备-bootloader-文件","准备 bootloader 文件",[25,204,205,206,211,212,215,216,219],{},"前往",[29,207,210],{"href":208,"rel":209},"https:\u002F\u002Fgithub.com\u002Fdeepin-community\u002Fdeepin-riscv-kernel\u002Factions",[33],"deepin-riscv-kernel","，进入最新的 ",[37,213,214],{},"build all"," 项，在 Artifacts 中选择 ",[37,217,218],{},"uboot-k3-spacemit"," 下载并解压。",[25,221,222],{},"从仓库中获取 esos deb 文件并 dpkg-deb -x 获得 esos.itb",[25,224,225],{},"它的目录结构如图所示：",[42,227,232],{"className":228,"code":230,"language":231},[229],"language-text",".\n├── fw_dynamic.itb    # 写入 opensbi 分区\n└── k3\n    ├── esos.itb    # 从系统中提取（文档待写）\n    ├── bootinfo_spinand.bin    # 写入 bootinfo 分区\n    ├── bootinfo_spinor.bin    # 写入 bootinfo 分区\n    ├── FSBL.bin    # 写入 fsbl 分区\n    ├── u-boot-env-default.bin    # 写入 env 分区\n    └── u-boot.itb    # 写入 uboot 分区\n","text",[37,233,230],{"__ignoreMap":47},[199,235,236],{"id":236},"进入刷写模式",[25,238,239,240,243,244,247,248,251],{},"在设备未通电时按下 ",[37,241,242],{},"FDL"," 按钮，并将 USB 线将设备连接至电脑，然后松开按钮，具体接口位置请参阅各设备文档。\n此时在电脑上运行 ",[37,245,246],{},"fastboot devices"," 将显示位于 ",[37,249,250],{},"fastboot"," 状态的设备。",[25,253,254],{},"执行以下操作以将设备从 usb 启动到 uboot 的写入模式：",[42,256,259],{"className":257,"code":258,"language":231},[229],"fastboot stage FSBL.bin    # 加载第一阶段 bootloader\nfastboot continue\nsleep 1\nfastboot stage u-boot.itb    # 加载第二阶段 bootloader (即 u-boot)\nfastboot continue\n",[37,260,258],{"__ignoreMap":47},[25,262,263,264,247,266,251],{},"此时在电脑上运行 ",[37,265,246],{},[37,267,250],{},[199,269,270],{"id":270},"创建分区表",[272,273,274],"blockquote",{},[25,275,276],{},"如果分区已存在，可以不用重复创建，直接跳过此步即可。",[25,278,279],{},"bootloader 单独写在 spi 存储中。",[25,281,282,283,286],{},"创建一个 ",[37,284,285],{},"partitions_mtd.json"," 文件：",[42,288,292],{"className":289,"code":290,"language":291,"meta":47,"style":47},"language-json shiki shiki-themes github-light github-dark","{\n  \"version\": \"1.0\",\n  \"format\": \"mtd\",\n  \"partitions\": [\n    {\n      \"name\": \"bootinfo\",\n      \"offset\": \"0\",\n      \"size\": \"128K\",\n      \"image\": \"factory\u002Fbootinfo_spinor.bin\"\n    },\n    {\n      \"name\": \"fsbl\",\n      \"offset\": \"128K\",\n      \"size\": \"512K\",\n      \"image\": \"factory\u002FFSBL.bin\"\n    },\n    {\n      \"name\": \"env\",\n      \"offset\": \"640K\",\n      \"size\": \"64K\",\n      \"image\": \"env.bin\"\n    },\n    {\n      \"name\": \"esos\",\n      \"offset\": \"704K\",\n      \"size\": \"1M\",\n      \"image\": \"esos.itb\"\n    },\n    {\n      \"name\": \"opensbi\",\n      \"offset\": \"1728K\",\n      \"size\": \"384K\",\n      \"image\": \"fw_dynamic.itb\"\n    },\n    {\n      \"name\": \"uboot\",\n      \"offset\": \"2112K\",\n      \"size\": \"-\",\n      \"image\": \"u-boot.itb\"\n    }\n  ]\n}\n\n","json",[37,293,294,299,313,325,333,338,350,362,374,384,390,395,407,418,430,440,445,450,462,474,486,496,501,506,518,530,542,552,557,562,574,586,598,608,613,618,630,642,654,664,670,676],{"__ignoreMap":47},[51,295,296],{"class":53,"line":54},[51,297,298],{"class":73},"{\n",[51,300,301,304,307,310],{"class":53,"line":131},[51,302,303],{"class":61},"  \"version\"",[51,305,306],{"class":73},": ",[51,308,309],{"class":69},"\"1.0\"",[51,311,312],{"class":73},",\n",[51,314,315,318,320,323],{"class":53,"line":140},[51,316,317],{"class":61},"  \"format\"",[51,319,306],{"class":73},[51,321,322],{"class":69},"\"mtd\"",[51,324,312],{"class":73},[51,326,327,330],{"class":53,"line":149},[51,328,329],{"class":61},"  \"partitions\"",[51,331,332],{"class":73},": [\n",[51,334,335],{"class":53,"line":156},[51,336,337],{"class":73},"    {\n",[51,339,340,343,345,348],{"class":53,"line":167},[51,341,342],{"class":61},"      \"name\"",[51,344,306],{"class":73},[51,346,347],{"class":69},"\"bootinfo\"",[51,349,312],{"class":73},[51,351,352,355,357,360],{"class":53,"line":174},[51,353,354],{"class":61},"      \"offset\"",[51,356,306],{"class":73},[51,358,359],{"class":69},"\"0\"",[51,361,312],{"class":73},[51,363,364,367,369,372],{"class":53,"line":179},[51,365,366],{"class":61},"      \"size\"",[51,368,306],{"class":73},[51,370,371],{"class":69},"\"128K\"",[51,373,312],{"class":73},[51,375,376,379,381],{"class":53,"line":189},[51,377,378],{"class":61},"      \"image\"",[51,380,306],{"class":73},[51,382,383],{"class":69},"\"factory\u002Fbootinfo_spinor.bin\"\n",[51,385,387],{"class":53,"line":386},10,[51,388,389],{"class":73},"    },\n",[51,391,393],{"class":53,"line":392},11,[51,394,337],{"class":73},[51,396,398,400,402,405],{"class":53,"line":397},12,[51,399,342],{"class":61},[51,401,306],{"class":73},[51,403,404],{"class":69},"\"fsbl\"",[51,406,312],{"class":73},[51,408,410,412,414,416],{"class":53,"line":409},13,[51,411,354],{"class":61},[51,413,306],{"class":73},[51,415,371],{"class":69},[51,417,312],{"class":73},[51,419,421,423,425,428],{"class":53,"line":420},14,[51,422,366],{"class":61},[51,424,306],{"class":73},[51,426,427],{"class":69},"\"512K\"",[51,429,312],{"class":73},[51,431,433,435,437],{"class":53,"line":432},15,[51,434,378],{"class":61},[51,436,306],{"class":73},[51,438,439],{"class":69},"\"factory\u002FFSBL.bin\"\n",[51,441,443],{"class":53,"line":442},16,[51,444,389],{"class":73},[51,446,448],{"class":53,"line":447},17,[51,449,337],{"class":73},[51,451,453,455,457,460],{"class":53,"line":452},18,[51,454,342],{"class":61},[51,456,306],{"class":73},[51,458,459],{"class":69},"\"env\"",[51,461,312],{"class":73},[51,463,465,467,469,472],{"class":53,"line":464},19,[51,466,354],{"class":61},[51,468,306],{"class":73},[51,470,471],{"class":69},"\"640K\"",[51,473,312],{"class":73},[51,475,477,479,481,484],{"class":53,"line":476},20,[51,478,366],{"class":61},[51,480,306],{"class":73},[51,482,483],{"class":69},"\"64K\"",[51,485,312],{"class":73},[51,487,489,491,493],{"class":53,"line":488},21,[51,490,378],{"class":61},[51,492,306],{"class":73},[51,494,495],{"class":69},"\"env.bin\"\n",[51,497,499],{"class":53,"line":498},22,[51,500,389],{"class":73},[51,502,504],{"class":53,"line":503},23,[51,505,337],{"class":73},[51,507,509,511,513,516],{"class":53,"line":508},24,[51,510,342],{"class":61},[51,512,306],{"class":73},[51,514,515],{"class":69},"\"esos\"",[51,517,312],{"class":73},[51,519,521,523,525,528],{"class":53,"line":520},25,[51,522,354],{"class":61},[51,524,306],{"class":73},[51,526,527],{"class":69},"\"704K\"",[51,529,312],{"class":73},[51,531,533,535,537,540],{"class":53,"line":532},26,[51,534,366],{"class":61},[51,536,306],{"class":73},[51,538,539],{"class":69},"\"1M\"",[51,541,312],{"class":73},[51,543,545,547,549],{"class":53,"line":544},27,[51,546,378],{"class":61},[51,548,306],{"class":73},[51,550,551],{"class":69},"\"esos.itb\"\n",[51,553,555],{"class":53,"line":554},28,[51,556,389],{"class":73},[51,558,560],{"class":53,"line":559},29,[51,561,337],{"class":73},[51,563,565,567,569,572],{"class":53,"line":564},30,[51,566,342],{"class":61},[51,568,306],{"class":73},[51,570,571],{"class":69},"\"opensbi\"",[51,573,312],{"class":73},[51,575,577,579,581,584],{"class":53,"line":576},31,[51,578,354],{"class":61},[51,580,306],{"class":73},[51,582,583],{"class":69},"\"1728K\"",[51,585,312],{"class":73},[51,587,589,591,593,596],{"class":53,"line":588},32,[51,590,366],{"class":61},[51,592,306],{"class":73},[51,594,595],{"class":69},"\"384K\"",[51,597,312],{"class":73},[51,599,601,603,605],{"class":53,"line":600},33,[51,602,378],{"class":61},[51,604,306],{"class":73},[51,606,607],{"class":69},"\"fw_dynamic.itb\"\n",[51,609,611],{"class":53,"line":610},34,[51,612,389],{"class":73},[51,614,616],{"class":53,"line":615},35,[51,617,337],{"class":73},[51,619,621,623,625,628],{"class":53,"line":620},36,[51,622,342],{"class":61},[51,624,306],{"class":73},[51,626,627],{"class":69},"\"uboot\"",[51,629,312],{"class":73},[51,631,633,635,637,640],{"class":53,"line":632},37,[51,634,354],{"class":61},[51,636,306],{"class":73},[51,638,639],{"class":69},"\"2112K\"",[51,641,312],{"class":73},[51,643,645,647,649,652],{"class":53,"line":644},38,[51,646,366],{"class":61},[51,648,306],{"class":73},[51,650,651],{"class":69},"\"-\"",[51,653,312],{"class":73},[51,655,657,659,661],{"class":53,"line":656},39,[51,658,378],{"class":61},[51,660,306],{"class":73},[51,662,663],{"class":69},"\"u-boot.itb\"\n",[51,665,667],{"class":53,"line":666},40,[51,668,669],{"class":73},"    }\n",[51,671,673],{"class":53,"line":672},41,[51,674,675],{"class":73},"  ]\n",[51,677,679],{"class":53,"line":678},42,[51,680,681],{"class":73},"}\n",[25,683,282,684,286],{},[37,685,686],{},"partitions_scsi.json",[42,688,690],{"className":289,"code":689,"language":291,"meta":47,"style":47},"{\n    \"version\": \"1.0\",\n    \"format\": \"gpt\",\n    \"partitions\": [\n        {\n            \"name\": \"bootfs\",\n            \"offset\": \"4M\",\n            \"size\": \"256M\",\n            \"image\": \"bootfs.img\",\n            \"compress\": \"gzip-5\"\n        },\n        {\n            \"name\": \"rootfs\",\n            \"offset\": \"260M\",\n            \"size\": \"-\",\n            \"image\": \"rootfs.ext4\",\n            \"compress\": \"gzip-5\"\n        }\n    ]\n}\n",[37,691,692,696,707,719,726,731,743,755,767,779,789,794,798,809,820,830,841,849,854,859],{"__ignoreMap":47},[51,693,694],{"class":53,"line":54},[51,695,298],{"class":73},[51,697,698,701,703,705],{"class":53,"line":131},[51,699,700],{"class":61},"    \"version\"",[51,702,306],{"class":73},[51,704,309],{"class":69},[51,706,312],{"class":73},[51,708,709,712,714,717],{"class":53,"line":140},[51,710,711],{"class":61},"    \"format\"",[51,713,306],{"class":73},[51,715,716],{"class":69},"\"gpt\"",[51,718,312],{"class":73},[51,720,721,724],{"class":53,"line":149},[51,722,723],{"class":61},"    \"partitions\"",[51,725,332],{"class":73},[51,727,728],{"class":53,"line":156},[51,729,730],{"class":73},"        {\n",[51,732,733,736,738,741],{"class":53,"line":167},[51,734,735],{"class":61},"            \"name\"",[51,737,306],{"class":73},[51,739,740],{"class":69},"\"bootfs\"",[51,742,312],{"class":73},[51,744,745,748,750,753],{"class":53,"line":174},[51,746,747],{"class":61},"            \"offset\"",[51,749,306],{"class":73},[51,751,752],{"class":69},"\"4M\"",[51,754,312],{"class":73},[51,756,757,760,762,765],{"class":53,"line":179},[51,758,759],{"class":61},"            \"size\"",[51,761,306],{"class":73},[51,763,764],{"class":69},"\"256M\"",[51,766,312],{"class":73},[51,768,769,772,774,777],{"class":53,"line":189},[51,770,771],{"class":61},"            \"image\"",[51,773,306],{"class":73},[51,775,776],{"class":69},"\"bootfs.img\"",[51,778,312],{"class":73},[51,780,781,784,786],{"class":53,"line":386},[51,782,783],{"class":61},"            \"compress\"",[51,785,306],{"class":73},[51,787,788],{"class":69},"\"gzip-5\"\n",[51,790,791],{"class":53,"line":392},[51,792,793],{"class":73},"        },\n",[51,795,796],{"class":53,"line":397},[51,797,730],{"class":73},[51,799,800,802,804,807],{"class":53,"line":409},[51,801,735],{"class":61},[51,803,306],{"class":73},[51,805,806],{"class":69},"\"rootfs\"",[51,808,312],{"class":73},[51,810,811,813,815,818],{"class":53,"line":420},[51,812,747],{"class":61},[51,814,306],{"class":73},[51,816,817],{"class":69},"\"260M\"",[51,819,312],{"class":73},[51,821,822,824,826,828],{"class":53,"line":432},[51,823,759],{"class":61},[51,825,306],{"class":73},[51,827,651],{"class":69},[51,829,312],{"class":73},[51,831,832,834,836,839],{"class":53,"line":442},[51,833,771],{"class":61},[51,835,306],{"class":73},[51,837,838],{"class":69},"\"rootfs.ext4\"",[51,840,312],{"class":73},[51,842,843,845,847],{"class":53,"line":447},[51,844,783],{"class":61},[51,846,306],{"class":73},[51,848,788],{"class":69},[51,850,851],{"class":53,"line":452},[51,852,853],{"class":73},"        }\n",[51,855,856],{"class":53,"line":464},[51,857,858],{"class":73},"    ]\n",[51,860,861],{"class":53,"line":476},[51,862,681],{"class":73},[25,864,865],{},"执行如下命令以设置分区：",[42,867,871],{"className":868,"code":869,"language":870,"meta":47,"style":47},"language-bash shiki shiki-themes github-light github-dark","fastboot flash mtd partitions_mtd.json\nfastboot flash scsi partitions_scsi.json\n","bash",[37,872,873,886],{"__ignoreMap":47},[51,874,875,877,880,883],{"class":53,"line":54},[51,876,250],{"class":57},[51,878,879],{"class":69}," flash",[51,881,882],{"class":69}," mtd",[51,884,885],{"class":69}," partitions_mtd.json\n",[51,887,888,890,892,895],{"class":53,"line":131},[51,889,250],{"class":57},[51,891,879],{"class":69},[51,893,894],{"class":69}," scsi",[51,896,897],{"class":69}," partitions_scsi.json\n",[199,899,901],{"id":900},"写入-bootloader","写入 bootloader",[25,903,904],{},"执行如下命令将新的 bootloader 写入到指定分区。",[42,906,909],{"className":907,"code":908,"language":231},[229],"fastboot flash bootinfo bootinfo_spinor.bin    # bootinfo_{spinor,spiand,emmc,sd} 取决于 bootloader 所在的存储介质\nfastboot flash fsbl FSBL.bin    # 写入第一阶段 bootloader\nfastboot flash env u-boot-env-default.bin    # 写入默认环境变量\nfastboot flash esos esos.itb    # 写入 esos\nfastboot flash opensbi fw_dynamic.itb    # 写入 opensbi\nfastboot flash uboot u-boot.itb    # 写入 u-boot\n",[37,910,908],{"__ignoreMap":47},[25,912,913],{},"此时设备已刷写完 bootloader，插拔电源重启即可进入新的 bootloader。",[11,915,916],{"id":916},"刷写操作系统",[25,918,919,920,922],{},"先参考上一节的 ",[37,921,236],{}," 将设备设置为刷写状态。",[25,924,925,926,929,930,933],{},"使用如下命令将镜像写入 ",[37,927,928],{},"bootfs"," 和 ",[37,931,932],{},"rootfs"," 分区：",[42,935,937],{"className":868,"code":936,"language":870,"meta":47,"style":47},"fastboot flash bootfs deepin-k3-riscv64-25-desktop-installer.boot.ext4\nfastboot flash rootfs deepin-k3-riscv64-25-desktop-installer.root.ext4\n",[37,938,939,950],{"__ignoreMap":47},[51,940,941,943,945,948],{"class":53,"line":54},[51,942,250],{"class":57},[51,944,879],{"class":69},[51,946,947],{"class":69}," bootfs",[51,949,164],{"class":69},[51,951,952,954,956,959],{"class":53,"line":131},[51,953,250],{"class":57},[51,955,879],{"class":69},[51,957,958],{"class":69}," rootfs",[51,960,186],{"class":69},[25,962,963],{},"此时插拔电源即可使设备启动到系统。",[11,965,966],{"id":966},"注意事项",[15,968,969],{},[18,970,971,972,977],{},"镜像启动时间可能较长，如需查看串口，请参见对应设备的",[29,973,976],{"href":974,"rel":975},"https:\u002F\u002Fdeepin-community.github.io\u002Fsig-deepin-ports\u002Fdocs",[33],"测试报告","。",[979,980,981],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":47,"searchDepth":131,"depth":131,"links":983},[984,985,986,992,993],{"id":13,"depth":131,"text":13},{"id":23,"depth":131,"text":23},{"id":196,"depth":131,"text":197,"children":987},[988,989,990,991],{"id":201,"depth":140,"text":202},{"id":236,"depth":140,"text":236},{"id":270,"depth":140,"text":270},{"id":900,"depth":140,"text":901},{"id":916,"depth":131,"text":916},{"id":966,"depth":131,"text":966},"\u003Ch2 id=\"支持设备\">支持设备\u003C\u002Fh2>\u003Cul>\u003Cli>K3 Pico-ITX\u003C\u002Fli>\u003C\u002Ful>\u003Ch2 id=\"下载并解压镜像\">下载并解压镜像\u003C\u002Fh2>\u003Cp>在\u003Ca href=\"https:\u002F\u002Fdeepin-community.github.io\u002Fsig-deepin-ports\u002Fimages\u002Friscv64\" rel=\"nofollow\">镜像列表\u003C\u002Fa>中下载最新的 \u003Ccode class=\"\">.tar.xz\u003C\u002Fcode> 格式的镜像包至本地，随后使用以下命令解压镜像与校验码至当前文件夹：\u003C\u002Fp>\u003Cpre class=\"language-shell shiki shiki-themes github-light github-dark\" code=\"tar -xvf \u003C你下载的镜像名称>.tar.xz\n\" language=\"shell\" meta=\"\" style=\"\">\u003Ccode __ignoreMap=\"\">\u003Cspan class=\"line\" line=\"1\">\u003Cspan class=\"sScJk\">tar\u003C\u002Fspan>\u003Cspan class=\"sj4cs\"> -xvf\u003C\u002Fspan>\u003Cspan class=\"szBVR\"> &#x3C;\u003C\u002Fspan>\u003Cspan class=\"sZZnC\">你下载的镜像名\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">称\u003C\u002Fspan>\u003Cspan class=\"szBVR\">>\u003C\u002Fspan>\u003Cspan class=\"sZZnC\">.tar.xz\n\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>解压得到\u003C\u002Fp>\u003Cul>\u003Cli>\u003Ccode class=\"\">deepin-k3-riscv64-25-desktop-installer.sha256sum\u003C\u002Fcode>\nsha256 校验和\u003C\u002Fli>\u003Cli>\u003Ccode class=\"\">deepin-k3-riscv64-25-desktop-installer.md5sum\u003C\u002Fcode>\nmd5 校验和\u003C\u002Fli>\u003Cli>\u003Ccode class=\"\">deepin-k3-riscv64-25-desktop-installer.boot.ext4\u003C\u002Fcode>\n系统启动目录分区镜像\u003C\u002Fli>\u003Cli>\u003Ccode class=\"\">deepin-k3-riscv64-25-desktop-installer.root.ext4\u003C\u002Fcode>\n系统根目录分区镜像\u003C\u002Fli>\u003C\u002Ful>\u003Cp>校验镜像：\u003C\u002Fp>\u003Cpre class=\"language-shell shiki shiki-themes github-light github-dark\" code=\"$ cat deepin-k3-riscv64-25-desktop-installer.sha256sum\nf0824f78ff8eda3cd64fbc39dffff24ccaf943c6a8a32a6586b286c8670f7519  deepin-k3-riscv64-25-desktop-installer.boot.ext4\n8db2549a555388e2cca75a58a3e93fb8d70879a00086f10c5980b20748fbe8e5  deepin-k3-riscv64-25-desktop-installer.root.ext4\n\n$ sha256sum deepin-k3-riscv64-25-desktop-installer.boot.ext4\nf0824f78ff8eda3cd64fbc39dffff24ccaf943c6a8a32a6586b286c8670f7519  deepin-k3-riscv64-25-desktop-installer.boot.ext4\n\n$ sha256sum deepin-k3-riscv64-25-desktop-installer.root.ext4\n8db2549a555388e2cca75a58a3e93fb8d70879a00086f10c5980b20748fbe8e5  deepin-k3-riscv64-25-desktop-installer.root.ext4\n\" language=\"shell\" meta=\"\" style=\"\">\u003Ccode __ignoreMap=\"\">\u003Cspan class=\"line\" line=\"1\">\u003Cspan class=\"sScJk\">$\u003C\u002Fspan>\u003Cspan class=\"sZZnC\"> cat\u003C\u002Fspan>\u003Cspan class=\"sZZnC\"> deepin-k3-riscv64-25-desktop-installer.sha256sum\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"2\">\u003Cspan class=\"sScJk\">f0824f78ff8eda3cd64fbc39dffff24ccaf943c6a8a32a6586b286c8670f7519\u003C\u002Fspan>\u003Cspan class=\"sZZnC\">  deepin-k3-riscv64-25-desktop-installer.boot.ext4\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"3\">\u003Cspan class=\"sScJk\">8db2549a555388e2cca75a58a3e93fb8d70879a00086f10c5980b20748fbe8e5\u003C\u002Fspan>\u003Cspan class=\"sZZnC\">  deepin-k3-riscv64-25-desktop-installer.root.ext4\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"4\">\u003Cspan emptyLinePlaceholder>\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"5\">\u003Cspan class=\"sScJk\">$\u003C\u002Fspan>\u003Cspan class=\"sZZnC\"> sha256sum\u003C\u002Fspan>\u003Cspan class=\"sZZnC\"> deepin-k3-riscv64-25-desktop-installer.boot.ext4\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"6\">\u003Cspan class=\"sScJk\">f0824f78ff8eda3cd64fbc39dffff24ccaf943c6a8a32a6586b286c8670f7519\u003C\u002Fspan>\u003Cspan class=\"sZZnC\">  deepin-k3-riscv64-25-desktop-installer.boot.ext4\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"7\">\u003Cspan emptyLinePlaceholder>\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"8\">\u003Cspan class=\"sScJk\">$\u003C\u002Fspan>\u003Cspan class=\"sZZnC\"> sha256sum\u003C\u002Fspan>\u003Cspan class=\"sZZnC\"> deepin-k3-riscv64-25-desktop-installer.root.ext4\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"9\">\u003Cspan class=\"sScJk\">8db2549a555388e2cca75a58a3e93fb8d70879a00086f10c5980b20748fbe8e5\u003C\u002Fspan>\u003Cspan class=\"sZZnC\">  deepin-k3-riscv64-25-desktop-installer.root.ext4\n\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch2 id=\"刷写-bootloader\">刷写 bootloader\u003C\u002Fh2>\u003Ch3 id=\"准备-bootloader-文件\">准备 bootloader 文件\u003C\u002Fh3>\u003Cp>前往\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fdeepin-community\u002Fdeepin-riscv-kernel\u002Factions\" rel=\"nofollow\">deepin-riscv-kernel\u003C\u002Fa>，进入最新的 \u003Ccode class=\"\">build all\u003C\u002Fcode> 项，在 Artifacts 中选择 \u003Ccode class=\"\">uboot-k3-spacemit\u003C\u002Fcode> 下载并解压。\u003C\u002Fp>\u003Cp>从仓库中获取 esos deb 文件并 dpkg-deb -x 获得 esos.itb\u003C\u002Fp>\u003Cp>它的目录结构如图所示：\u003C\u002Fp>\u003Cpre class=\"language-text\" code=\".\n├── fw_dynamic.itb    # 写入 opensbi 分区\n└── k3\n    ├── esos.itb    # 从系统中提取（文档待写）\n    ├── bootinfo_spinand.bin    # 写入 bootinfo 分区\n    ├── bootinfo_spinor.bin    # 写入 bootinfo 分区\n    ├── FSBL.bin    # 写入 fsbl 分区\n    ├── u-boot-env-default.bin    # 写入 env 分区\n    └── u-boot.itb    # 写入 uboot 分区\n\" language=\"text\">\u003Ccode __ignoreMap=\"\">.\n├── fw_dynamic.itb    # 写入 opensbi 分区\n└── k3\n    ├── esos.itb    # 从系统中提取（文档待写）\n    ├── bootinfo_spinand.bin    # 写入 bootinfo 分区\n    ├── bootinfo_spinor.bin    # 写入 bootinfo 分区\n    ├── FSBL.bin    # 写入 fsbl 分区\n    ├── u-boot-env-default.bin    # 写入 env 分区\n    └── u-boot.itb    # 写入 uboot 分区\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch3 id=\"进入刷写模式\">进入刷写模式\u003C\u002Fh3>\u003Cp>在设备未通电时按下 \u003Ccode class=\"\">FDL\u003C\u002Fcode> 按钮，并将 USB 线将设备连接至电脑，然后松开按钮，具体接口位置请参阅各设备文档。\n此时在电脑上运行 \u003Ccode class=\"\">fastboot devices\u003C\u002Fcode> 将显示位于 \u003Ccode class=\"\">fastboot\u003C\u002Fcode> 状态的设备。\u003C\u002Fp>\u003Cp>执行以下操作以将设备从 usb 启动到 uboot 的写入模式：\u003C\u002Fp>\u003Cpre class=\"language-text\" code=\"fastboot stage FSBL.bin    # 加载第一阶段 bootloader\nfastboot continue\nsleep 1\nfastboot stage u-boot.itb    # 加载第二阶段 bootloader (即 u-boot)\nfastboot continue\n\" language=\"text\">\u003Ccode __ignoreMap=\"\">fastboot stage FSBL.bin    # 加载第一阶段 bootloader\nfastboot continue\nsleep 1\nfastboot stage u-boot.itb    # 加载第二阶段 bootloader (即 u-boot)\nfastboot continue\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>此时在电脑上运行 \u003Ccode class=\"\">fastboot devices\u003C\u002Fcode> 将显示位于 \u003Ccode class=\"\">fastboot\u003C\u002Fcode> 状态的设备。\u003C\u002Fp>\u003Ch3 id=\"创建分区表\">创建分区表\u003C\u002Fh3>\u003Cblockquote>\u003Cp>如果分区已存在，可以不用重复创建，直接跳过此步即可。\u003C\u002Fp>\u003C\u002Fblockquote>\u003Cp>bootloader 单独写在 spi 存储中。\u003C\u002Fp>\u003Cp>创建一个 \u003Ccode class=\"\">partitions_mtd.json\u003C\u002Fcode> 文件：\u003C\u002Fp>\u003Cpre class=\"language-json shiki shiki-themes github-light github-dark\" code=\"{\n  &#x22;version&#x22;: &#x22;1.0&#x22;,\n  &#x22;format&#x22;: &#x22;mtd&#x22;,\n  &#x22;partitions&#x22;: [\n    {\n      &#x22;name&#x22;: &#x22;bootinfo&#x22;,\n      &#x22;offset&#x22;: &#x22;0&#x22;,\n      &#x22;size&#x22;: &#x22;128K&#x22;,\n      &#x22;image&#x22;: &#x22;factory\u002Fbootinfo_spinor.bin&#x22;\n    },\n    {\n      &#x22;name&#x22;: &#x22;fsbl&#x22;,\n      &#x22;offset&#x22;: &#x22;128K&#x22;,\n      &#x22;size&#x22;: &#x22;512K&#x22;,\n      &#x22;image&#x22;: &#x22;factory\u002FFSBL.bin&#x22;\n    },\n    {\n      &#x22;name&#x22;: &#x22;env&#x22;,\n      &#x22;offset&#x22;: &#x22;640K&#x22;,\n      &#x22;size&#x22;: &#x22;64K&#x22;,\n      &#x22;image&#x22;: &#x22;env.bin&#x22;\n    },\n    {\n      &#x22;name&#x22;: &#x22;esos&#x22;,\n      &#x22;offset&#x22;: &#x22;704K&#x22;,\n      &#x22;size&#x22;: &#x22;1M&#x22;,\n      &#x22;image&#x22;: &#x22;esos.itb&#x22;\n    },\n    {\n      &#x22;name&#x22;: &#x22;opensbi&#x22;,\n      &#x22;offset&#x22;: &#x22;1728K&#x22;,\n      &#x22;size&#x22;: &#x22;384K&#x22;,\n      &#x22;image&#x22;: &#x22;fw_dynamic.itb&#x22;\n    },\n    {\n      &#x22;name&#x22;: &#x22;uboot&#x22;,\n      &#x22;offset&#x22;: &#x22;2112K&#x22;,\n      &#x22;size&#x22;: &#x22;-&#x22;,\n      &#x22;image&#x22;: &#x22;u-boot.itb&#x22;\n    }\n  ]\n}\n\n\" language=\"json\" meta=\"\" style=\"\">\u003Ccode __ignoreMap=\"\">\u003Cspan class=\"line\" line=\"1\">\u003Cspan class=\"sVt8B\">{\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"2\">\u003Cspan class=\"sj4cs\">  \"version\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"1.0\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">,\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"3\">\u003Cspan class=\"sj4cs\">  \"format\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"mtd\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">,\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"4\">\u003Cspan class=\"sj4cs\">  \"partitions\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: [\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"5\">\u003Cspan class=\"sVt8B\">    {\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"6\">\u003Cspan class=\"sj4cs\">      \"name\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"bootinfo\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">,\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"7\">\u003Cspan class=\"sj4cs\">      \"offset\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"0\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">,\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"8\">\u003Cspan class=\"sj4cs\">      \"size\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"128K\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">,\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"9\">\u003Cspan class=\"sj4cs\">      \"image\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"factory\u002Fbootinfo_spinor.bin\"\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"10\">\u003Cspan class=\"sVt8B\">    },\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"11\">\u003Cspan class=\"sVt8B\">    {\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"12\">\u003Cspan class=\"sj4cs\">      \"name\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"fsbl\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">,\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"13\">\u003Cspan class=\"sj4cs\">      \"offset\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"128K\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">,\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"14\">\u003Cspan class=\"sj4cs\">      \"size\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"512K\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">,\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"15\">\u003Cspan class=\"sj4cs\">      \"image\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"factory\u002FFSBL.bin\"\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"16\">\u003Cspan class=\"sVt8B\">    },\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"17\">\u003Cspan class=\"sVt8B\">    {\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"18\">\u003Cspan class=\"sj4cs\">      \"name\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"env\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">,\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"19\">\u003Cspan class=\"sj4cs\">      \"offset\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"640K\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">,\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"20\">\u003Cspan class=\"sj4cs\">      \"size\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"64K\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">,\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"21\">\u003Cspan class=\"sj4cs\">      \"image\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"env.bin\"\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"22\">\u003Cspan class=\"sVt8B\">    },\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"23\">\u003Cspan class=\"sVt8B\">    {\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"24\">\u003Cspan class=\"sj4cs\">      \"name\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"esos\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">,\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"25\">\u003Cspan class=\"sj4cs\">      \"offset\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"704K\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">,\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"26\">\u003Cspan class=\"sj4cs\">      \"size\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"1M\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">,\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"27\">\u003Cspan class=\"sj4cs\">      \"image\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"esos.itb\"\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"28\">\u003Cspan class=\"sVt8B\">    },\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"29\">\u003Cspan class=\"sVt8B\">    {\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"30\">\u003Cspan class=\"sj4cs\">      \"name\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"opensbi\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">,\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"31\">\u003Cspan class=\"sj4cs\">      \"offset\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"1728K\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">,\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"32\">\u003Cspan class=\"sj4cs\">      \"size\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"384K\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">,\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"33\">\u003Cspan class=\"sj4cs\">      \"image\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"fw_dynamic.itb\"\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"34\">\u003Cspan class=\"sVt8B\">    },\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"35\">\u003Cspan class=\"sVt8B\">    {\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"36\">\u003Cspan class=\"sj4cs\">      \"name\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"uboot\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">,\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"37\">\u003Cspan class=\"sj4cs\">      \"offset\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"2112K\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">,\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"38\">\u003Cspan class=\"sj4cs\">      \"size\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"-\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">,\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"39\">\u003Cspan class=\"sj4cs\">      \"image\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"u-boot.itb\"\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"40\">\u003Cspan class=\"sVt8B\">    }\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"41\">\u003Cspan class=\"sVt8B\">  ]\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"42\">\u003Cspan class=\"sVt8B\">}\n\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>创建一个 \u003Ccode class=\"\">partitions_scsi.json\u003C\u002Fcode> 文件：\u003C\u002Fp>\u003Cpre class=\"language-json shiki shiki-themes github-light github-dark\" code=\"{\n    &#x22;version&#x22;: &#x22;1.0&#x22;,\n    &#x22;format&#x22;: &#x22;gpt&#x22;,\n    &#x22;partitions&#x22;: [\n        {\n            &#x22;name&#x22;: &#x22;bootfs&#x22;,\n            &#x22;offset&#x22;: &#x22;4M&#x22;,\n            &#x22;size&#x22;: &#x22;256M&#x22;,\n            &#x22;image&#x22;: &#x22;bootfs.img&#x22;,\n            &#x22;compress&#x22;: &#x22;gzip-5&#x22;\n        },\n        {\n            &#x22;name&#x22;: &#x22;rootfs&#x22;,\n            &#x22;offset&#x22;: &#x22;260M&#x22;,\n            &#x22;size&#x22;: &#x22;-&#x22;,\n            &#x22;image&#x22;: &#x22;rootfs.ext4&#x22;,\n            &#x22;compress&#x22;: &#x22;gzip-5&#x22;\n        }\n    ]\n}\n\" language=\"json\" meta=\"\" style=\"\">\u003Ccode __ignoreMap=\"\">\u003Cspan class=\"line\" line=\"1\">\u003Cspan class=\"sVt8B\">{\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"2\">\u003Cspan class=\"sj4cs\">    \"version\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"1.0\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">,\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"3\">\u003Cspan class=\"sj4cs\">    \"format\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"gpt\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">,\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"4\">\u003Cspan class=\"sj4cs\">    \"partitions\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: [\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"5\">\u003Cspan class=\"sVt8B\">        {\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"6\">\u003Cspan class=\"sj4cs\">            \"name\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"bootfs\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">,\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"7\">\u003Cspan class=\"sj4cs\">            \"offset\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"4M\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">,\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"8\">\u003Cspan class=\"sj4cs\">            \"size\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"256M\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">,\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"9\">\u003Cspan class=\"sj4cs\">            \"image\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"bootfs.img\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">,\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"10\">\u003Cspan class=\"sj4cs\">            \"compress\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"gzip-5\"\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"11\">\u003Cspan class=\"sVt8B\">        },\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"12\">\u003Cspan class=\"sVt8B\">        {\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"13\">\u003Cspan class=\"sj4cs\">            \"name\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"rootfs\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">,\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"14\">\u003Cspan class=\"sj4cs\">            \"offset\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"260M\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">,\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"15\">\u003Cspan class=\"sj4cs\">            \"size\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"-\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">,\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"16\">\u003Cspan class=\"sj4cs\">            \"image\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"rootfs.ext4\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">,\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"17\">\u003Cspan class=\"sj4cs\">            \"compress\"\u003C\u002Fspan>\u003Cspan class=\"sVt8B\">: \u003C\u002Fspan>\u003Cspan class=\"sZZnC\">\"gzip-5\"\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"18\">\u003Cspan class=\"sVt8B\">        }\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"19\">\u003Cspan class=\"sVt8B\">    ]\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"20\">\u003Cspan class=\"sVt8B\">}\n\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>执行如下命令以设置分区：\u003C\u002Fp>\u003Cpre class=\"language-bash shiki shiki-themes github-light github-dark\" code=\"fastboot flash mtd partitions_mtd.json\nfastboot flash scsi partitions_scsi.json\n\" language=\"bash\" meta=\"\" style=\"\">\u003Ccode __ignoreMap=\"\">\u003Cspan class=\"line\" line=\"1\">\u003Cspan class=\"sScJk\">fastboot\u003C\u002Fspan>\u003Cspan class=\"sZZnC\"> flash\u003C\u002Fspan>\u003Cspan class=\"sZZnC\"> mtd\u003C\u002Fspan>\u003Cspan class=\"sZZnC\"> partitions_mtd.json\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"2\">\u003Cspan class=\"sScJk\">fastboot\u003C\u002Fspan>\u003Cspan class=\"sZZnC\"> flash\u003C\u002Fspan>\u003Cspan class=\"sZZnC\"> scsi\u003C\u002Fspan>\u003Cspan class=\"sZZnC\"> partitions_scsi.json\n\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Ch3 id=\"写入-bootloader\">写入 bootloader\u003C\u002Fh3>\u003Cp>执行如下命令将新的 bootloader 写入到指定分区。\u003C\u002Fp>\u003Cpre class=\"language-text\" code=\"fastboot flash bootinfo bootinfo_spinor.bin    # bootinfo_{spinor,spiand,emmc,sd} 取决于 bootloader 所在的存储介质\nfastboot flash fsbl FSBL.bin    # 写入第一阶段 bootloader\nfastboot flash env u-boot-env-default.bin    # 写入默认环境变量\nfastboot flash esos esos.itb    # 写入 esos\nfastboot flash opensbi fw_dynamic.itb    # 写入 opensbi\nfastboot flash uboot u-boot.itb    # 写入 u-boot\n\" language=\"text\">\u003Ccode __ignoreMap=\"\">fastboot flash bootinfo bootinfo_spinor.bin    # bootinfo_{spinor,spiand,emmc,sd} 取决于 bootloader 所在的存储介质\nfastboot flash fsbl FSBL.bin    # 写入第一阶段 bootloader\nfastboot flash env u-boot-env-default.bin    # 写入默认环境变量\nfastboot flash esos esos.itb    # 写入 esos\nfastboot flash opensbi fw_dynamic.itb    # 写入 opensbi\nfastboot flash uboot u-boot.itb    # 写入 u-boot\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>此时设备已刷写完 bootloader，插拔电源重启即可进入新的 bootloader。\u003C\u002Fp>\u003Ch2 id=\"刷写操作系统\">刷写操作系统\u003C\u002Fh2>\u003Cp>先参考上一节的 \u003Ccode class=\"\">进入刷写模式\u003C\u002Fcode> 将设备设置为刷写状态。\u003C\u002Fp>\u003Cp>使用如下命令将镜像写入 \u003Ccode class=\"\">bootfs\u003C\u002Fcode> 和 \u003Ccode class=\"\">rootfs\u003C\u002Fcode> 分区：\u003C\u002Fp>\u003Cpre class=\"language-bash shiki shiki-themes github-light github-dark\" code=\"fastboot flash bootfs deepin-k3-riscv64-25-desktop-installer.boot.ext4\nfastboot flash rootfs deepin-k3-riscv64-25-desktop-installer.root.ext4\n\" language=\"bash\" meta=\"\" style=\"\">\u003Ccode __ignoreMap=\"\">\u003Cspan class=\"line\" line=\"1\">\u003Cspan class=\"sScJk\">fastboot\u003C\u002Fspan>\u003Cspan class=\"sZZnC\"> flash\u003C\u002Fspan>\u003Cspan class=\"sZZnC\"> bootfs\u003C\u002Fspan>\u003Cspan class=\"sZZnC\"> deepin-k3-riscv64-25-desktop-installer.boot.ext4\n\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"line\" line=\"2\">\u003Cspan class=\"sScJk\">fastboot\u003C\u002Fspan>\u003Cspan class=\"sZZnC\"> flash\u003C\u002Fspan>\u003Cspan class=\"sZZnC\"> rootfs\u003C\u002Fspan>\u003Cspan class=\"sZZnC\"> deepin-k3-riscv64-25-desktop-installer.root.ext4\n\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>此时插拔电源即可使设备启动到系统。\u003C\u002Fp>\u003Ch2 id=\"注意事项\">注意事项\u003C\u002Fh2>\u003Cul>\u003Cli>镜像启动时间可能较长，如需查看串口，请参见对应设备的\u003Ca href=\"https:\u002F\u002Fdeepin-community.github.io\u002Fsig-deepin-ports\u002Fdocs\" rel=\"nofollow\">测试报告\u003C\u002Fa>。\u003C\u002Fli>\u003C\u002Ful>\u003Cstyle>html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}\u003C\u002Fstyle>","2026-02-24","md",{},"\u002Fdocs\u002Finstall\u002Fk3",{"title":5,"description":47},"docs\u002Finstall\u002Fk3","qb02jiEY0VktY3QcQgZB7qioS2mV1qucJfWh1HrWJeA",1779689356795]