ISO with l10n preloaded + UEFI

Jun Kobayashi jkbys at ubuntu.com
Tue Nov 18 13:31:46 UTC 2014


Hi,

Here is my operation record for making Ubuntu 14.10 Japanese Remix ISO image.
I hope this is useful.


1. build iso image running ubuntu-defaults-image

In my case, the command and options are like as follows.

$ ubuntu-defaults-image --package
../ubuntu-defaults-ja_14.10-0ubuntu1~ja1_all.deb --release utopic
--components main,restricted,universe

binary.hybrid.iso is generated if successful. But this is not support
for UEFI booting.


2. mount official iso image and copy files and directories to binary dir

$ sudo mount -o loop ubuntu-14.10-desktop-amd64.iso /path/to/somewhere
$ cd /path/to/somewhere
$ sudo cp -ar EFI/ README.diskdefines boot/ dists/ pool/ preseed/
/path/to/binary/
$ sudo cp -a .disk/base_installable .disk/cd_type /path/to/binary/.disk/


3. create .disk/release_notes_url file

$ cd /path/to/binary/
$ sudo sh -c 'echo
"https://wiki.ubuntu.com/UtopicUnicorn/ReleaseNotes/Ja" >
.disk/release_notes_url'

Change the release note url of your language.


4. overwrite .disk/info

$ sudo sh -c 'echo "Ubuntu 14.10 \"Utopic Unicorn\" - Release amd64
(`date '+%Y%m%d.1'`)" > .disk/info'


5. open preseed/ubuntu.seed with editor and add language and keyboard
settings for installer.

$ sudo chmod +w preseed/ubuntu.seed
$ sudo vi preseed/ubuntu.seed

In my case, following lines are added.

d-i    debian-installer/language    string    ja
d-i    keyboard-configuration/layoutcode    string    jp
d-i    keyboard-configuration/modelcode    string    jp106


6. open boot/grub/grub.cfg with editor and add language and keyboard
settings for installer.

$ sudo chmod +w boot/grub/grub.cfg
$ sudo vi boot/grub/grub.cfg

In my case, I changed menuentry as follows.

menuentry "Try Ubuntu without installing" {
        set gfxpayload=keep
        linux   /casper/vmlinuz.efi  file=/cdrom/preseed/ubuntu.seed
boot=casper quiet splash -- debian-installer/language=ja
keyboard-configuration/layoutcode?=jp
keyboard-configuration/modelcode?=jp106
        initrd  /casper/initrd.lz
}
menuentry "Install Ubuntu" {
        set gfxpayload=keep
        linux   /casper/vmlinuz.efi  file=/cdrom/preseed/ubuntu.seed
boot=casper only-ubiquity quiet splash -- debian-installer/language=ja
keyboard-configuration/layoutcode?=jp
keyboard-configuration/modelcode?=jp106
        initrd  /casper/initrd.lz
}
menuentry "OEM install (for manufacturers)" {
        set gfxpayload=keep
        linux   /casper/vmlinuz.efi  file=/cdrom/preseed/ubuntu.seed
boot=casper only-ubiquity quiet splash oem-config/enable=true --
debian-installer/language=ja keyboard-configuration/layoutcode?=jp
keyboard-configuration/modelcode?=jp106
        initrd  /casper/initrd.lz
}


7. make all files readable

$ sudo chmod -R +r .


8. rm SHA256SUMS and generate md5sum.txt

$ sudo rm SHA256SUMS
$ sudo find . -type f -exec md5sum {} \; |grep -v isolinux|grep -v
md5sum.txt|sudo tee md5sum.txt


9. create sort.txt including following lines.

100    boot/
90    EFI/
80    isolinux/
70    preseed/


10. execute xorriso with following options

$ cd ..
$ sudo xorriso \
 -as mkisofs \
 -volid "Ubuntu 14.10 ja amd64" \
 -o ubuntu-ja-14.10-desktop-amd64-20141117.iso \
 -rock -omit-version-number -disable-deep-relocation -joliet \
 -isohybrid-mbr /usr/lib/syslinux/mbr/isohdpfx.bin \
 -c isolinux/boot.cat \
 -b isolinux/isolinux.bin \
    -no-emul-boot -boot-load-size 4 -boot-info-table \
 -eltorito-alt-boot \
 -e boot/grub/efi.img \
    -no-emul-boot \
    -isohybrid-gpt-basdat \
    -isohybrid-apm-hfsplus \
 --sort-weight-patterns sort.txt \
 binary/


Regards,
Jun Kobayashi



More information about the ubuntu-devel mailing list