# What does rocky use to gen iso isolinux.cfg, boot.conf, grub.cfg, grub.conf?

**URL:** <https://forums.rockylinux.org/t/what-does-rocky-use-to-gen-iso-isolinux-cfg-boot-conf-grub-cfg-grub-conf/6701>\
**Category:** Infrastructure\
**Created:** [July 22, 2022, 11:40pm UTC](https://forums.rockylinux.org/t/what-does-rocky-use-to-gen-iso-isolinux-cfg-boot-conf-grub-cfg-grub-conf/6701 "2022-07-22T23:40:35Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![olagarde](https://avatars.discourse-cdn.com/v4/letter/o/3bc359/32.png) [@olagarde](https://forums.rockylinux.org/u/olagarde)\
**Post date:** [July 22, 2022, 11:40pm UTC](https://forums.rockylinux.org/t/what-does-rocky-use-to-gen-iso-isolinux-cfg-boot-conf-grub-cfg-grub-conf/6701/1 "2022-07-22T23:40:35Z")

</div>

I’ve been rolling custom ISOs for a while – kickstart in the root, new menu entry in isolinux.cfg and BOOT.conf – but never bothered to finish the job and hit the grub.conf and grub.cfg or do more than manually poke in the new menu item, move the “default” line, etc. Lately I’m finally getting back to this and wondering what the most appropriate / future-proof / \>=EL8-ish way is. What does Rocky do to generate

```
/isolinux/isolinux.cfg
/isolinux/grub.conf
/EFI/BOOT/BOOT.conf
/EFI/BOOT/grub.cfg

```

when rolling the boot/install ISOs? Is there a particular method you don’t see changing in the forseeable future (through EL9 EOL?) No, I don’t really need to, but I’ve been doing this minimally/lazily long enough.

---

<div class="post-metadata">

**Author:** ![label](https://avatars.discourse-cdn.com/v4/letter/l/c5a1d2/32.png) [@label](https://forums.rockylinux.org/u/label)\
**Post date:** [July 23, 2022, 1:00am UTC](https://forums.rockylinux.org/t/what-does-rocky-use-to-gen-iso-isolinux-cfg-boot-conf-grub-cfg-grub-conf/6701/2 "2022-07-23T01:00:32Z")

</div>

We use lorax, as does Fedora and other EL derivatives, to generate the initial images, which makes the configurations you’re mentioning but also an initial boot.iso image. Lorax is installable on Enterprise Linux and Fedora systems in the base repositories. We do not make any further changes to what’s generated. After lorax is done, another process is ran to make the DVD image, which takes what was made by lorax and either adding on or making a brand new image entirely. For Rocky 8, this is all done with pungi. For Rocky 9, we use our toolkit called empanadas to do it. [There is a wiki page](https://wiki.rockylinux.org/team/release_engineering/compose/sop_compose/#running-a-compose) that explains it at a high level.

The process is essentially…

- lorax is ran on each architecture
- artifacts and are brought to a central gathering place
- .treeinfo and .discinfo is configured if required (this is typically required if you are building an image with repositories, like the DVD or minimal image)
- graft points are generated (for DVD or minimal image)
- xorriso is ran to create the image

[This part](https://git.resf.org/sig_core/toolkit/src/branch/devel/iso/empanadas/empanadas/util/iso_utils.py) of the toolkit is what does the work.

[These are the templates](https://git.resf.org/sig_core/toolkit/src/branch/devel/iso/empanadas/empanadas/templates) that it references.

[This template](https://git.resf.org/sig_core/toolkit/src/branch/devel/iso/empanadas/empanadas/templates/buildImage.tmpl.sh) is what calls our lorax for the initial generation.

After the initial lorax stuff is made, we can then make the DVD images.

[This](https://rpa.st/352A) is an example of xorriso dialog with graft points (maps)

[This](https://rpa.st/QWBQ) is an example of the above being used to generate a DVD image.

---

<div class="post-metadata">

**Author:** ![illuminatus](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.rockylinux.org/illuminatus/32/716_2.png) [@illuminatus](https://forums.rockylinux.org/u/illuminatus)\
**Post date:** [July 23, 2022, 9:42pm UTC](https://forums.rockylinux.org/t/what-does-rocky-use-to-gen-iso-isolinux-cfg-boot-conf-grub-cfg-grub-conf/6701/3 "2022-07-23T21:42:30Z")

</div>

@label Thanks for the really great breakdown.

---

<div class="post-metadata">

**Author:** ![olagarde](https://avatars.discourse-cdn.com/v4/letter/o/3bc359/32.png) [@olagarde](https://forums.rockylinux.org/u/olagarde)\
**Post date:** [September 22, 2022, 9:00pm UTC](https://forums.rockylinux.org/t/what-does-rocky-use-to-gen-iso-isolinux-cfg-boot-conf-grub-cfg-grub-conf/6701/4 "2022-09-22T21:00:16Z")

</div>

Sorry so late in my reply. @label very much thanks, exactly what I was looking for.

---

<div class="post-metadata">

**Author:** ![brian](https://sea2.discourse-cdn.com/flex020/user_avatar/forums.rockylinux.org/brian/32/5777_2.png) [@brian](https://forums.rockylinux.org/u/brian)\
**Post date:** [August 25, 2023, 3:39am UTC](https://forums.rockylinux.org/t/what-does-rocky-use-to-gen-iso-isolinux-cfg-boot-conf-grub-cfg-grub-conf/6701/5 "2023-08-25T03:39:27Z")

</div>

Closed on August 25, 2023, 3:39am UTC


