Difference between revisions of "Category:HOWTO"
(Created page with "You can do many things with Funtoo Linux. This is just a sample of how to do some tasks.") |
|||
| Line 1: | Line 1: | ||
You can do many things with Funtoo Linux. This is just a sample of how to do some tasks. | You can do many things with Funtoo Linux. This is just a sample of how to do some tasks. | ||
| + | = Encrypted ROOTFS on LVM = | ||
| + | This howto describes how to setup LVM and rootfs with cryptoLUKS-encrypted drive | ||
| + | |||
| + | == Prepape the hard drive and make partitions == | ||
| + | This is an example partition scheme, you may want to choose defferent. | ||
| + | /dev/sda1 used as /boot /dev/sda2 will be encrypted drive with LVM | ||
| + | |||
| + | <pre>/dev/sda1 | ||
| + | /dev/sda2 | ||
| + | dd if=/dev/zero of=/dev/sda2 bs=100M | ||
| + | dd if=/dev/urandom of=/dev/sda2 bs=100M</pre> | ||
| + | dd part is optional, only for security reason, with /dev/urandom it takes around 6 hours to complete for 200GB drive. | ||
| + | |||
| + | |||
| + | == Encrypting the drive == | ||
| + | <pre>cryptsetup -c aes-xts-plain luksFormat /dev/sda2 | ||
| + | cryptsetup luksOpen /dev/sda2 dmcrypt_root</pre> | ||
| + | |||
| + | there you'll be promted to enter your password phrase for encrypted drive, type your paranoid password there | ||
| + | |||
| + | == Create logical volumes == | ||
| + | <pre>pvcreate /dev/mapper/dmcrypt_root | ||
| + | vgcreate vg /dev/mapper/dmcrypt_root | ||
| + | lvcreate -L10G -nroot vg | ||
| + | lvcreate -L2G -nswap vg | ||
| + | lvcreate -L5G -nportage vg | ||
| + | lvcreate -l 100%FREE -nhome vg</pre> | ||
| + | |||
| + | Feel free to specify your desired size | ||
| + | |||
| + | == Create a filesystem on volumes == | ||
| + | <pre>mkfs.ext2 /dev/sda1 | ||
| + | mkswap /dev/mapper/vg-swap | ||
| + | mkfs.ext4 /dev/mapper/vg-root | ||
| + | mkreiserfs /dev/mapper/vg-portage | ||
| + | mkfs.xfs /dev/mapper/vg-home</pre> | ||
| + | |||
| + | == Basic system setup == | ||
| + | <pre>mkfs.ext2 /dev/sda1 | ||
| + | mkswap /dev/mapper/vg-swap | ||
| + | mkfs.ext4 /dev/mapper/vg-root | ||
| + | mkreiserfs /dev/mapper/vg-portage | ||
| + | mkfs.xfs /dev/mapper/vg-home | ||
| + | swapon /dev/mapper/vg-swap | ||
| + | mount /dev/maper/vg-root /mnt/gentoo | ||
| + | mount /dev/sda1 /mnt/gentoo/boot</pre> | ||
| + | Now perform all the steps required for basic system install, please follow [http://docs.funtoo.org/wiki/Funtoo_Linux_Installation] | ||
| + | don't forget to emerge next packages: | ||
| + | |||
| + | <pre># emerge cryptsetup lvm2 grub foo-sources</pre> | ||
| + | |||
| + | Re-emerge busybox with "static" USE flag | ||
| + | |||
| + | |||
| + | == Kernel options == | ||
| + | Important, do not miss this part. | ||
| + | Under General setup ---> | ||
| + | <pre>[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support</pre> | ||
| + | |||
| + | Under Device Drivers ---> | ||
| + | <pre>[*] Multiple devices driver support | ||
| + | <*>Device Mapper Support | ||
| + | <*> Crypt target support</pre> | ||
| + | |||
| + | |||
| + | Under Cryptographic API ---> | ||
| + | <pre>-*-AES cipher algorithms | ||
| + | |||
| + | <*> XTS supprot (EXPERIMENTAL)</pre> | ||
| + | |||
| + | |||
| + | == Initramfs setup and configuration == | ||
| + | Piotr Karbowski initramfs project used for making initrd | ||
| + | [http://github.com/slashbeast/better-initramfs] | ||
| + | <pre>git clone git://github.com/slashbeast/better-initramfs.git | ||
| + | oleg@orion ~ % cd better-initramfs | ||
| + | oleg@orion better-initramfs % make | ||
| + | >>> initramfs.cpio.gz is ready</pre> | ||
| + | |||
| + | Copy resulting initramfs.cpio.gz to /boot | ||
| + | |||
| + | == Grub2 configuration == | ||
| + | An example of /etc/boot/conf, which reflects partition setup | ||
| + | <pre> | ||
| + | boot { | ||
| + | generate grub | ||
| + | default "Funtoo Linux" | ||
| + | timeout 3 | ||
| + | } | ||
| + | "Funtoo Linux" { | ||
| + | kernel bzImage[-v] | ||
| + | initrd /initramfs.cpio.gz | ||
| + | params += dmcrypt_root=true enc_root=/dev/sda2 lvm=true root=/dev/mapper/vg-root rootfstype=ext4 resume=swap:/dev/mapper/vg-swap quiet | ||
| + | }</pre> | ||
| + | |||
| + | /etc/fstab | ||
| + | <pre> | ||
| + | # <fs> <mountpoint> <type> <opts> <dump/pass> | ||
| + | /dev/sda1 /boot ext2 noauto,noatime 1 2 | ||
| + | /dev/mapper/vg-swap none swap sw 0 0 | ||
| + | /dev/mapper/vg-root / ext4 noatime,nodiratime,defaults 0 1 | ||
| + | /dev/sr0 /mnt/cdrom auto noauto,ro 0 0 | ||
| + | /dev/mapper/vg-portage /usr/portage reiserfs noatime,nodiratime 0 0 | ||
| + | /dev/mapper/vg-home /home xfs noatime,nodiratime,osyncisdsync 0 0</pre> | ||
| + | |||
| + | == Final steps == | ||
| + | Umount everything, close encrypted drive and reboot | ||
| + | <pre>umount /mnt/gentoo/proc (/dev, /home,/usr/portage, /boot) | ||
| + | cryptsetup luksClose /dev/sda2 dmcrypt_root</pre> | ||
| + | After reboot you will get the following: | ||
| + | <pre>>>> better-initramfs started. Kernel version 2.6.35-gentoo-r10 | ||
| + | >>> Create all the symlinks to /bin/busybox. | ||
| + | >>> Initiating /dev/dir | ||
| + | >>> Getting LVM volumes up (if any) | ||
| + | Reding all physical volumes. This make take awhile... | ||
| + | No volume group found | ||
| + | No volume group found | ||
| + | >>> Opening encrypted partition and mapping to /dev/mapper/dmcrypt_root | ||
| + | Enter passphrase fore /dev/sda2:</pre> | ||
| + | Type you password | ||
| + | |||
| + | <pre>>>> Again, getting LVM volumes up (if any, after map dmcrypt). | ||
| + | Reading all physical volumes. This may take a while... | ||
| + | Found volume group "vg" using metadata type lvm2 | ||
| + | 4 logical volume(s) in volume group "vg" now active | ||
| + | >>> Mounting rootfs to /newroot | ||
| + | >>> Umounting /sys and /proc. | ||
| + | >>> Switching root to /newroot and executing /sbin/init. | ||
| + | INIT: version 2.88 booting | ||
| + | Loading /libexec/rc/console/keymap | ||
| + | OpenRC 0.6.1 is starting up Funtoo Linux (x86_64) | ||
| + | ...boot messages omitted for clarity | ||
| + | |||
| + | orion login: oleg | ||
| + | Password: | ||
| + | Last login: Thu Oct 14 20:49:21 EEST 2010 on tty1 | ||
| + | oleg@orion ~ %</pre> | ||
| + | == Additional links == | ||
| + | [http://en.gentoo-wiki.com/wiki/Root_filesystem_over_LVM2,_DM-Crypt_and_RAID] | ||
| + | [http://wiki.archlinux.org/index.php/System_Encryption_with_LUKS_for_dm-crypt] | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | [[Category:HOWTO]] | ||
Revision as of 13:56, 7 November 2010
You can do many things with Funtoo Linux. This is just a sample of how to do some tasks.
Contents |
Encrypted ROOTFS on LVM
This howto describes how to setup LVM and rootfs with cryptoLUKS-encrypted drive
Prepape the hard drive and make partitions
This is an example partition scheme, you may want to choose defferent. /dev/sda1 used as /boot /dev/sda2 will be encrypted drive with LVM
/dev/sda1 /dev/sda2 dd if=/dev/zero of=/dev/sda2 bs=100M dd if=/dev/urandom of=/dev/sda2 bs=100M
dd part is optional, only for security reason, with /dev/urandom it takes around 6 hours to complete for 200GB drive.
Encrypting the drive
cryptsetup -c aes-xts-plain luksFormat /dev/sda2 cryptsetup luksOpen /dev/sda2 dmcrypt_root
there you'll be promted to enter your password phrase for encrypted drive, type your paranoid password there
Create logical volumes
pvcreate /dev/mapper/dmcrypt_root vgcreate vg /dev/mapper/dmcrypt_root lvcreate -L10G -nroot vg lvcreate -L2G -nswap vg lvcreate -L5G -nportage vg lvcreate -l 100%FREE -nhome vg
Feel free to specify your desired size
Create a filesystem on volumes
mkfs.ext2 /dev/sda1 mkswap /dev/mapper/vg-swap mkfs.ext4 /dev/mapper/vg-root mkreiserfs /dev/mapper/vg-portage mkfs.xfs /dev/mapper/vg-home
Basic system setup
mkfs.ext2 /dev/sda1 mkswap /dev/mapper/vg-swap mkfs.ext4 /dev/mapper/vg-root mkreiserfs /dev/mapper/vg-portage mkfs.xfs /dev/mapper/vg-home swapon /dev/mapper/vg-swap mount /dev/maper/vg-root /mnt/gentoo mount /dev/sda1 /mnt/gentoo/boot
Now perform all the steps required for basic system install, please follow [1] don't forget to emerge next packages:
# emerge cryptsetup lvm2 grub foo-sources
Re-emerge busybox with "static" USE flag
Kernel options
Important, do not miss this part. Under General setup --->
[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
Under Device Drivers --->
[*] Multiple devices driver support <*>Device Mapper Support <*> Crypt target support
Under Cryptographic API --->
-*-AES cipher algorithms <*> XTS supprot (EXPERIMENTAL)
Initramfs setup and configuration
Piotr Karbowski initramfs project used for making initrd [2]
git clone git://github.com/slashbeast/better-initramfs.git oleg@orion ~ % cd better-initramfs oleg@orion better-initramfs % make >>> initramfs.cpio.gz is ready
Copy resulting initramfs.cpio.gz to /boot
Grub2 configuration
An example of /etc/boot/conf, which reflects partition setup
boot {
generate grub
default "Funtoo Linux"
timeout 3
}
"Funtoo Linux" {
kernel bzImage[-v]
initrd /initramfs.cpio.gz
params += dmcrypt_root=true enc_root=/dev/sda2 lvm=true root=/dev/mapper/vg-root rootfstype=ext4 resume=swap:/dev/mapper/vg-swap quiet
}
/etc/fstab
# <fs> <mountpoint> <type> <opts> <dump/pass> /dev/sda1 /boot ext2 noauto,noatime 1 2 /dev/mapper/vg-swap none swap sw 0 0 /dev/mapper/vg-root / ext4 noatime,nodiratime,defaults 0 1 /dev/sr0 /mnt/cdrom auto noauto,ro 0 0 /dev/mapper/vg-portage /usr/portage reiserfs noatime,nodiratime 0 0 /dev/mapper/vg-home /home xfs noatime,nodiratime,osyncisdsync 0 0
Final steps
Umount everything, close encrypted drive and reboot
umount /mnt/gentoo/proc (/dev, /home,/usr/portage, /boot) cryptsetup luksClose /dev/sda2 dmcrypt_root
After reboot you will get the following:
>>> better-initramfs started. Kernel version 2.6.35-gentoo-r10 >>> Create all the symlinks to /bin/busybox. >>> Initiating /dev/dir >>> Getting LVM volumes up (if any) Reding all physical volumes. This make take awhile... No volume group found No volume group found >>> Opening encrypted partition and mapping to /dev/mapper/dmcrypt_root Enter passphrase fore /dev/sda2:
Type you password
>>> Again, getting LVM volumes up (if any, after map dmcrypt). Reading all physical volumes. This may take a while... Found volume group "vg" using metadata type lvm2 4 logical volume(s) in volume group "vg" now active >>> Mounting rootfs to /newroot >>> Umounting /sys and /proc. >>> Switching root to /newroot and executing /sbin/init. INIT: version 2.88 booting Loading /libexec/rc/console/keymap OpenRC 0.6.1 is starting up Funtoo Linux (x86_64) ...boot messages omitted for clarity orion login: oleg Password: Last login: Thu Oct 14 20:49:21 EEST 2010 on tty1 oleg@orion ~ %
Additional links
Subcategories
This category has the following 2 subcategories, out of 2 total.
Pages in category "HOWTO"
The following 54 pages are in this category, out of 54 total.
BC
EF |
F cont.GHIKLMNP |
P cont.RSTUWXZ |