I have used the process here- https://www.novell.com/support/kb/doc.php?id=7009943 to create my network install ISOs. But when I used it to make a SLES 12 mini cd all I got was garbled text when booted. I searched a bit and found a process that I used to model this proceedure.

I have an Install source on a server with the IP address of 10.1.6.128. The ISOs for the various versions of SLES that I use are saved there (/srv/www/htdocs/repo). I am going to use the SLES 12 x86_64 DVD iso as an example. It is located at /srv/www/htdocs/repo/SLE-12-Server-DVD-x86_64-GM-DVD1.iso.

I have mounted the ISOs via /etc/fstab with this entry:

/srv/www/htdocs/repo/SLE-12-Server-DVD-x86_64-GM-DVD1.iso /srv/www/htdocs/repo/sles12ga-x86_64 udf,iso9660 user,auto,loop 0 0

Let's start by mounting the ISO and copying the files from the DVD to your local storage. My DVD is already mounted as an install source on my web server. You may need to manually mount it somewhere else.

mkdir -p /tmp/minicd
cp -rp /srv/www/htdocs/repo/sles12ga-x86_64/boot /tmp/minicd/boot
rm /tmp/minicd/boot/x86_64/*

Add the proper entries in your new ISO

chmod +w /srv/www/htdocs/repo/sles12ga-x86_64/boot/x86_64/loader/*
vi /tmp/minicd/boot/x86_64/loader/isolinux.cfg

Modify this section accordingly:

# install
label linux
kernel linux
append initrd=initrd showopts netdevice=eth0 useDHCP=1 install=http://10.1.6.128/repo/sles12ga-x86_64 autoyast=http://10.1.6.128/repo/files12ga/autoinst.xml

Now build your ISO

mkisofs -o /srv/www/htdocs/repo/minicd.iso \
-b boot/x86_64/loader/isolinux.bin \
-c boot/x86_64/loader/boot.cat \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-J -R \
-V "SLES_12GA_Network_Install" \
/tmp/minicd

When you have your new ISO working properly, remove the ISO source files:

rm -r /tmp/minicd

This process also works for adding files to the install ISO. Copy the entire contents of the ISO to the /tmp/minicd. Modify your source files to your liking. Use the same mkisofs command to create the new ISO.