You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			62 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
---
 | 
						|
layout: post
 | 
						|
title: "Setting up GRUB/GPT/LVM"
 | 
						|
date: 2016-01-19 17:09:09 +0100
 | 
						|
comments: true
 | 
						|
categories: 
 | 
						|
---
 | 
						|
 | 
						|
Notes on setting up a machine to use GPT partitioning, LVM for
 | 
						|
all filesystems (including root), and GRUB2 to boot.
 | 
						|
 | 
						|
Starting with a vanilla Debian 7.8 setup. Here we assume that /dev/sdb
 | 
						|
is the disk that will ultimately contain the system.
 | 
						|
 | 
						|
GPT setup
 | 
						|
=========
 | 
						|
 | 
						|
    (parted) mklabel gpt
 | 
						|
    (parted) mkpart primary 2048s 4095s                                       
 | 
						|
    (parted) set 1 bios_grub on                                               
 | 
						|
    (parted) name 1 "BIOS Boot Partition"                                     
 | 
						|
    (parted) mkpart primary 4096s 100%                                        
 | 
						|
    (parted) set 2 lvm on                                                     
 | 
						|
    (parted) name 2 "LVM"
 | 
						|
 | 
						|
Do we want a swap partition there??? If we don't provision one now,
 | 
						|
we'll have to swap to an LVM LV.
 | 
						|
 | 
						|
LVM setup
 | 
						|
=========
 | 
						|
 | 
						|
    pvcreate /dev/sdb1
 | 
						|
    # Format given disk for LVM
 | 
						|
 | 
						|
    vgcreate tank /dev/sdb2
 | 
						|
    # Create a volume group with that disk as the underlying storage
 | 
						|
 | 
						|
    lvcreate -n rootfs -L 10G tank
 | 
						|
    lvcreate -n home -l 100%FREE tank
 | 
						|
 | 
						|
Filesystem
 | 
						|
==========
 | 
						|
 | 
						|
    mkfs.ext4 /dev/mapper/tank-rootfs
 | 
						|
    mkfs.ext4 /dev/mapper/tank-home
 | 
						|
    mount -t ext4 /dev/mapper/tank-rootfs /mnt
 | 
						|
 | 
						|
Set up root filesystem (including /boot subdirectory) in /mnt.
 | 
						|
 | 
						|
Make sure that /etc/fstab on tank-rootfs points to the proper
 | 
						|
root fs.
 | 
						|
 | 
						|
GRUB2
 | 
						|
=====
 | 
						|
 | 
						|
    for i in /dev /dev/pts /proc /sys /run; do mount -B $i /mnt$i; done
 | 
						|
    chroot /mnt
 | 
						|
    rm -f /boot/grub/device.map
 | 
						|
    grub-mkconfig -o /boot/grub/grub.cfg
 | 
						|
    grub-install /dev/sdb
 | 
						|
 |