# coreos-installer-dracut RPM iteration
Start with a RHEL 9 vm, I'm using the root account in my development VM, adjust it as necessary if you're not running as root.
Remember to give the correct permissions to any parent folder you're in, i.e. if I'm running under `/home/runcom` I would do `chmod 755 /home/runcom` so that osbuild is able to traverse the directories.
```
# setenforce 0 # (don't do this!)
# yum install createrepo rpm-build
# mkdir /work && cd /work
# git clone https://github.com/coreos/coreos-installer-dracut
# cd coreos-installer-dracut
# git remote add <your_github_fork> https://github.com/<your_github_fork>/coreos-installer-dracut
# git fetch <your_github_fork>
# git checkout --track <your_github_fork>/<your_branch>
# rm -rf rpmbuild && make rpm
# createrepo ./rpmbuild/RPMS/x86_64
## create this file
# cat coi-dracut.toml
id = "coreos-installer-dracut"
name = "coi-dracut-repo"
type = "yum-baseurl"
url = "file:///work/coreos-installer-dracut/rpmbuild/RPMS/x86_64"
check_gpg = false
check_ssl = false
system = false
# composer-cli sources add coi-dracut.toml
```
Now you can build the simplified installer with whatever your iteration of coreos-installer-dracut is at. Remember to always push your changes to your branch, then hop into the VM and update the local clone there (`git fetch <your_github_fork> && git reset --hard <your_github_fork>/<your_branch>`, or anything that works for you).
One other options, instead of working with two git (one local, one VM), you could just develop in the VM.
When iterating building the RPM, make sure you always **commit** your code followed by running `rm -rf rpmbuild && make rpm` followed by `createrepo ./rpmbuild/RPMS/x86_64` - it'll make sure you're always using the very latest code.