瑞芯微ROCK960 RK3399燒錄image後擴容rootfs

来源:https://www.cnblogs.com/garrettpan/archive/2018/09/19/9675633.html
-Advertisement-
Play Games

使用parted和resize2fs擴容GPT分區表格式 rootfs ...


問題描述:

RK3399開發板燒錄官網提供的ubuntu鏡像: Ubuntu 16.04 Server arm64(下載地址:https://www.96boards.org/documentation/consumer/rock/downloads/ubuntu.md.html),

開發板上電運行查看系統根目錄容量已使用96%:

root@rock960:~# df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/root        1515376 1353320     67032  96% /
devtmpfs         1951660       0   1951660   0% /dev
tmpfs            1952236       0   1952236   0% /dev/shm
tmpfs            1952236   49692   1902544   3% /run
tmpfs               5120       0      5120   0% /run/lock
tmpfs            1952236       0   1952236   0% /sys/fs/cgroup
tmpfs             390448       0    390448   0% /run/user/0

root@rock960:~# 

 

再查看磁碟容量,32GB eMMC實際可用容量29GB,除去已分區容量還有27.5GB容量未分區:

root@rock960:~# fdisk -l /dev/mmcblk1
Disk /dev/mmcblk1: 29.1 GiB, 31268536320 bytes, 61071360 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: gpt
Disk identifier: F464C417-6F1F-4BF8-A1CE-BDB432A3BD1B

Device           Start      End  Sectors  Size Type
/dev/mmcblk1p1      64     8063     8000  3.9M Linux filesystem
/dev/mmcblk1p2   16384    24575     8192    4M Linux filesystem
/dev/mmcblk1p3   24576    32767     8192    4M Linux filesystem
/dev/mmcblk1p4   32768   262143   229376  112M EFI System
/dev/mmcblk1p5  262144  3409886  3147743  1.5G Linux filesystem
root@rock960:~# 

 

因此需要把未分區的27.5GB磁碟空間追加到/dev/mmcblk1p5並擴容rootfs文件系統。解決方法主要用到兩個命令:parted和resize2fs。

首先重新分配/dev/mmcblk1p5分區大小到覆蓋整個磁碟剩餘容量:(註意fdisk不支持GPT分區)

root@rock960:~# parted /dev/mmcblk1
GNU Parted 3.2
Using /dev/mmcblk1
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print                                                            
Model: MMC BJNB4R (sd/mmc)
Disk /dev/mmcblk1: 31.3GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     Flags
 1      32.8kB  4129kB  4096kB               loader1
 2      8389kB  12.6MB  4194kB               loader2
 3      12.6MB  16.8MB  4194kB               trust
 4      16.8MB  134MB   117MB   fat16        boot     boot, esp
 5      134MB   1746MB  1612MB  ext4         rootfs

(parted) unit s                                                           
(parted) print                                                            
Model: MMC BJNB4R (sd/mmc)
Disk /dev/mmcblk1: 61071360s
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start     End        Size       File system  Name     Flags
 1      64s       8063s      8000s                   loader1
 2      16384s    24575s     8192s                   loader2
 3      24576s    32767s     8192s                   trust
 4      32768s    262143s    229376s    fat16        boot     boot, esp
 5      262144s   3409886s   3147743s   ext4         rootfs
 
(parted) resizepart 5 100%                                                
(parted) print
Model: MMC BJNB4R (sd/mmc)
Disk /dev/mmcblk1: 61071360s
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start    End        Size       File system  Name     Flags
 1      64s      8063s      8000s                   loader1
 2      16384s   24575s     8192s                   loader2
 3      24576s   32767s     8192s                   trust
 4      32768s   262143s    229376s    fat16        boot     boot, esp
 5      262144s  61071326s  60809183s  ext4         rootfs
 
(parted) Q  
root@rock960:~#

 

然後進行EXT文件系統擴容:

root@rock960:~# resize2fs /dev/mmcblk1p5
resize2fs 1.42.13 (17-May-2015)
The filesystem is already 7601147 (4k) blocks long.  Nothing to do!
root@rock960:~# 

 

這時查看根目錄下已使用容量已經變成5%

root@rock960:~# df -TH
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/root      ext4       31G  1.4G   28G   5% /
devtmpfs       devtmpfs  2.0G     0  2.0G   0% /dev
tmpfs          tmpfs     2.0G     0  2.0G   0% /dev/shm
tmpfs          tmpfs     2.0G   51M  2.0G   3% /run
tmpfs          tmpfs     5.3M     0  5.3M   0% /run/lock
tmpfs          tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
tmpfs          tmpfs     400M     0  400M   0% /run/user/0
root@rock960:~# 

 

後續:

TBD

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 環境:Ubuntu 16.04 由於很久不用我的Ubuntu系統導緻密碼忘記,就想著應該有什麼辦法可以強制修改root密碼,就上百度找了一下,果然Ubuntu有辦法強制修改root密碼。 在這裡要謝謝這位博主啦。 第一步 重啟 Ubuntu ,並長按shift鍵,進入grub菜單,上下鍵選擇Ubun ...
  • windows server的伺服器遠程桌面預設埠號是3389,在工作中經常使用遠程桌面連接伺服器,但是這也是常常被黑客利用的埠號,但是如何修改掉預設埠,預防被黑客利用呢? 可以如下操作配置:很多人在使用windows操作系統的時候,由於修改埠的方法錯誤,導致自己不能遠程操作伺服器,給自己帶 ...
  • 雖然有kali linux這樣集合了很多安全工具的操作系統,但是kali的軟體源相對老舊,沒有ubuntu等主流debian系統豐富,kali預設使用su許可權進入圖形化界面也是違背linux許可權機制的體現之一,故使用主流debian系linux系統安裝安全工具集比kali更具可用性,但是許多安全工具 ...
  •     在awk中常用的內置函數大概分為:數值函數、字元函數、時間函數、二進位操作函數、數組函數、自定義函數等。 數值函數   常用的數值函數主要有int、rand、srand、sqrt等。詳細如下所示: | 函數 | 說明 | | | | | int(expr) | ...
  • 最近由於在學習STM32看到別人用寄存器編程式控制制跑馬燈,於是自己也想試一試。可是試了好久終究弄不出來。回頭看了下庫函數的調用關係才搞明白。首先通過查看GPIOA的設置函數發現設置如下: 改機構體根據結構體成員函數的大小自己形成了針對首地址的偏移量。從而與需要操作的寄存器地址偏移一一對應。通過查看設置 ...
  • 一、什麼是SSH? 簡單說,SSH是一種網路協議,用於電腦之間的加密登錄。 如果一個用戶從本地電腦,使用SSH協議登錄另一臺遠程電腦,我們就可以認為,這種登錄是安全的,即使被中途截獲,密碼也不會泄露。 最早的時候,互聯網通信都是明文通信,一旦被截獲,內容就暴露無疑。1995年,芬蘭學者Tatu ...
  • 一. 概述 linux安全系統的核心是用戶賬戶。 創建用戶時會分配用戶ID(UID)。 UID是唯一的,但在登錄系統時不是用UID,而是用登錄名。在講文件許可權之之前,先瞭解下linux是怎樣處理用戶賬戶的。以及用戶賬戶需要的文件和工具,這樣處理文件許可權問題時,就知道如何使用它們了。 1.1 /etc ...
  • 基於Keepalived+Varnish+Nginx實現的高可用LAMP架構 註意:各節點的時間需要同步(ntpdate ntp1.aliyun.com),關閉firewalld(systemctl stop firewalld.service,systemctl disable firewalld ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...