2841c7e72dabc58f1b0b4570a538a345e80a9feb
[selfix.git] / bootstrap.md
1 Bootstrapping SELFIX
2 ====================
3
4 ## Initial setup
5
6 The SELFIX GNU/Linux distribution uses a multi-stage process to
7 bootstrap from source. This document contains that process.
8
9 Install QEMU. Create two disk images. One will hold the host distro that
10 you're bootstrapping from. The other will contain SELFIX.
11
12     qemu-img create -f qcow2 trisquel.qcow2 22G
13     qemu-img create -f qcow2 selfix.qcow2 22G
14
15 Boot the virtual machine with the two disk images and the host
16 distro's ISO connected:
17
18     qemu-system-x86_64 -m 1000 -hda trisquel.qcow2 -hdb selfix.qcow2
19     -cdrom trisquel-netinst_7.0_amd64.iso -boot d -enable-kvm
20
21 Install the host distro onto the disk image mounted under -hda. This
22 should be visible within the installer as the disk labeled sda, with
23 the disk to contain SELFIX visible as sdb.
24
25 When formatting and mounting the drives make sure that sdb is mounted as
26 /selfix or you will need to edit the SELFIX bootstrap scripts.
27
28 ## Boot and prep the host system
29
30 Once the host distro is installed boot without the ISO:
31
32     qemu-system-x86_64 -m 1000 -hda trisquel.qcow2 -hdb selfix.qcow2
33     -enable-kvm -redir tcp:2222::22
34
35 Once the host system is booted, login and install SSH:
36
37     sudo apt install openssh-server
38
39 Once installed you may logout of the host system and connect over SSH
40 instead:
41
42     ssh -p2222 user@localhost
43
44 Install git onto the host distro:
45
46     sudo apt install git
47
48 Clone the git repository:
49
50     git clone https://jxself.org/git/selfix.git
51
52 Then run the included stage0.sh script.
53
54 Copyright & Licensing
55 =====================
56
57 Copyright (C) 2017 Jason Self <j@jxself.org>
58
59 You can redistribute and/or modify this file under the terms of the GNU
60 Affero General Public License as published by the Free Software
61 Foundation, either version 3 of the License, or (at your option) any
62 later version.
63
64 This file is distributed in the hope that it will be useful, but
65 WITHOUT ANY WARRANTY; without even the implied warranty of
66 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
67 Affero General Public License for more details.
68
69 You should have received a copy of the GNU Affero General Public License
70 along with this file. If not, see <http://www.gnu.org/licenses/>.