Added some information about what to do after building everything

This commit is contained in:
Bruce Leidl 2018-03-04 14:20:51 -05:00
parent 7931f63dbe
commit 162e6836a8

View File

@ -56,3 +56,30 @@ To build a full citadel image:
The build will take several hours the first time, but for later builds the build system will use cached artifacts stored
in `citadel/build/sstate-cache` for components that have not changed and new builds will usually only take a few minutes.
## Some Assembly Required
Currently there are some rather unreliable scripts to make it possible to turn build output into something that you can install and run.
Very soon these scripts will be replaced by an actual installer that you can just build by running a make target, but that doesn't quite exist yet.
### Running `scripts/create_install_pack` to create installpack.tar
Before creating the installpack, some artifacts must exist in the build/images directory:
* `make citadel-image` Creates: `images/citadel-image-intel-corei7-64.ext2`
* `make citadel-kernel` Creates: `images/bzImage`
* `make bootloader` Creates: `images/systemd-bootx64.efi`
* `make user-rootfs` Creates: `debootstrap/user-rootfs.tar.xz`
After all of those components have been build, you can run `scripts/create_install_pack` which will create a file in the current directory called `installpack.tar`.
You can then unpack this tarball somewhere and run a script inside of it called `install.sh` to install to a USB stick (do this first, at least until you understand the process) or to install to internal disk drive.
$ tar xvf installpack.tar
$ cd installpack
$ sudo ./install.sh /dev/sdb
The install.sh script redirects all output from the commands it runs to a file install.log in the current directory. If the last line of output does not say "Install completed successfully" then something failed. Look in install.log for information about what went wrong. The script itself does not print any output when it fails, it will just stop at one of the steps and it appears as if everything worked since there is no error output.