# 20201009_CoreOS-Installer-Custom-Install
The following steps create and embed an Ignition config into the RHCOS
Live ISO image. The Ignition config defines a `install.service`
that runs automatically when the Live ISO is booted and provides its own
`coreos-installer` command line to run with options that configure networking
via kernel arguments and also specifies a remote Ignition config via the
`ignition.config.url` kernel arguement. The boot from the ISO that performs
the install will require no networking at all to perform the install.
Note this is based on the [upstream documentation](https://coreos.github.io/coreos-installer/customizing-install/#custom-coreos-installer-invocation).
1. Define a config that will be translated via `fcct`
```
cat <<'EOF' > fcct-custom-install.yaml
variant: fcos
version: 1.1.0
systemd:
units:
- name: install.service
enabled: true
contents: |
[Unit]
Description=Run CoreOS Installer
Requires=coreos-installer-pre.target
After=coreos-installer-pre.target
OnFailure=emergency.target
OnFailureJobMode=replace-irreversibly
[Service]
Type=oneshot
ExecStart=/usr/bin/coreos-installer install --append-karg="ip=192.168.122.111::192.168.122.1:255.255.255.0:myhostname::none:192.168.122.1" --append-karg="ignition.config.url=https://dustymabe.fedorapeople.org/user-systemd.ign" /dev/sda
ExecStart=/usr/bin/systemctl --no-block reboot
StandardOutput=kmsg+console
StandardError=kmsg+console
[Install]
RequiredBy=default.target
EOF
```
You'll want to replace the values above with your own customization. For example,
you'll provide different `ip=` values, a different `ignition.config.url` value,
and probably a different value for `/dev/sda`.
2. Convert the config into an Ignition config:
```
cat fcct-custom-install.yaml | fcct > fcct-custom-install.ign
```
3. Embed the config into the ISO and create a new file `rhcos-custom.iso`
```
coreos-installer iso ignition embed -i ./fcct-custom-install.ign -o rhcos-custom.iso rhcos-4.6.0-0.nightly-2020-09-29-013537-x86_64-live.x86_64.iso
```
4. Now use the ISO to boot a system.
It will auto-install to `/dev/sda` and embed the defined kernel arguments above for the installed system.