這個跟實際把 Alpine Linux 裝起來是不一樣的~
當然,這篇筆記跟 docker Container 也沒什麼關係~
準備:
- VirtualBox 或 VMWare 這類的虛擬化軟體
- 空的隨身碟一隻(等下會被格式化):但建議考慮不要用隨身硬碟(空間太大了)
- Alpine Linux 的 ISO 檔案:這裡準備 v3.8 的
步驟:
1.開一個空的 VM:不用準備 Virtual Disk 沒關係
2.用 ISO 將 VM 開機
前兩步驟都是用滑鼠完成的,也取決於使用的 VM 軟體。
以 ALpine Linux 的 iso 檔開機之後,會直接進入 Live OS 的模式,這時候的作業系統只有在記憶體上運作。
3. 使 VM 可以看見隨身碟,這需要從外部的 VM 調整設定,讓 VM 咬住隨身碟
接著開起來的作業系統是一個指令的環境(沒有桌面),以 root 登入即可。
上面這些部份就請各位找其他教學好了...截圖有點麻煩...
同樣的,下面截圖也有點不好處理,也不知道怎麼弄 tty 內容的重新導向,也懶的設置 SSH,這邊就只列用到的指令,相關的輸出就請各位自己邊做邊觀察了...
4. 啟用網路
待會要額外下載套件
VM 端的設定,只要確保可以連上外部網路就好(通常是預設的設定)
localhost:~# cat << EOF >> /etc/network/interfaces auto eth0 iface eth0 inet dhcp EOF localhost:~# /etc/init.d/networking start
5. 設定下載套件的 Alpine Package Repolsitory
這一步驟只要讓執行精靈自己去抓適合的 Mirror 就好,沒意外的話應該是抓到 http://ftp.yzu.edu.tw/Linux/alpine/ 提供的位置
localhost:~# setup-apkrepos
6. 處理隨身碟:分割隨身碟
其實隨身碟大多預設有分割好了(你才能夠一買來就能用)。這步驟會把隨身碟內容抹掉(連同隱藏分割區),要注意裡面沒有你要的東西或隱藏功能才行
第一步指令會讓你查看當前的磁區分割狀況,第二步指令才是重新分割
重新分割的 fdisk 指令有點難懂..可以試著上網找一下範例
https://www.howtogeek.com/106873/how-to-use-fdisk-to-manage-partitions-on-linux/
https://www.tecmint.com/fdisk-commands-to-manage-linux-disk-partitions/
感覺 fdisk 有點難的話,可以用 cfdisk 指令。
如果不想重新分割,就直接往下一步走
localhost:~# fdisk -l /dev/sda localhost:~# fdisk /dev/sda
6.處理隨身碟:格式化
上一步裡面,直接把隨身碟分割成單一空間(最簡單處理),在 Linux 裡面就顯示成 /dev/sda1。這邊要在裡面格式化成 FAT32 的檔案系統(跟 Windows 裡面對隨身碟格式化的格式一樣)
這一步驟其實也可以跳過,因為可以先在 Windows 上面完成(奴果你的桌機是 Windows 的話)。要跳過的話請往下一步走
localhost:~# mkdosfs -F32 /dev/sda1
7.處理隨身碟:安裝 syslinux & 設置MBR & 安裝 Boot Manager
這邊會先仿照 iso 檔的內部配置,建立待會要的子目錄 boot/syslinux。開機要使用的東西會被 syslinux 指令裝進來
這邊建議使用容量不大的隨身碟,是因為會區設置 MBR 開機磁碟區。現在正式安裝作業系統的硬碟幾乎都選用下一代的 GPT 開機磁碟區了,但這邊沒必要使用這個(在上一步對應的指令叫做 gdisk)
localhost:~# apk add syslinux localhost:~# dd if=/usr/share/syslinux/mbr.bin of=/dev/sda localhost:~# mount -t vfat /dev/sda1 /mnt localhost:~# mkdir -p /mnt/boot/syslinux localhost:~# syslinux -d /boot/syslinux /dev/sda1
8.複製光碟內容
localhost:~# cp -rp /media/cdrom/* /mnt
9.將 isolinux 設定檔新命名為 syslinux 設定檔
isolinux 跟 syslinux 兩者其實是一樣的,只是 isolinux 特別是用在安裝光碟。這邊只要變更名字就好。有出現 isolinux 的都要替代成 syslinux,通常是 isolinux.bin 跟 isolinux.cfg 兩個檔案。其中 isolinux.cfg(或是重新命名之後叫做 syslinux.cfg)是開機設定檔,可以自訂調整。
localhost:~# mv /mnt/boot/syslinux/isolinux.bin /mnt/boot/syslinux/syslinux.bin
10.卸載隨身碟、並且讓 VM 放開隨身碟:或是直接將 VM 以正常程序關機就好
localhost:~# umount /mnt localhost:~# poweroff
完成~
接著就可以直接用隨身碟開機了~至於開機的方法,就請各位去找相關教學了:
基本上只要電腦開機時插著隨身碟,進入 UEFI/BIOS 設定界面(詳細請找各自電腦的進入方式),在 Boot Priority 將隨身碟拉高到優先開機就可以了。
進入畫面後,要關機的話,執行 Linux 指令的 poweroff 就好~
設置開機隨身碟的方式,比較常找到的教學是用 dd 指令把光碟內容蓋進去隨身碟(有些 GUI 工具也是這麼作),但是這樣就有點浪費掉隨身碟的空間了,因為裡面會塞的剛剛好,多的空間還得額外去分割出來,比較麻煩。
如果要對 Alpine Linux 擴增套件,只有兩種方式
- 進行正式安裝:隨身碟變成完整的 OS Partition 而非 Live OS,這個其實蠻簡單的,只要執行 setup-alpine 指令就好(https://wiki.alpinelinux.org/wiki/Installation),但是這樣一來隨身碟可能在 Windows 就讀不到了(會被格式化成 EXT2 之類的檔案系統),這不太方便
- 擴增 Package:但不僅僅是把下載的套件丟進去隨身碟那麼簡單,需要作額外設定(http://wiki.alpinelinux.org/wiki/Alpine_local_backup),但這樣可以放多一點常用的套件
參考資料:
這是很常教學隨身碟開機的網站~
下面是相關的 Alpine Linux 教學
想做桌面的話
http://wiki.alpinelinux.org/wiki/XFCE_Setup
延伸
https://wiki.syslinux.org/wiki/index.php?title=Menu
https://askubuntu.com/questions/612746/ubuntu-live-usb-wont-boot-failed-to-load-com32-file-menu-c32
延伸
https://wiki.syslinux.org/wiki/index.php?title=Menu
https://askubuntu.com/questions/612746/ubuntu-live-usb-wont-boot-failed-to-load-com32-file-menu-c32
沒有留言:
張貼留言