Skip to content

使用Debootstrap 建立一個基本的Linux Ubuntu系統。

by 於 2010/03/10

一個作業系統主要的目標,是分配、調用電腦所擁有的資源(硬體),並提供一個穩定的平台,去執行程式(軟體)

Debootstrap的優點,所建立出的系統,相當小,只有基本該有的套件,需要甚麼,再自行去安裝

一切將是從零到有,整個系統將是自己打造的,滿足我們堆積木的樂趣、成就感、與追求完美的渴望

需要一個Ubuntu環境,去做安裝的動作,可以使用LiveCD(Ubuntu 安裝光碟)、或另一個已安裝的作業系統

在安裝的過程中,一個是Host端,可以是一個已安裝完成的Ubuntu作業系統、使用LiveCD來試用的作業系統,讓我們來打造Client端,就是基本作業系統

Host
1. Install debootstrap
2. Partition your filesystem
3. Mount that new partition
4. Create the new install
5. Copy files to the new install

Client
6. Chroot to your new install
7. Upgrade the new install
8. Install Grub and Linux Kernel
9. Set up Filesystem Table
10. Create User Account and Change Root’s Password
11. Set up the Authorization

Host

1. Install debootstrap

安裝Debootstrap,一個Shell script,Debootstrap用途:配置根目錄、下載套件、安裝套件

# sudo aptitude install debootstrap

2. Partition your filesystem

分割現有的檔案系統,基本需要一個Client端的根目錄的磁區、Linux SWAP(置換空間)

$ sudo cfdisk

如顯示的是亂碼,可能是語系的問題,可先按[CTRL]+C離開,接著打下行指令,之後再嘗試一次

#export LC_ALL="C"

SETTING FILESYSTEM
/dev/sda1 boot Primary Linux 20400M
/dev/sda2 Primary Linux Swap / Solaris 1069M

並把安裝的Client端的磁區設定為 EXT2的檔案系統

#sudo mkfs -t ext2 /dev/sda1

or

#mkfs.ext2 /dev/sda1

設定SWAP區的檔案系統

#sudo mkswap /dev/sda2

3. Mount that new partition
建立目錄、並掛載Client的根目錄

#sudo mkdir /linux

#sudo mount -t ext2 /dev/sda1 /linux

4. Create the new install

使用debootstrap去配置根目錄、下載套件、安裝套件

#sudo debootstrap lucid /linux

在這是使用Lucid Lynx,亦可以使用下列的名稱,去安裝我們想要的版本

Warty Warthog
Hoary Hedgehog
Breezy Badger
Dapper Drake
Edgy Eft
Feisty Fawn
Gutsy Gibbon
Hardy Heron
Intrepid Ibex
Jaunty Jackalope
Karmic Koala
Lucid Lynx

5. Copy files to the new install

將套件下載的來源列表,複製給安裝的磁區

#sudo cp /etc/apt/sources.list /linux/etc/apt/

Host端與Client端的版本可能不同,只需把複製過去的檔案內,所有版本名稱改成所選擇的版本名稱

Sample karmic => lucid

Client
6. Chroot to your new install
配置Client端的環境,將Host端的硬體資訊,掛載給安裝的

#sudo mount –bind /dev /linux/dev

將Host端的程序列表,掛載給Client端的

#mount -t proc proc /linux/proc

進去Client端

$ sudo chroot /linux

7. Upgrade the new install

更新、升級套件的列表,使用/etc/apt/sources.lst

#aptitude update

#aptitude upgrade

8. Install Grub and Linux Kernel

安裝Boot Loader – Grub、及作業系統所需要的核心

#aptitude install grub linux-image

配置Grub的所需要的檔案

#cp /usr/lib/grub/i386-pc/* /boot/grub

之後將會安裝Grub到MBR上面

#grub-install /dev/sda

or

#grub

grub> find /boot/grub/stage1

grub> root (hd0,0)

grub> setup (hd0)

grub> quit

自動編寫開機選單

#update-grub

選單不一定編寫的正確

9. Set up Filesystem Table
設定開機時所要掛載的磁區、檔案系統

#vi /etc/fstab

SETTING MOUNTING …

/dev/sda1 / ext2 defaults 0 1
/dev/sda2 none swap sw 0 0
proc /proc proc defaults 0 0

10. Create User Account and Change Root’s Password

創造一個使用者帳號,和更改Root的密碼

#passwd

SETTING ROOT PASSWORD

#adduser ‘username’

11. Set up the Authorization

設定使用者的權限

#visudo

SETTING ROOT …

把下列這行加入

Add this line to file …

‘username’ ALL=(ALL) ALL

Reference

https://help.ubuntu.com/community/Fstab
http://www.ubuntu-tw.org/modules/newbb/viewtopic.php?topic_id=22632&forum=22&post_id=113586 

Advertisements

From → Linux

發表迴響

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

%d 位部落客按了讚: