2014年1月4日 星期六

從現有系統直接安裝SteamOS

1 SteamOS

SteamOS 是 valve 公司基於 Debian 7 推出的客製化作業系統,目標是打造一個無痛使用的家用 娛樂環境。

2 為什麼要從現有的 Linux 下安裝

SteamOS 目前尚在測試中,valve 公司提供的安裝程式是專為 Steam Machine 量身訂作的版本, 安裝過程中會將你的第一顆硬碟內的 partition 刪除後重新分割成四個 partition。SteamOS 的 安裝程式是標準的 Debian Installer,所以非常適合直接從現有的系統進行安裝。 另外 SteamOS 目前只支援使用 UEFI 開機,連 repository 裡也只有提供 grub-efi 而已,以 現有的系統開機便成了不支援 UEFI 的機器較好的選擇。

3 安裝步驟

  • 安裝 debootstrap
  • 使用 fdisk 或 parted 分割磁碟、格式化並掛載
  • 使用 debootstrap 安裝基本系統
  • 修改系統設定,安裝桌面
  • 重開機後安裝 SteamOS 客製化設定
  • 再次重開機,初次執行 steam

3.1 安裝 debootstrap

debootstrap 是用來安裝一個基本的 Debian 系統的程式,也是 Debian Installer 裡的重要 項目1。Debian 系的 distro (如 Ubuntu、Mint 等) 可以直接使用 apt-get 安裝。其 他 distro 裡多半也有提供,或者也可以到 packages.debian.org 下載源碼安裝。

3.2 使用 fdisk 或 parted 分割磁碟、格式化並掛載

SteamOS 的安裝程式貼心的提供了還原的功能,這也是為什麼預設情況下會把硬碟分割成四個 partition 的原因。由於內建的還原功能其實就是把剛安裝好的系統 cp 一份起來,所以個人並不特 別推薦使用,以下的文章便以「不使用還原功能」為前題。故硬碟的分割也就不需要用到四份,只要一 個夠大的 partition 就可以。系統安裝完成後使用不到 20G 的空間,再視個人是否會下載遊戲回來 玩,大約 50~100G 的空間足矣。分割、格式化完之後,假設是 /dev/sdb1,並把它掛載在 /mnt 下。

3.3 使用 debootstrap 安裝基本系統

debootstrap 選項 版本 套件庫的URL 使用的script 由於 SteamOS 套件庫的簽章與現行系統的不同 (除非是從 SteamOS 裡再裝一個 SteamOS),必須 使用 –no-check-gpg 選項跳過簽章的檢查。有一些套件應該要先裝起來的,也在此一併以參數的方 式指定。 debootstrap 預設會使用與版本同名的 script,當然你不會在 debootstrap 內建的 script 裡找到 SteamOS 的 alchemist 這個版本,所以必須指定要用的 script。

debootstrap --no-check-gpg --components=main,contrib,non-free --include=aptitude,tzdata,console-setup,locales,locales-all,linux-image-amd64 alchemist http://repo.steampowered.com/steamos /usr/share/debootstrap/scripts/wheezy

3.4 修改系統設定,安裝桌面

修改系統設定、安裝桌面皆以 chroot 的方式進行。

  • 首先以 blkid 取得 rootfs 的 UUID
blkid /dev/sdb1
  • 產生 fstab
echo "UUID=剛剛取得的uuid / ext4 errors=remount-ro 0 0" > /mnt/etc/fstab
  • 視需要修改 /mnt/etc/hosts 及 /mnt/etc/hostname
  • chroot /mnt
  • 設定時區、預設語系、鍵盤配置
dpkg-reconfigure tzdata
dpkg-reconfigure locales
dpkg-reconfigure console-setup
  • 安裝基本桌面
    • 執行 aptitude
    • 按 u 更新套件列表
    • 按 / 啟用尋找功能,鍵入 valve-archive-keyring,按 Enter 確定
    • 按 + 加入安裝清單
    • 按 g 兩次安裝
    • 再次更新套件列表
    • 尋找 task-gnome-desktop 並加入安裝清單
    • 尋找 steam,把找到的都加入安裝清單 (按 n 可以找下一個)
    • 開始安裝
    • 按 q 離開 aptitude
    • 新增兩個使用者
adduser desktop
adduser --disabled-password --gecos "" steam
  • 進行基本設定
usermod -a -G  desktop,audio,dip,video,plugdev,netdev,bluetooth,pulse-access steam
usermod -a -G pulse-access desktop
echo "steam:steam" | chpasswd
date > /etc/skel/.imageversion
cp /etc/skel/.imageversion /home/steam/
  • 下載設定小工具 (從 SteamOS 安裝程式截取出來的設定)
wget https://dl.dropboxusercontent.com/u/14089653/post_install.sh -O /home/desktop/post_install.sh
chmod a+x /home/desktop/post_install.sh
  • 修改 sudo 設定 (為求簡便,這裡的設定是完全沒有任何限制,請視需要自行用 visudo 修改)
echo "desktop ALL = (ALL) NOPASSWD: ALL" >> /etc/sudoers
  • exit 離開 chroot 環境
  • update-grub

3.5 重開機後安裝 SteamOS 客製化設定

以 dekstop 登入後,開啟終端機,以 root 權限執行設定小工具

sudo ./post_install.sh

3.6 再次重開機,初次執行 steam

由於 steam 會檢查 3D 加速功能,所以要先確認顯卡有正常驅動起來,最簡單的方式就是看 GNOME 是 fallback 模式還是正常模式。由於顯卡品牌很多,無法一一提列,如果沒有正確驅動, 請自行 google 解法。一般來說,移除所有 nvidia 相關的套件應該會有幫助。 初次執行 steam 請以 desktop 帳號登入,因為 64bit 系統會需要安裝其他套件。 確認執行成功之後,,重新以 steam 帳號登入,enjoy your steam life。

Footnotes:

1

Debian Installer 使用的其實是 cdebootstrap,除了是使用 C 語言撰寫以外,基本上與 debootstrap 沒有什麼差異。

Author: Ronmi Ren

Created: 2014-01-04 六 14:54

Emacs 24.3.1 (Org mode 8.2.4)

Validate