---
# System prepended metadata

title: OS 作業

---

# OS 作業
## homework-0 (編譯設定及載入kernel)
### 利用 dpkg 方便散播核心套件



前面的步驟是傳統的方式編譯,安裝核心及設定開機啟動, 但要讓他人使用你的核心就相當麻煩. 所以介紹使用 `dpkg` 將整個工作模組化. 為了助教測試方便, 請再一次利用 dpkg 將核心編譯成 deb 檔案, 以後就能方便他人輕鬆安裝移除核心.
```shell=
// 先確認 dpkg 版本
$ dpkg --version
//這裡測試的是 1.17.5版本

// 製作 deb 
$ cd /kernels/linux-4.4.4
$ sudo CONCURRENCY_LEVEL=4 make-kpkg --initrd kernel-image
// 製作套件成功應該會出現 dkpg-deb : 把套件 XXX 製作為 XXX.deb 的訊息

$ sudo ls /kernels/linux-4.4.4/
// 此時應該能看到類似名稱 linux-image-4.4.4StudentID_10.00.Custom_amd64.deb 
// 這就是要給別人安裝使用的 deb 檔案
```
*  使用 dpkg 安裝你編譯的核心 : $ sudo dpkg -i yourLinux.deb
*  使用 dpkg 移除你的核心 : $ sudo dpkg -r linux-image-4.4.4StudentID
*  使用 dpkg 查詢 linux 核心套件 : $ sudo dpkg --list | gep
> 1. menuconfig 裡面設定過的 local version, 記得只要填學號(純數字)就好, 否則 dpkg 會報錯.
> 2. 別的使用者安裝好 deb 包時, 只要記得修改 /etc/default/grub 把 TIMEOUT, QUIET 選項註解掉再 update-grub2, 重開機便可以切換 kernel.



