Merge install feature from 4.0-pre-not-stable.

This commit is contained in:
Darko Poljak 2016-10-13 21:16:59 +02:00
commit cca6693b2e
119 changed files with 2567 additions and 1 deletions

View file

@ -0,0 +1,2 @@
- debootstrap for the moment
- add triggers: https://github.com/telmich/cdist/issues/214

View file

@ -0,0 +1,109 @@
- debootstrap
x setup arch
x allow cdist to configure debootstrapped directory using cdist
x include sshd
x configure network (eth0, dhcp)
x various mkfs variants
- various fdisk tools
x add option for different initial manifest
x allow -, stdin usage
x allow to replace current manifest (later)
x trigger
- can be handled in the manifest of the user
- remove /var/cache/apt/archives/* ?
- later, optimisation level
- bug: cdist config als root!
- fix linux-image name (amd64)
- ln -s /sbin/init /init
- blog!
- self configuring
x pxe
/pxe/
- pxelinux.0
- linux
- initramfs
- pxelinux.cfg/
- default
- iso
- later
- usb stick (+efi version)
- later
- add unit tests
- testing with qemu
[22:43] bento:vm-tests% qemu-system-x86_64 -m 2G -boot order=cn -drive file=testhd1,if=virtio -net nic -net user,tftp=$(pwd -P)/tftp,bootfile=/pxelinux.0,hostfwd=tcp::7777-:22 -enable-kvm
- create preos
[22:43] bento:preos-tests% echo __panter_root_ssh_keys | sudo cdist preos -vp /home/users/nico/vm-tests/tftp -c /home/users/nico/preos-tests/preos03/ -i -
--------------------------------------------------------------------------------
[1:16] bento:~% sudo cdist preos -vc ~nico/preos-tests/preos03
INFO: cdist: version 3.0.0-38-gea286c6
INFO: /home/users/nico/preos-tests/preos03: Running global explorers
INFO: /home/users/nico/preos-tests/preos03: Running initial manifest /tmp/tmpxbquwe/manifest
INFO: /home/users/nico/preos-tests/preos03: Running manifest and explorers for __file/etc/network/interfaces
INFO: /home/users/nico/preos-tests/preos03: Generating code for __file/etc/network/interfaces
INFO: /home/users/nico/preos-tests/preos03: Running manifest and explorers for __package/xfsprogs
INFO: /home/users/nico/preos-tests/preos03: Running manifest and explorers for __package/reiser4progs
INFO: /home/users/nico/preos-tests/preos03: Running manifest and explorers for __package/jfsutils
INFO: /home/users/nico/preos-tests/preos03: Running manifest and explorers for __package/e2fsprogs
INFO: /home/users/nico/preos-tests/preos03: Running manifest and explorers for __package/btrfs-tools
INFO: /home/users/nico/preos-tests/preos03: Running manifest and explorers for __package/file
INFO: /home/users/nico/preos-tests/preos03: Running manifest and explorers for __package/syslinux
INFO: /home/users/nico/preos-tests/preos03: Running manifest and explorers for __package/openssh-server
INFO: /home/users/nico/preos-tests/preos03: Running manifest and explorers for __package/linux-image-amd64
INFO: /home/users/nico/preos-tests/preos03: Running manifest and explorers for __package_apt/linux-image-amd64
INFO: /home/users/nico/preos-tests/preos03: Generating code for __package_apt/linux-image-amd64
INFO: /home/users/nico/preos-tests/preos03: Running manifest and explorers for __package_apt/openssh-server
INFO: /home/users/nico/preos-tests/preos03: Generating code for __package_apt/openssh-server
INFO: /home/users/nico/preos-tests/preos03: Running manifest and explorers for __package_apt/syslinux
INFO: /home/users/nico/preos-tests/preos03: Generating code for __package_apt/syslinux
INFO: /home/users/nico/preos-tests/preos03: Running manifest and explorers for __package_apt/file
INFO: /home/users/nico/preos-tests/preos03: Generating code for __package_apt/file
INFO: /home/users/nico/preos-tests/preos03: Running manifest and explorers for __package_apt/btrfs-tools
INFO: /home/users/nico/preos-tests/preos03: Generating code for __package_apt/btrfs-tools
INFO: /home/users/nico/preos-tests/preos03: Running manifest and explorers for __package_apt/e2fsprogs
INFO: /home/users/nico/preos-tests/preos03: Generating code for __package_apt/e2fsprogs
INFO: /home/users/nico/preos-tests/preos03: Running manifest and explorers for __package_apt/jfsutils
INFO: /home/users/nico/preos-tests/preos03: Generating code for __package_apt/jfsutils
INFO: /home/users/nico/preos-tests/preos03: Running manifest and explorers for __package_apt/reiser4progs
INFO: /home/users/nico/preos-tests/preos03: Generating code for __package_apt/reiser4progs
INFO: /home/users/nico/preos-tests/preos03: Running manifest and explorers for __package_apt/xfsprogs
INFO: /home/users/nico/preos-tests/preos03: Generating code for __package_apt/xfsprogs
INFO: /home/users/nico/preos-tests/preos03: Generating code for __package/xfsprogs
INFO: /home/users/nico/preos-tests/preos03: Generating code for __package/reiser4progs
INFO: /home/users/nico/preos-tests/preos03: Generating code for __package/jfsutils
INFO: /home/users/nico/preos-tests/preos03: Generating code for __package/e2fsprogs
INFO: /home/users/nico/preos-tests/preos03: Generating code for __package/btrfs-tools
INFO: /home/users/nico/preos-tests/preos03: Generating code for __package/file
INFO: /home/users/nico/preos-tests/preos03: Generating code for __package/syslinux
INFO: /home/users/nico/preos-tests/preos03: Generating code for __package/openssh-server
INFO: /home/users/nico/preos-tests/preos03: Generating code for __package/linux-image-amd64
INFO: /home/users/nico/preos-tests/preos03: Finished successful run in 2.546635866165161 seconds
[1:16] bento:~%
--------------------------------------------------------------------------------
[21:14] bento:vm-tests% qemu-system-x86_64 -m 2G -boot order=cn -drive file=testhd1,if=virtio -net nic -net user,tftp=$(pwd -P)/tftp,bootfile=/pxelinux.0
--------------------------------------------------------------------------------
[21:16] bento:preos-tests% sudo cdist preos -vp /home/users/nico/vm-tests/tftp /home/users/nico/preos-tests/preos03/
INFO: cdist: version 3.0.0-42-g0d78ab3
INFO: cdist.preos: Creating kernel ...
INFO: cdist.preos: Creating initramfs ...
760780 blocks
INFO: cdist.preos: Creating pxe configuration ...
INFO: cdist.preos: Creating pxelinux.0 ...

View file

@ -0,0 +1,49 @@
Objective:
Create a bootable media that contains everything to install and configure a system.
Ideas:
* usb stick
** uefi vs. bios
** contains cdist config
** static ip (?) (if at all)
** hostname setup to localhost
** install and config support
* preos from existing OS?
** requires kernel
** requires initramfs (self build)
** missing tools: cdist preos --config hostname...
* testing with qemu
* syslinux/isolinux?
Program:
- get tools
- get kernel
- provide fallback on cdist page
- archlinux: /boot/vmlinuz-linux
- create initramfs?
- create bootable media
- iso
- uefi-usb
- bios-usb
Tasks:
- Setup test environment
- qemu launcher
/usr/bin/qemu-system-x86_64 -boot d -m 256 -cdrom '/home/users/nico/oeffentlich/rechner/projekte/cdist/cdist/cdist-preos.iso'
- Create bootable image
- Test image
Log:
mkdir iso
cp /boot/vmlinuz-linux iso/
cp /usr/lib/syslinux/bios/isolinux.bin iso/
[22:36] freiheit:cdist% genisoimage -v -V "cdist preos v0.1" -cache-inodes -J -l -no-emul-boot -boot-load-size 4 -b isolinux.bin -c boot.cat -o cdist-preos.iso iso
[22:38] freiheit:cdist% genisoimage -r -V "cdist preos v0.2" -cache-inodes -J -l -no-emul-boot -boot-load-size 4 -b isolinux.bin -c boot.cat -o cdist-preos.iso iso

View file

@ -0,0 +1,32 @@
- basics of config
- wrapping to config
- testbed for CaaS!
- allow to include .cdist
- generate
- pxe
- iso
- package...
- mkfs
- fdisk*
- kernel
- types (?)
- iso?
-
- based on Arch Linux
- new types for iso?
- change __cdistmarker to accept prefix
- ISO / USB
genisoimage -r -V "cdist preos v0.2" -cache-inodes -J -l -no-emul-boot -boot-load-size 4 -b isolinux.bin -c boot.cat -o cdist-preos.iso iso
- have a look at archiso?
http://www.syslinux.org/wiki/index.php/Isohybrid
-> uefi
-> mbr
- PXE