# 樹莓派寫入映像檔時出現 not enough size 問題
會出現這問題主要是因為我之前製作的映像檔是在第一代樹莓派上備份的, 它使用大卡 ( TOPRAM SD 卡), 而 Pi Zero/Pi 3 使用小卡 (Trancend micro SD, 又稱 TF 卡), 雖然都是 8G 記憶卡, 但其內部可用容量不同 (即使是同樣創見 8G TF 卡都有可能不一樣), TOPRAM 的可用容量較大, 用 Win32DiskImager 做出來的映像檔也較大, 因此無法寫入較小的創見 TF 卡中.
把時間浪費在研究映像檔如何瘦身不值得, 於是決定重新在 Pi Zero W 的創見 TF 卡上安裝 Raspbian, 這樣備份出來的映像檔會比較小. 去下載新版 Raspbian 發現 Raspbian 已有 2017-03-02 新版 :
燒錄 Raspbian 後先完成 raspbian-config 的設定, 再安裝 zip 與 PHP 與 sSMTP 等基本工具, 以及 Python 與 R 的機器學習套件, 過程就不記錄了, 僅摘要所下指令, 詳細參考 :
# 樹莓派重新安裝 Raspbian 作業系統
# 在樹莓派上安裝 R 語言
# 樹莓派安裝 Python2 scikit-learn 函式庫
# 樹莓派安裝 Python3 scikit-learn 函式庫
一. 基本工具 :
$ sudo apt-get install zip unzip
二. 安裝 Apache + PHP + MySQL 網頁伺服器與 phpMyAdmin :
$ sudo apt-get install apache2
$ sudo apt-get install php5 libapache2-mod-php5$ sudo service apache2 restart
$ sudo apt-get install mysql-server mysql-client php5-mysql
$ sudo apt-get install php5-mcrypt
$ tar -jxf phpMyAdmin-4.6.6-all-languages.tar.bz2
$ mv phpMyAdmin-4.6.6-all-languages mysql
$ sudo mv mysql /var/www/html
$ sudo service apache2 restart
三. 安裝 Python 機器學習套件 :
$ sudo apt-get install python3-numpy
$ sudo apt-get install python3-scipy
$ sudo apt-get install python3-matplotlib
$ sudo apt-get install python3-pandas
$ sudo pip3 install scikit-learn -U
$ sudo apt-get install python-numpy
$ sudo apt-get install python-scipy
$ sudo apt-get install python-matplotlib
$ sudo apt-get install python-pandas
$ sudo pip install scikit-learn -U
四. 安裝 R 語言
安裝 R 語言前最好先更新已安裝套件清單並升級 :
$ sudo apt-get update
$ sudo service apache2 restart
三. 安裝 Python 機器學習套件 :
for Python 3 :
$ sudo apt-get install python3-scipy
$ sudo apt-get install python3-matplotlib
$ sudo apt-get install python3-pandas
$ sudo pip3 install scikit-learn -U
for Python 2 :
$ sudo apt-get install python-numpy
$ sudo apt-get install python-scipy
$ sudo apt-get install python-matplotlib
$ sudo apt-get install python-pandas
$ sudo pip install scikit-learn -U
四. 安裝 R 語言
安裝 R 語言前最好先更新已安裝套件清單並升級 :
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install r-base
這樣便在 Pi Zero W 上安裝好 Raspbian 以及我研究機器學習所需要的工具了, 用 pip list 與 pip3 list 指令檢查已安裝套件清單 :
下面則是安裝全部所需套件後的使用情形 :
pi@raspberrypi:~ $ df -Bm
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/root 7270M 4722M 2194M 69% /
devtmpfs 427M 0M 427M 0% /dev
tmpfs 432M 0M 432M 0% /dev/shm
tmpfs 432M 6M 426M 2% /run
tmpfs 5M 1M 5M 1% /run/lock
tmpfs 432M 0M 432M 0% /sys/fs/cgroup
/dev/mmcblk0p1 63M 21M 42M 33% /boot
tmpfs 87M 0M 87M 0% /run/user/1000
因此上面所安裝的套件大約是 377MB 左右. 此 Transcend 8G TF 卡所備份的映像檔大小為 7761920KB (=7948206080 Bytes) :
而之前在第一代樹莓派上的 TOPRAM SD 大卡備份出來的映像檔大小是 7782400KB (=7969177600 Bytes), TOPRAM 的 SD 可用容量真的比 Transcend 的多了 20971520 Bytes (=20480 KB) :
我把這片新的卡放到 Pi 3 去跑一切 OK, 代表這片以 1000 元超便宜價新買的 Pi 3 也驗收過關啦! 其次以新的映像檔燒錄到可用容量大了 21MB 左右的 TOPRAM 8G SD 大卡上也沒問題, 這樣只要保留最新的映像檔即可, 以前的舊檔可以全部刪除了.
參考 :
# Script to run some benchmark test for Raspberry Pi
這樣便在 Pi Zero W 上安裝好 Raspbian 以及我研究機器學習所需要的工具了, 用 pip list 與 pip3 list 指令檢查已安裝套件清單 :
pi@raspberrypi:~ $ pip list
argparse (1.2.1)
beautifulsoup4 (4.3.2)
blinker (1.3)
chardet (2.3.0)
colorama (0.3.2)
decorator (3.4.0)
Flask (0.10.1)
gpiozero (1.3.2)
html5lib (0.999)
itsdangerous (0.24)
Jinja2 (2.7.3)
joblib (0.8.3)
lxkeymap (0.1)
MarkupSafe (0.23)
matplotlib (1.4.2)
mcpi (0.1.1)
mock (1.0.1)
ndg-httpsclient (0.3.2)
nose (1.3.4)
numexpr (2.4)
numpy (1.8.2)
openpyxl (1.7.0)
pandas (0.14.1)
picamera (1.13)
picraft (1.0)
pifacecommon (4.2.1)
pifacedigitalio (3.1.0)
pigpio (1.35)
Pillow (2.6.1)
pip (1.5.6)
pyasn1 (0.1.7)
pygame (1.9.2a0)
pygobject (3.14.0)
pyinotify (0.9.4)
pyOpenSSL (0.13.1)
pyparsing (2.0.3)
pyserial (2.6)
python-apt (0.9.3.12)
python-dateutil (2.2)
pytz (2012c)
requests (2.4.3)
RPi.GPIO (0.6.3)
RTIMULib (7.2.1)
scikit-learn (0.18.1)
scipy (0.14.0)
sense-emu (1.0)
sense-hat (2.2.0)
setuptools (5.5.1)
simplejson (3.6.5)
six (1.8.0)
smbus (1.1)
spidev (3.0)
statsmodels (0.4.2)
tables (3.1.1)
twython (3.1.2)
urllib3 (1.9.1)
Werkzeug (0.9.6)
wheel (0.24.0)
wsgiref (0.1.2)
xlrd (0.9.2)
xlwt (0.7.5)
pi@raspberrypi:~ $ pip3 list
beautifulsoup4 (4.3.2)
chardet (2.3.0)
codebug-i2c-tether (0.2.3)
codebug-tether (0.7.0)
colorama (0.3.2)
decorator (3.4.0)
Flask (0.10.1)
gpiozero (1.3.2)
html5lib (0.999)
itsdangerous (0.24)
Jinja2 (2.7.3)
lxml (3.4.0)
MarkupSafe (0.23)
matplotlib (1.4.2)
mcpi (0.1.1)
nose (1.3.4)
numexpr (2.4)
numpy (1.8.2)
pandas (0.14.1)
pgzero (1.1)
picamera (1.13)
picraft (1.0)
pifacecommon (4.2.1)
pifacedigitalio (3.1.0)
pigpio (1.35)
Pillow (2.6.1)
pip (1.5.6)
pygame (1.9.2a0)
pygobject (3.14.0)
pyinotify (0.9.4)
pyOpenSSL (0.13.1)
pyparsing (2.0.3)
pyserial (2.6)
python-apt (0.9.3.12)
python-dateutil (2.2)
python-debian (0.1.27)
pytz (2012c)
requests (2.4.3)
RPi.GPIO (0.6.3)
RTIMULib (7.2.1)
scikit-learn (0.18.1)
scipy (0.14.0)
sense-emu (1.0)
sense-hat (2.2.0)
setuptools (5.5.1)
six (1.8.0)
smbus (1.1)
spidev (3.0)
tables (3.1.1)
twython (3.1.2)
urllib3 (1.9.1)
Werkzeug (0.9.6)
wheel (0.24.0)
下面是剛安裝完 Raspbian 後 SD 卡的使用情形 :
pi@raspberrypi:~ $ df -Bm
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/root 7270M 4345M 2571M 63% /
devtmpfs 182M 0M 182M 0% /dev
tmpfs 186M 0M 186M 0% /dev/shm
tmpfs 186M 5M 182M 3% /run
tmpfs 5M 1M 5M 1% /run/lock
tmpfs 186M 0M 186M 0% /sys/fs/cgroup
/dev/mmcblk0p1 63M 21M 42M 33% /boot
tmpfs 38M 0M 38M 0% /run/user/1000
argparse (1.2.1)
beautifulsoup4 (4.3.2)
blinker (1.3)
chardet (2.3.0)
colorama (0.3.2)
decorator (3.4.0)
Flask (0.10.1)
gpiozero (1.3.2)
html5lib (0.999)
itsdangerous (0.24)
Jinja2 (2.7.3)
joblib (0.8.3)
lxkeymap (0.1)
MarkupSafe (0.23)
matplotlib (1.4.2)
mcpi (0.1.1)
mock (1.0.1)
ndg-httpsclient (0.3.2)
nose (1.3.4)
numexpr (2.4)
numpy (1.8.2)
openpyxl (1.7.0)
pandas (0.14.1)
picamera (1.13)
picraft (1.0)
pifacecommon (4.2.1)
pifacedigitalio (3.1.0)
pigpio (1.35)
Pillow (2.6.1)
pip (1.5.6)
pyasn1 (0.1.7)
pygame (1.9.2a0)
pygobject (3.14.0)
pyinotify (0.9.4)
pyOpenSSL (0.13.1)
pyparsing (2.0.3)
pyserial (2.6)
python-apt (0.9.3.12)
python-dateutil (2.2)
pytz (2012c)
requests (2.4.3)
RPi.GPIO (0.6.3)
RTIMULib (7.2.1)
scikit-learn (0.18.1)
scipy (0.14.0)
sense-emu (1.0)
sense-hat (2.2.0)
setuptools (5.5.1)
simplejson (3.6.5)
six (1.8.0)
smbus (1.1)
spidev (3.0)
statsmodels (0.4.2)
tables (3.1.1)
twython (3.1.2)
urllib3 (1.9.1)
Werkzeug (0.9.6)
wheel (0.24.0)
wsgiref (0.1.2)
xlrd (0.9.2)
xlwt (0.7.5)
beautifulsoup4 (4.3.2)
chardet (2.3.0)
codebug-i2c-tether (0.2.3)
codebug-tether (0.7.0)
colorama (0.3.2)
decorator (3.4.0)
Flask (0.10.1)
gpiozero (1.3.2)
html5lib (0.999)
itsdangerous (0.24)
Jinja2 (2.7.3)
lxml (3.4.0)
MarkupSafe (0.23)
matplotlib (1.4.2)
mcpi (0.1.1)
nose (1.3.4)
numexpr (2.4)
numpy (1.8.2)
pandas (0.14.1)
pgzero (1.1)
picamera (1.13)
picraft (1.0)
pifacecommon (4.2.1)
pifacedigitalio (3.1.0)
pigpio (1.35)
Pillow (2.6.1)
pip (1.5.6)
pygame (1.9.2a0)
pygobject (3.14.0)
pyinotify (0.9.4)
pyOpenSSL (0.13.1)
pyparsing (2.0.3)
pyserial (2.6)
python-apt (0.9.3.12)
python-dateutil (2.2)
python-debian (0.1.27)
pytz (2012c)
requests (2.4.3)
RPi.GPIO (0.6.3)
RTIMULib (7.2.1)
scikit-learn (0.18.1)
scipy (0.14.0)
sense-emu (1.0)
sense-hat (2.2.0)
setuptools (5.5.1)
six (1.8.0)
smbus (1.1)
spidev (3.0)
tables (3.1.1)
twython (3.1.2)
urllib3 (1.9.1)
Werkzeug (0.9.6)
wheel (0.24.0)
pi@raspberrypi:~ $ df -Bm
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/root 7270M 4345M 2571M 63% /
devtmpfs 182M 0M 182M 0% /dev
tmpfs 186M 0M 186M 0% /dev/shm
tmpfs 186M 5M 182M 3% /run
tmpfs 5M 1M 5M 1% /run/lock
tmpfs 186M 0M 186M 0% /sys/fs/cgroup
/dev/mmcblk0p1 63M 21M 42M 33% /boot
tmpfs 38M 0M 38M 0% /run/user/1000
下面則是安裝全部所需套件後的使用情形 :
pi@raspberrypi:~ $ df -Bm
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/root 7270M 4722M 2194M 69% /
devtmpfs 427M 0M 427M 0% /dev
tmpfs 432M 0M 432M 0% /dev/shm
tmpfs 432M 6M 426M 2% /run
tmpfs 5M 1M 5M 1% /run/lock
tmpfs 432M 0M 432M 0% /sys/fs/cgroup
/dev/mmcblk0p1 63M 21M 42M 33% /boot
tmpfs 87M 0M 87M 0% /run/user/1000
而之前在第一代樹莓派上的 TOPRAM SD 大卡備份出來的映像檔大小是 7782400KB (=7969177600 Bytes), TOPRAM 的 SD 可用容量真的比 Transcend 的多了 20971520 Bytes (=20480 KB) :
我把這片新的卡放到 Pi 3 去跑一切 OK, 代表這片以 1000 元超便宜價新買的 Pi 3 也驗收過關啦! 其次以新的映像檔燒錄到可用容量大了 21MB 左右的 TOPRAM 8G SD 大卡上也沒問題, 這樣只要保留最新的映像檔即可, 以前的舊檔可以全部刪除了.
參考 :
# Script to run some benchmark test for Raspberry Pi
沒有留言:
張貼留言