[Ubuntu Server 14.04] Custom ISO op USB(Bootable)

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Snors
  • Registratie: Oktober 2007
  • Laatst online: 11-08 12:42
Allen,

Ik heb recent wat modificaties doorgevoerd in de originele ubuntu 14.04 Trusty server iso. Een kort stappenplan hieronder:
1. Iso gedownload / gemount en inhoud gekopieerd naar een working directory
2. Modificaties aangebracht
3. md5sum.txt opnieuw gegenereerd
4. Iso opnieuw aangemaakt d.m.v. het volgende commando(uitgevoerd in de working directory):
code:
1
genisoimage -D -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../ubuntucustom.iso .


De ISO werkt perfect in een VM(virtualbox / vmware) echter als ik deze met het "dd" command op een USB stick overzet ontbreekt een partition table op de usb stick(fdisk -l in Ubuntu) en zodoende wil de USB stick dus niet booten.

Ik heb al geprobeerd om mbr-install uit te voeren op de USB maar ook dit mag niet baten. Als ik een clean Ubuntu 14.04 trusty iso pak dan werkt deze wel gewoon(via dd op usb = bootable). Tools als unetbootin en universal usb installer prefereer ik niet te gebruiken omdat deze mijn config overhoop gooien(boot parameters in grub.cfg etc.).

Wie o wie kan me verder helpen

Acties:
  • 0 Henk 'm!

  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 01-10 12:22

CAPSLOCK2000

zie teletekst pagina 888

isohybrid er over heen gooien?

This post is warranted for the full amount you paid me for it.


Acties:
  • 0 Henk 'm!

  • TheMazzter
  • Registratie: Oktober 2006
  • Laatst online: 25-09 09:29
MIsschien met unetbootin? Werkt iig. voor 'normale' linux-isos.

Acties:
  • 0 Henk 'm!

  • RedHat
  • Registratie: Augustus 2000
  • Laatst online: 30-09 17:44
Met dd had ik ook dat hij partitietabel weggooide.

Zal vast wel een commando zijn voor dd waarmee hij dat niet doet, maar met unetbootin kom je een heel eind.

Acties:
  • 0 Henk 'm!

  • Snors
  • Registratie: Oktober 2007
  • Laatst online: 11-08 12:42
Als eerste; bedankt voor alle reacties! Ik heb het opgelost, niet met unetbootin ook niet met Universal USB Installer maar met het volgende shell script:
Bash:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/bin/bash

## ISO build env
PATH_TO_SRC_FILES=/home/testuser/custom-img/iso/ # path to iso image source folder (which contains /boot and /wifislax)
PATH_TO_ISO_IMG=/home/testuser/client.iso # CAUTION: will be cleared on every execution
VOLNAME="DC-CLIENT"

## BIOS boot env
# isolinux.bin and boot.cat MUST be present inside ISO
# si we use no slash, just path inside iso structure
ISOLINUXBIN=isolinux/isolinux.bin 
ISOLINUXCAT=isolinux/boot.cat

# the iso hybrid MBR file can be sourced from out of the iso src files
# so we can specify an absolute path
ISOHYBRIDMBR=/usr/lib/syslinux/isohdpfx.bin 
# ^^ ensure that syslinux 6.0 is properly installed on building environment,
# as isolinux provides isohdpfx.bin 

## UEFI boot env
# use no slash, just path inside iso structure
# ensure that specified files do exist inside path to iso files
# pre-made efi partition image with efi loaders, configs etc
EFIBOOT=boot/grub/efi.img 

rm -rf "$PATH_TO_ISO_IMG"

# cd to iso src files dir or exit if not exist
cd "$PATH_TO_SRC_FILES" || exit 1

# xorriso 1.2.6 or above needed, please ensure that correct version is installed on building environment
xorriso -as mkisofs -graft-points \
-b $ISOLINUXBIN -no-emul-boot -boot-info-table -boot-load-size 4 -c $ISOLINUXCAT \
-isohybrid-mbr $ISOHYBRIDMBR \
-eltorito-alt-boot -e $EFIBOOT -no-emul-boot -isohybrid-gpt-basdat \
-V "$VOLNAME" -o "$PATH_TO_ISO_IMG" -r \
"$PATH_TO_SRC_FILES" --sort-weight 0 / --sort-weight 1 /boot


Deze maakt de USB bootable met zowel UEFI als Legacy BIOS. Thanks!