FANDOM


手動制作linux image

先建立一個5G大小的img aaron@nova-cc:/home/nova$ sudo kvm-img create -f raw ubuntu1104ser.img 5G Formatting 'ubuntu1104ser.img', fmt=raw size=5368709120

下載或者若有光碟機也可以利用作ISO檔 wget http://releases.ubuntu.com/natty/ubuntu-11.04-server-amd64.iso 製作光碟 sudo dd if=/dev/cdrom of=/home/nova/ubuntu-11.04-server-amd64.iso

root@nova-cc:/home/nova# sudo kvm -m 512 -cdrom ubuntu-11.04-server-amd64.iso -drive file=ubuntu1104ser.img,if=scsi,index=0 -boot d -net nic -net user -vnc :0 這個時候Terminal會停住 我們要利用VNC 連到安裝的介面需要安裝

sudo apt-get install xvnc4viewer

接著我們另開一個Terminal輸入 vncviewer IP:1 接著就可以安裝了安裝的過程需要注意在分割區工作時的把 5GB 空間全部分割為 ext4 根目錄/ ,一個就好也不用建立 swap 若有警告則不予理會 安裝好重新開機接著我們必須用vncviewer sudo kvm -hda ubuntu1104ser.img -vnc :0 再進入一次調整一下這個OS 的相關設定 sudo apt-get update; sudo apt-get upgrade; sudo apt-get install openssh-server cloud-init 完成上述步驟後請關機sudo shutdown -h now 回到Nova-cc OpenStack 現在只接受ext4 Filesystem,我們把先前的 raw image 轉成 ext4 sudo losetup -f ubuntu1104ser.img nova@nova0:~$ sudo losetup -a /dev/loop0: [0805]:5505073 (/home/nova/ubuntu1104ser.img)

nova@nova0:~$ sudo fdisk -ul /dev/loop0 [sudo] password for nova:

Disk /dev/loop0: 5368 MB, 5368709120 bytes 149 heads, 8 sectors/track, 8796 cylinders, total 10485760 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x0002ccd6

     Device Boot      Start         End      Blocks   Id  System

/dev/loop0p1 * 2048 10483711 5240832 83 Linux Sector=512 Star=2048 2048 x 512 = 1048576 nova@nova0:~$ sudo losetup -d /dev/loop0 nova@nova0:~$ sudo losetup -f -o 1048576 ubuntu1104ser.img nova@nova0:~$ sudo losetup -a /dev/loop0: [0805]:5505073 (/home/nova/ubuntu1104ser.img), offset 1048576

sudo dd if=/dev/loop0 of=ubuntu1104-x64-ser-template.img 10483712+0 records in 10483712+0 records out 5367660544 bytes (5.4 GB) copied, 41.1411 s, 130 MB/s








如果做的是Centos or Fedora yum update yum install openssh-server chkconfig sshd on 安裝完成無誤後 輸入 sudo rm - rf / etc/udev/rules.d/70-persistent-net.rules 目的在於砍掉當時對eth0的設定 讓每次使用的時產生新的該VM網路卡的rule 安裝完後 關機 shutdown -h now sudo losetup -f ubuntu1104ser.img sudo losetup -a 你可以看到這樣的結果/dev/loop [0801]:16908388 ($filepath) 接著我們找出起始的sector root@nova-cc:/home/nova# sudo fdisk -cul /dev/loop0 Disk /dev/loop1: 5368 MB, 5368709120 bytes 149 heads, 8 sectors/track, 8796 cylinders, total 10485760 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00048055 Device Boot Start End Blocks Id System /dev/loop1p0 * 2048 10483711 5240832 83 Linux 上面最後一行顯示sector 是從2048开始的,單一sector是512bytes , 2048 x 512 = 1048576 這個數字要記 接著我們要要複製 loop0 先Unmount loop0 sudo losetup -f -o 1048576 server.img sudo losetup -d /dev/loop0 sudo losetup -a 可以看到底下這行 /dev/loop0: [0801]:550044 (/home/nova/ubuntutemplate.img), offset 1048576 sudo dd if=/dev/loop0 of=ubuntu1104server_template.img 10483712+0 records in 10483712+0 records out 5367660544 bytes (5.4 GB) copied, 133.322 s, 40.3 MB/s 複製之後先卸載 loop0 sudo losetup -d /dev/loop0 再來我們先mount sudo mount -o loop serverfinal.img /mnt 將最底下的這行註解掉

  1. UUID=548c16fd-889a-4248-bc45-e75c9802d69a / ext4 errors=remount-ro $

改成 LABEL=uec-rootfs /ext4 defaults 0 0 sudo cp /mnt/boot/vmlinuz-2.6.38-7-server /home/nova

除了特别提示,社区内容遵循CC-BY-SA 授权许可。