每次出差必定將banana做個apt-get升級,讓banana保持最新狀態。
我是用emmc開機模式,這次升級發生root的空間不足,原來之前把image燒到emmc時並無做partition resize的動作,所以在系統上就只有1.6G,用了半年就爆了,XD。
在網上找了不少資料與做實驗,正確做法整理如下:
分析原因:
1. 先用df確定disk空間status - 發現/ (root)的空間只剩下0%,難怪無法升級。
2. 再用mount,確定/(root)是mount在/dev/mmcblk0p2
因為做partition resize必須umount,但是 /(root) 的partition是正在運行的partition,不能umount,所以必須要用SD card開機再做resize的動作。
做法:
1. 製作1張可開機的SD card,可參考這裡 。
2. 開機後,root賬號login
3. 用parted指令可以resize partition在emmc的disk,細節可參考這裡
4. reboot,還是用SD card開機。
5. 最後,用root下resize2fs指令把filesystem重新整理完成。
《code》
5. 最後,用root下resize2fs指令把filesystem重新整理完成。
《code》
regis@bpi-iot-ros-ai:~ $ sudo parted /dev/mmcblk1 #mmcblk1 represent eMMC
GNU Parted 3.2
Using /dev/mmcblk1
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print #List partitions
Model: SD SL08G (sd/mmc)
Disk /dev/mmcblk1: 7948MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 8389kB 58.7MB 50.3MB fat16 primary msftdata
2 58.7MB 3670MB 3611MB ext4 primary msftdata
(parted) resizepart #Resize partition
Partition number? 2 #Select partition 2
End? [3670MB]? -1 #Resize to the end
(parted) print #List partitons
Model: SD SL08G (sd/mmc)
Disk /dev/mmcblk0: 7948MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 8389kB 58.7MB 50.3MB fat16 primary msftdata
2 58.7MB 7947MB 7888MB ext4 primary msftdata
(parted) q
Information: You may need to update /etc/fstab.
regis@bpi-iot-ros-ai:~ $ sudo reboot
regis@bpi-iot-ros-ai:~ $ sudo resize2fs /dev/mmcblk1p2
重新用eMMC開機後,用df指令可以確認已經resize完成。
regis@bpi-iot-ros-ai:~ $ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 7155560 1525744 5266352 23% /
devtmpfs 380800 0 380800 0% /dev
tmpfs 512036 0 512036 0% /dev/shm
tmpfs 512036 6904 505132 2% /run
tmpfs 5120 4 5116 1% /run/lock
tmpfs 512036 0 512036 0% /sys/fs/cgroup
/dev/mmcblk0p1 261868 213032 48836 82% /boot
沒有留言:
張貼留言