blob: a47efef2412302c9ed4f4ef844b740798b215f48 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
[[!meta title="Bootless: barebones tutorial"]]
This tutorial helps you to build a Grub USB stick to boot your operating systems.
Create basic folder structure
-----------------------------
mkdir -p /tmp/bootless/{grub,custom}
ln -s . /tmp/bootless/boot
wget https://git.fluxo.info/bootless/plain/templates/grub.cfg -O /tmp/bootless/grub/grub.cfg
wget https://git.fluxo.info/bootless/plain/templates/custom.cfg -O /tmp/bootless/grub/custom.cfg
Edit the config files
---------------------
Please check and customize the downloaded configuration above. The defaults allows you to load into Grub
and boot your OS using the grub shell.
Example: Full Disk Encryption
-----------------------------
Here is an example of a Full Disk Encryption with an entry loaded into `custom.cfg`:
menuentry 'darkstar full disk encryption' {
# Loads luks and lvm modules so you can access kernel
# and initrd from inside your encrypted OS!
insmod luks
insmod lvm
# This opens the encrypted volume /dev/mapper/darkstar-root
# and sets it as the root in the grub shell.
cryptomount lvm/darkstar-root
set root=(crypto0)
# This loads the kernel and initramfs
echo "Loading ${volume}..."
linux /boot/vmlinuz-3.16.0-4-amd64 root=/dev/mapper/root cryptopts=target=root,source=/dev/mapper/darkstar-root ro quiet
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-3.16.0-4-amd64
}
Example: boot with images loaded into the USB stick
---------------------------------------------------
You may also place custom images into the USB stick -- with the drawback to have to keep them up-to-date:
cp -r /boot /tmp/bootless/custom/debian
menuentry 'darkstar: preloaded images' {
# This loads the kernel and initramfs using images preloaded into the USB stick.
echo "Loading ${volume}..."
linux /boot/custom/debian/vmlinuz-3.16.0-4-amd64 root=/dev/mapper/root cryptopts=target=root,source=/dev/mapper/darkstar-root ro quiet
echo 'Loading initial ramdisk ...'
initrd /boot/custom/debian/initrd.img-3.16.0-4-amd64
}
Example: builtin bootless functions
-----------------------------------
The supplied configuration provides two functions, `bootfde` and `bootimg` that simplify the two previous examples into:
menuentry 'darkstar: full disk encryption' {
bootfde darkstar-root
}
menuentry 'darkstar: preloaded images' {
bootimg darkstar-root
}
Create a bootable image
-----------------------
grub-mkrescue -o output.img /tmp/bootless
Record the image into the USB stick
-----------------------------------
*WARNING!* This will irrevocably replace the contents of your USB stick.
Pay attention to get the right device. If your USB stick is attached to
your computer and reachable through `/dev/sdb`, you just have to run
sudo dd if=output.img of=/dev/sdb
|