Naistalovat Linux z jineho linuxu a spustit ho pomoci kvm.
Kroky:
- Vytvorit obraz
- Naformatovat obraz na dve casti (/,tmp)
- Nainstalovat system
- Spustit
Ad 1.
Vytvoreni 4GB obrazu.
dd if=/dev/zero of=/home/slune/Image/gentoo.img bs=1M count=4096 .
Ad 2.
Nejjednodussi zpusob je pouzit mkfs.ext3 /home/slune/Images/gentoo.img.
Tim sice vznikne pripojitelny a zapisovatelny obraz, ale pro fdisk naprosto nepozitelny (vyzaduje block device).
Zpusob jako toto obejit vede zrejme losetup /dev/loop1 /home/slune/Images/gentoo.img a fdisk /dev/loop1. Navody zde a zde.
Po vytvoreni struktury fdiskem zkoukneme jak nam to vypada
fdisk -ul /dev/loop1
Disk /dev/loop1: 4294 MB, 4294967296 bytes
255 heads, 63 sectors/track, 522 cylinders, total 8388608 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0x2cdb556f
Device Boot Start End Blocks Id System
/dev/loop1p1 * 63 6313544 3156741 83 Linux
/dev/loop1p2 6313545 8385929 1036192+ 83 Linux
Aby jsme mohli disky naformatovat musime je nejdriv pripojit.
(63*512)=32256
(6313545*512)=3232535040
Pripojime vytvorene disky
losetup -o 32256 /dev/loop2 /dev/loop1
losetup -o 3232535040 /dev/loop3 /dev/loop1
Pozn:
Prvni disk se ale pripoji s velikosti celeho obrazu. Zrejme je potreba urcit i horni velikost.
Nejak takhle losetup -o 32256 --sizelimit 3232502272 /dev/loop1 /dev/loop0. Pokud jsem to neudelal
mkfs mi pak "spatne" naformatoval system (nastavil spatnou velikost disku).
Naformatujeme disky
mkfs.ext3 /dev/loop2
mkswap /dev/loop3
Pozn:
Gentoo potrebuje pro instalaci velke mnozstvi inodu (vice nez 200 000) pro instalaci na mensi
disky je potreba mkfs.ext3 -N (velke cislo) /dev/loop2.
Pozn:
Je potreba stahnout portage a satge3 viz. link a rozbalit je.
Portage se musi rozbalit do adresare usr.
(Neco takoveho tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr)
Dalsi krok je pripojeni systemovych adresaru
mount -t proc none /mnt/gentoo/proc/
mount -o bind /dev /mnt/gentoo/dev/
Tady bych to chtel vic prozkoumat
Chroot do noveho prostredi
chroot /mnt/gentoo /bin/bash
env-update
source /etc/profile
# zmena promptu
export PS1="(chroot) $PS1"
Tady bych to chtel taky vic prozkouma
dalsi kroky jsou popsany v gentoo wiki.
Pokracovani stahneme si nejaky kernel(treba vanilla) rozbalime do /usr/src/.
Udalame link ln -s /usr/src/neco /usr/src/linux (nebo jsme liny a emergneme celou tu potvoru emerge vanilla-sources).
A ted troska srandy
cd /usr/src/linux
make menuconfig
Zkusime nastavit vse co je potreba coz se nemuze nikdy na poprve povest.
Instalace zprasenho kernelu
make && make modules_install
Poznamka pokud kompilujeme x86 na x64 pak je treba make ARCH=i386
Tento postup opakujem tak dlouho dokud nam nenabehne system (dost dlouho)
Insalace grubu
Grub potrebuje k zivotu nekolik souboru.
- stage1
- stage2
- grub.conf
- bzImage kernelu
Stage1 a Stage2 jsou umisteny ve Fedore tady /usr/share/grub/ a nakopirujeme je do /boot/grub/
grub.conf muze vypadat treba takto
default 0
timeout 30
title Gentoo
root (hd0,0)
kernel /boot/kernel root=/dev/sda1
bzImage kernelu je v /usr/src/linux/arch/i386/boot. Nakopirujeme ho do /boot/
a prejmenujeme dle libosti treba na kernel.
Instalace Grubu
Momentalne se grub nechce nechat primo naistalovat na loop device. Musime mu tedy trosku pomoci.
grub --device-map=/dev/nulldevice (hd0) /cesta/k/obrazu
root (hd0,0)
setup (hd0)A je to hotove ted uz jenom
qemu-kvm -m 1024 /home/slune/Images/gentoo.img.
No comments:
Post a Comment