ubuntu-image

如何從無到有建立ubuntu system
使用debootstrap

說明
之前使用的ubuntu 16.04 server版本約1.6G (但無UI)
ubuntu 16.04 desktop版本約2.8G (有UI)
自已手動建立,省滿多空間的只有1.6G


更新記錄

item note
20160628 第一版

目錄


ubuntu image

參考來源::使用Debootstrap建立Ubuntu系統

建立程序

  • 使用debootstrap
    安裝完成用了254Mbyte

    1
    debootstrap --arch amd64 xenial /media/rootfs http://tw.archive.ubuntu.com/ubuntu
  • mount boot
    boot在其它的partitin記得mount進來

    1
    2
    /dev/sdb2       3.5G  254M  3.1G   8% /media/rootfs
    /dev/sdb1 120M 1.6M 110M 2% /media/rootfs/boot
  • 增加source.list

    1
    2
    3
    4
    5
    x:/media/rootfs$ cat /media/rootfs/etc/apt/sources.list
    deb http://tw.archive.ubuntu.com/ubuntu xenial main
    deb http://archive.ubuntu.com/ubuntu/ xenial main restricted universe multiverse
    deb http://security.ubuntu.com/ubuntu/ xenial-security main restricted universe multiverse
    deb http://archive.ubuntu.com/ubuntu/ xenial-updates main restricted universe multiverse
  • 設定fstab
    先安裝genfstab

    1
    2
    3
    4
    5
    6
    # wget https://projects.archlinux.org/arch-install-scripts.git/snapshot/arch-install-scripts-15.tar.gz
    # tar -zxvf arch-install-scripts-15.tar.gz
    # cd arch-install-scripts-15
    # make
    # cp genfstab /usr/bin
    # cd ../
  • 產生fstab

    1
    2
    3
    4
    5
    6
    7
    8
    9
    xx$ cat /media/rootfs/etc/fstab 
    # UNCONFIGURED FSTAB FOR BASE SYSTEM

    xx$ cat /media/rootfs/etc/fstab
    # /dev/sdb2
    UUID=007d9e10-1279-477b-919e-d0f089c53ed2 / ext4 rw,relatime,data=ordered 0 1

    # /dev/sdb1
    UUID=5febc56f-d9f1-4f27-8593-e4d3a79c398a /boot ext4 rw,relatime,data=ordered 0 2
  • bind

    1
    2
    3
    4
    x$ sudo mount --bind /dev/ /media/rootfs/dev                                                                                                           
    x$ sudo mount --bind /dev/pts /media/rootfs/dev/pts
    x$ sudo mount --bind /proc /media/rootfs/proc
    x$ sudo mount --bind /sys /media/rootfs/sys
  • chroot

    1
    2
    3
    4
    5
    6
    7
    x:~$ sudo chroot /media/rootfs/
    bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
    x:/# df -h
    Filesystem Size Used Avail Use% Mounted on
    /dev/sdb2 3.5G 254M 3.1G 8% /
    /dev/sdb1 120M 1.6M 110M 2% /boot
    udev 1.9G 0 1.9G 0% /dev
  • 安裝linux kernel
    apt-cache search linux-image
    apt-cache search linux-headers

    1
    2
    3
    4
    apt-get install linux-image-4.4.0-21-generic
    apt-get install linux-firmware
    apt-get install linux-image-extra-4.4.0-21-generic
    apt-get install linux-headers-4.4.0-21-generic
  • 安裝grub2

    1
    apt-get install grub2 os-prober
  • 其它
    安裝需要package:xor,xfce4等
    說明參考:使用Debootstrap建立Ubuntu系統
    xfce4 195M
    xor 230M

  • umount

    1
    2
    3
    4
    5
    6
    7
    exit
    umount /media/rootfs/dev/pts
    umount /media/rootfs/dev
    umount /media/rootfs/proc
    umount /media/rootfs/sys
    umount /media/rootfs
    umount /media/boot
  • 重開機進入,剛剛建立系統

  • 建立ubuntu image大約1.6G
    應用程式只安裝會用到的:xorg,xfce,firfirefox等

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    erwin@localhost:~$ df -h
    Filesystem Size Used Avail Use% Mounted on
    udev 1.9G 0 1.9G 0% /dev
    tmpfs 384M 6.1M 378M 2% /run
    /dev/sdb2 3.5G 1.6G 1.8G 46% /
    tmpfs 1.9G 140K 1.9G 1% /dev/shm
    tmpfs 5.0M 4.0K 5.0M 1% /run/lock
    tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
    /dev/sdb1 120M 51M 61M 46% /boot
    tmpfs 384M 8.0K 384M 1% /run/user/1000

之前使用的ubuntu 16.04 server版本約1.6G (但無UI)
ubuntu 16.04 desktop版本約2.8G (有UI)
自已手動建立,省滿多空間的只有1.8G

參考