1. 程式人生 > >玩轉樹莓派:安裝作業系統

玩轉樹莓派:安裝作業系統

        將sdcard插在讀卡器中並插入工作電腦中,執行:

[lidq@localhost ~] ls /dev
sda
sda1
sda2
sda3
sda4
sdb
sdb1
sdb2

        其中sdX表示你電腦上的大容量儲存裝置:sda表示第一個儲存裝置(硬碟);sdb表示第二塊儲存裝置(sdcard)。

        其中sdXN中的N表示這個儲存裝置的分割槽號:sda1表示第一個儲存裝置的第一個分割槽;sda2表示第一個儲存裝置的第二個分割槽;sda3表示第一個儲存裝置的第三個分割槽;sdb1表示第二個儲存裝置的第一個分割槽;sdb2表示第二個儲存裝置的第二個分割槽。

        我們需要確定sdcard這個裝置的裝置名稱是哪一個(在這裡是sdb也有可能是sdc或sdd等),然後對這個sdcard進行分割槽,我們需要對其劃分3個區:

        sdb1:啟動分割槽

        sdb2:交換分割槽

        sdb3:系統根分割槽

[lidq@localhost ~] sudo fdisk /dev/sdb

        在fdisk命令中可以使用m顯示幫助提示。

        首先輸入p顯示目前此儲存裝置現有的分割槽:

Command (m for help): p
Device     Boot   Start      End Sectors Size Id Type
/dev/sdb1          2048  8390655 8388608   4G 83 Linux
/dev/sdb2       8390656 16777215
8386560 4G 83 Linux

        可以看到這個sdcar上本來具有兩個分割槽,我們需要輸入d命令,並按提示將這兩個分割槽全部刪除:

Command (m for help): d
Partition number (1,2, default 2): 
Partition 2 has been deleted.
Command (m for help): d
Selected partition 1
Partition 1 has been deleted.

        然後建立sdb1、sdb2、sdb3三個分割槽,執行n命令建立一個新分割槽設定其大小為512MB:

Command (m for help
): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-16777215, default 2048): 2048 Last sector, +sectors or +size{K,M,G,T,P} (2048-16777215, default 16777215): +512M Created a new partition 1 of type 'Linux' and of size 512 MiB.

        再次執行n命令建立一個新分割槽設定其大小為2GB:

Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2): 2
First sector (1050624-16777215, default 1050624): 
Last sector, +sectors or +size{K,M,G,T,P} (1050624-16777215, default 16777215): +2G
Created a new partition 2 of type 'Linux' and of size 2 GiB.

        再次執行n命令建立一個新分割槽,將sdcard中剩餘大小全部分配給此分割槽:

Command (m for help): n
Partition type
   p   primary (2 primary, 0 extended, 2 free)
   e   extended (container for logical partitions)
Select (default p): 
Using default response p.
Partition number (3,4, default 3): 
First sector (5244928-16777215, default 5244928): 
Last sector, +sectors or +size{K,M,G,T,P} (5244928-16777215, default 16777215): 
Created a new partition 3 of type 'Linux' and of size 5.5 GiB.

        接下來執行p命令,檢視我們已經建立好的新分割槽:

Command (m for help): p
Device     Boot   Start      End  Sectors  Size Id Type
/dev/sdb1          2048  1050623  1048576  512M 83 Linux
/dev/sdb2       1050624  5244927  4194304    2G 83 Linux
/dev/sdb3       5244928 16777215 11532288  5.5G 83 Linux

        執行t命令將sdb1分割槽的型別修改為b (WIN95 FAT32):

Command (m for help): t
Partition number (1-3, default 3): 1
Partition type (type L to list all types): b
Changed type of partition 'Linux' to 'W95 FAT32'.

        執行t命令將sdb2分割槽的型別修改為82 (Linux swap / Solaris):

Command (m for help): t
Partition number (1-3, default 3): 2
Partition type (type L to list all types): 82
Changed type of partition 'Linux' to 'Linux swap / Solaris'.

        執行t命令將sdb3分割槽的型別修改為83 (Linux),由於我們的sdb3分割槽型別已經是Linux了所以無需再做額外修改。

        執行a命令將sdb1分割槽的boot選項設定為* :

Command (m for help): a
Partition number (1-3, default 3): 1
The bootable flag on partition 1 is enabled now.

        再次使用p命令檢視分割槽資訊:

Command (m for help): p
Device     Boot   Start      End  Sectors  Size Id Type
/dev/sdb1  *       2048  1050623  1048576  512M  b W95 FAT32
/dev/sdb2       1050624  5244927  4194304    2G 82 Linux swap / Solaris
/dev/sdb3       5244928 16777215 11532288  5.5G 83 Linux

        可以看到我們的sdcard已經被修改為3個分割槽分別是sdb1、sdb2、sdb3,其中sdb1是啟動分割槽;sdb2是交換分割槽、sdb3是系統根分割槽。

        最後執行w命令寫入所有執行結果,即確定對儲存裝置做分割槽修改,執行成功後自動退出fdisk命令並返回命令列介面:

Command (m for help): w
The partition table has been altered.
Syncing disks.
[[email protected] ~]

        接下我們還需使用mkfs.vfat和mkfs.ext4兩個命令對sdb1和sdb3兩個分割槽進行格式化操作(sdb2是swap分割槽不需要格式化):

[[email protected] ~]$ sudo mkfs.vfat /dev/sdb1
mkfs.fat 4.0 (2016-05-06)

[[email protected] ~]$ sudo mkfs.ext4 /dev/sdb3
mke2fs 1.43.1 (08-Jun-2016)
Creating filesystem with 1441536 4k blocks and 360448 inodes
Filesystem UUID: d05d026a-6177-4a7c-892a-a4a970cd155b
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736
Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

到此為止我們的sdcard的分割槽工作完成了。