[chroot]:http://en.wikipedia.org/wiki/Chroot
-6. Chybějící knihovny zjistíte příkazem
+6. Next command can be used to determine missing libraries and their paths
ldd _install/bin/busybox
-
- Tyto knihovny musíte nakopírovat do adresáře `_install`. Na
- 32-bitovém systému to může vypadat například takto:
+
+ These libraries must be copied to the directory `_install`. The command
+ to copy libraries can look like line below on 32-bit system:
mkdir _install/lib
cp /lib/i686/cmov/libm.so.6 /lib/i686/cmov/libc.so.6 /lib/ld-linux.so.2 _install/lib
- Na 64-bitovém systému jádro hledá pro dynamicky linkované programy
- "interpreter" `/lib64/ld-linux-x86-64.so.2` v adresáři `/lib64`.
- Vytvoříme ho jako symbolický odkaz na adresář `/lib`
+ The ELF file "interpreter" (`/lib64/ld-linux-x86-64.so.2`) is searched
+ in directory `/lib64` on 64-bit system by kernel.
+ The `/lib64` can be substituted by symbolic link to directory `/lib`
( cd _install && ln -s lib lib64 )
- Nyní už můžete spustit BusyBox v chroot prostředí.
+ The BusyBox can be executed in chroot environment after libraries setup.
+
+5. The easiest way how to boot into the user environment you just created
+ is to store pack directory tree in the Linux kernel initial RAM-disk
+ format and boot Linux with this RAM-disk.
-5. Nejjednodušší možnost jak nabootovat do právě vytvořeného
- uživatelského prostředí je uložit ho ve formátu pro Linuxový
- startovací RAM-disk a nabootovat Linux s tímto RAM-diskem.
-
- Aby vše fungovalo jak má, kromě souborů v adresáři `_install` musí
- RAM-disk obsahovat i několik položek v adresáři `/dev` pro přístup k
- virtuálním terminálům.
+ For everything worked as planned, there are some minimal set of named
+ entries required in `/dev` directory of `_install` tree in addition
+ to already setup binary and libraries. The device nodes in the `/dev`
+ directory are required for correct access virtual terminals foe example.
- 1. Pokud máte root práva, použijte ke tvorbě RAM-disku následující příkazy:
+ 1. If the root access is available, then the device nodes can be
+ prepared and RAM-disk archive prepared by next commands:
mkdir _install/{dev,etc,proc,sys}
sudo cp -a /dev/tty? _install/dev
ln -s bin/busybox _install/init
(cd _install; find . | cpio -o -H newc | gzip) > ramdisk
- 2. Bez rootovských práv můžete RAM-disk vytvořit pomocí nástroje
- [gen_init_cpio][gic].
+ 2. If the root access is not available on system used for RAM-disk
+ preparation then the [gen_init_cpio][gic] from kernel build
+ can be used for preparation of RAM-disk archive with set
+ of special files and directories injected.
(
cat <<EOF
[gic]:http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=usr/gen_init_cpio.c;hb=HEAD
-5. **Jádro Linuxu**. Příprava jádra je téměř stejná jako u BusyBoxu:
+5. **The Linux Kernel**. Příprava jádra je téměř stejná jako u BusyBoxu:
stáhneme zdrojový kód, nakonfigurujeme a přeložíme. Vzhledem k
rozsáhlosti jádra (zkompilované zabere na disku cca 1 GB a překlad
trvá cca 20 minut) tyto kroky přeskočíme a použijeme již připravené
jádro z distribuce.
-
- Pokud byste si chtěli přeložit vlastní jádro, v následujícím
- příkazu byste za parametrem *-kernel* uvedli cestu k vámi
- zkompilovanému jádru.
-6. Bootování jádra s naším filesystémem (v emulátoru):
+ Preparation of the core is quite similar as steps used for BusyBox:
+ the kernel source code is downloaded, configured (i.e. make menuconfig)
+ and compiled (make). Given the size of the kernel and required time
+ (the build tree takes about 1 GB of disk space and compilation
+ takes about 20 minutes), we skip these steps and use the already kernel
+ already installed from a distribution.
+
+ If you choose to use self build kernel then the path to that
+ kernel image would be specified in after *-kernel* option
+ in next step QEMU command.
+
+6. Booting kernel with the prepared filesystem (in emulator)
- Na 32-bitovém systému spustíme emulátor následovně:
+ The next command is used on 32-bit system to start emulator:
qemu -kernel /boot/vmlinuz-2.6.26-2-686 -initrd ramdisk
- Na 64-bitovém systému může být potřeba použít příslušnou variantu QEMU:
+ The 64-bit enabled variant of QEMU has to be used on 64-bit Debian
+ system to emulate 64-bit target system:
qemu-system-x86_64 -kernel /boot/vmlinuz-2.6.32-5-amd64 -initrd ramdisk
- Pokud systém nabízí hardwarovou podporu virtualizace, je výhodné
- použít [KVM][kvm]. Výsledek pak běží rychleji. Například:
+ If the host system CPU provides hardware virtualization support
+ then it is advantageous to use [KVM][kvm] enhanced emulator which is
+ significantly faster. Next command can be used in such case:
kvm -kernel /boot/vmlinuz-2.6.32-5-amd64 -initrd ramdisk
[kvm]:http://www.linux-kvm.org/
-7. Pokud vše proběhlo správně, zobrazila se hláška
+7. If all goes well, next message is displayed
Please press Enter to activate this console.
-
- Po stisku Enteru se spustí shell a můžete začít pracovat ve
- vašem právě vytvořeném systému.
-
+
+ When you press Enter then a shell is started and you can test work
+ inside a system which you have just created.
+
Možná vylepšení
===============