diff options
author | Olivier Blin <oblin@mandriva.com> | 2008-09-25 10:19:29 +0000 |
---|---|---|
committer | Olivier Blin <oblin@mandriva.com> | 2008-09-25 10:19:29 +0000 |
commit | 916a500c4bfdf5eca068d4785f1297d3aa5bfbf0 (patch) | |
tree | b2d2172494956e30b2f428176d239ce9a89bab3f /draklive | |
parent | 48acf485fcea76de3cd5907539f6ab936b4ff53c (diff) | |
download | draklive-916a500c4bfdf5eca068d4785f1297d3aa5bfbf0.tar draklive-916a500c4bfdf5eca068d4785f1297d3aa5bfbf0.tar.gz draklive-916a500c4bfdf5eca068d4785f1297d3aa5bfbf0.tar.bz2 draklive-916a500c4bfdf5eca068d4785f1297d3aa5bfbf0.tar.xz draklive-916a500c4bfdf5eca068d4785f1297d3aa5bfbf0.zip |
extract install_usb_bootloader (to be reused for replicator masters)
Diffstat (limited to 'draklive')
-rwxr-xr-x | draklive | 41 |
1 files changed, 25 insertions, 16 deletions
@@ -1407,25 +1407,13 @@ sub record_cdrom_master { run_('wodim', '-v', 'dev=' . $device, $src); } -sub record_usb_master { - my ($live, $opts) = @_; - my $media = $live->{media}; +sub install_usb_bootloader { + my ($live, $media, $opts) = @_; my $media_boot = get_media_prefix($live, 'boot', $opts->{boot}); - my $media_loopbacks = get_media_prefix($live, 'loopbacks', $opts->{boot}); - - if (my $label = !$opts->{boot_only} && $opts->{device} && get_media_label($media)) { - set_device_label($opts->{device}, get_media_setting($media, 'fs'), $label); - } - my $device = get_media_device($live, $opts) - or die "unable to find recording device (missing label? try with --device <device>)\n"; + my $device = get_media_device($live, $opts); my $bootloader = get_boot_setting($media, 'bootloader', $opts); - member($bootloader, 'grub', 'syslinux') or die "no bootloader defined in media configuration\n"; - mkdir_p($live->{mnt}); - run_('mount', if_(-f $device, '-o', 'loop'), $device, $live->{mnt}) - or die "unable to mount $device\n"; - rm_rf($live->{mnt} . $media_boot) if -e $live->{mnt} . $media_boot; - cp_af(get_builddir($live) . $live->{prefix}{build}{boot}, $live->{mnt} . $media_boot); + member($bootloader, 'grub', 'syslinux') or die "no bootloader defined in media configuration\n"; my $grub_device_map = $live->{mnt} . $media_boot . "/grub/device.map"; if ($bootloader eq 'syslinux') { cp_f(get_builddir($live) . $_, $live->{mnt}) foreach map { @@ -1467,6 +1455,27 @@ sub record_usb_master { } else { warn "not running $bootloader on non block device $device\n"; } +} + +sub record_usb_master { + my ($live, $opts) = @_; + my $media = $live->{media}; + my $media_boot = get_media_prefix($live, 'boot', $opts->{boot}); + my $media_loopbacks = get_media_prefix($live, 'loopbacks', $opts->{boot}); + + if (my $label = !$opts->{boot_only} && $opts->{device} && get_media_label($media)) { + set_device_label($opts->{device}, get_media_setting($media, 'fs'), $label); + } + my $device = get_media_device($live, $opts) + or die "unable to find recording device (missing label? try with --device <device>)\n"; + + mkdir_p($live->{mnt}); + run_('mount', if_(-f $device, '-o', 'loop'), $device, $live->{mnt}) + or die "unable to mount $device\n"; + rm_rf($live->{mnt} . $media_boot) if -e $live->{mnt} . $media_boot; + cp_af(get_builddir($live) . $live->{prefix}{build}{boot}, $live->{mnt} . $media_boot); + + install_usb_bootloader($live, $media, $opts); do { my $loopbacks_source = get_builddir($live) . $live->{prefix}{build}{loopbacks} . '/'; |