summaryrefslogtreecommitdiffstats
path: root/README
blob: 6019294f2bfe779459226084be431abcc0d1a11b (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
1) What is it?
A simple initramfs that looks for a filesystem with a given UUID (not the gpt
PARTUUID), looks there for a .tar.xz file containing a root filesystem and
tries to switch root filesystem to a tmpfs where the tarball was extracted.

2) How to use it?
2.1) Stea^WAcquire statically linked copies of:
 a) busybox (http://www.busybox.net/)
 b) pv (http://www.ivarch.com/programs/pv.shtml)
(protip: use magnets for faster acquiring)
and put the binaries in the initramfs root directory (hint: ./initramfs)

2.2) Get UUID of your filesystem where you have an xz-compressed tarball of
your filesystem.
 ls -l /dev/disk/by-uuid/ might help

2.3) Set kernel parameters:
 ipcmd - arguments for ip (from iputils)
 brctl - arguments for brctl
 rootfs_part - where to get rootfs tarball from and what to do with it (for example, uncompress)
 rootfs_size - size of the tmpfs that will be used as /
 init - what executable should be used as init on the system

2.4) Use scripts/mkinitramfs to generate the initramfs
 For example: ./scripts/mkinitramfs ./initramfs ./initramfs.cpio.gz

2.5) ???
 (you might want to pray to flying spaghetti monster, or some other imaginary
 friend of your choice)

2.6) PROFIT!
 (assuming your system didn't OOM in the process)

3) I've got an idea/suggestion/bugfix!
 Patches welcome:
  git format-patch --stdout -M -C -C -1