summaryrefslogtreecommitdiff
path: root/README
blob: 2fcc7a7889f09de3c58a8afface6b6320f44f00b (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
84
85
86
87
88
89
90
91
# packages required:
pacman -S archiso qemu syslinux darkhttpd

# we build a live arch distribution, customized to contain the 
# CFEngine packages from AUR and some scripts doing an automatic
# basic install
export http_proxy=http://192.168.1.12:3128
mkdir archlive
cp -r /usr/share/archiso/configs/releng/* archlive/.
cd archlive

# always had problem with keys, switch of signing (not good, I know)
sed -i 's/SigLevel = PackageRequired/SigLevel = Never/g' pacman.conf

./build.sh -v build single
mkdir -p /mnt/archiso
mount -o loop,ro archlive/out/archlinux-2013.02.14-dual.iso /mnt/archiso
ln -s /mnt/archiso .
darkhttpd . --port 8080

cp /mnt/archiso/arch/boot/x86_64/vmlinuz tftproot/boot/x86_64/
cp /mnt/archiso/arch/boot/x86_64/archiso.img tftproot/boot/x86_64/

mkdir tftproot
cp /usr/lib/syslinux/pxelinux.0 tftproot
mkdir -p tftproot/boot/x86_64

qemu-img create arch.img 4G

qemu-system-x86_64 -hda arch.img -net nic \
	-net user,tftp=$PWD/tftproot,bootfile=pxelinux.0 \
	-m 386 -display curses \
	-machine accel=kvm -redir tcp:222::22 \
	-boot n

# remote install (manually), then follow docu
# (this gives a rough idea of what should be automatized)
passwd
systemctl start sshd

# automatic installation frameworks for ArchLinux
# - AIF
# - ArchBlocks
# - ArchBang
# - backpac: snapshots, not really the cfengine philosophy
# load them after boot of base system or customize the installation medium?

# EFI, later
# wget 'http://wiki.qemu.org/download/efi-bios.tar.bz2'
# qemu with efi
# efi partition etc

# manual minimal installation or "what's needed in a CFengine bootstrap
# script"?
# - boot loader
#   - grub2
#   - virtio ramdisk hooks
# - partitioning
#   - sgdisk scripting (ArchBlocks does it nicely)
#   - RAID, LVM, LUKS and friends
#   - size, swap, filesystem, chunking
#   - file system layout

qemu-system-x86_64 -hda arch.img -net nic \
	-net user \
	-m 386 -display curses \
	-machine accel=kvm -redir tcp:222::22

# via cfengine

# packages net-tools gdisk
# pacman -S libedit ntp
# ntpdate 0.pool.ntp.org, systemctl enable ntpd

# Links:
# https://wiki.archlinux.org/index.php/Archiso
# https://wiki.archlinux.org/index.php/PXE
# https://wiki.archlinux.org/index.php/Archiso_as_pxe_server
# https://kroweer.wordpress.com/2011/09/07/creating-a-custom-arch-linux-live-usb/
# http://pxeknife.erebor.org/
# https://github.com/altercation/archblocks
# https://bbs.archlinux.org/viewtopic.php?id=149597
# https://github.com/jdodds/aif
# https://wiki.archlinux.org/index.php/Autostarting
# https://wiki.archlinux.org/index.php/Automatic_login_to_virtual_console
# https://wiki.archlinux.org/index.php/Official_Arch_Linux_Install_Guide
# https://bbs.archlinux.org/viewtopic.php?id=148790 (text mode boot from archiso)
# http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=How_to_run_OVMF (UEFI BIOS)
# https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/EdkShellBinPkg/FullShell/X64/Shell_Full.efi
# https://wiki.archlinux.org/index.php/GRUB2
# http://www.brianparsons.net/Best-Practices-For-Using-Arch-Linux-on-Servers/