diff options
author | Olivier Blin <oblin@mandriva.com> | 2009-10-14 16:25:21 +0000 |
---|---|---|
committer | Olivier Blin <oblin@mandriva.com> | 2009-10-14 16:25:21 +0000 |
commit | ed80c570d284d006d1fb4fd2adfcac6c3b6087f8 (patch) | |
tree | a58b582350cf0a0677d1e26ffbc3958706f0e45f /lib | |
parent | 7e338fd436f0d505efdd8c76289ef24271f01eb8 (diff) | |
download | draklive-ed80c570d284d006d1fb4fd2adfcac6c3b6087f8.tar draklive-ed80c570d284d006d1fb4fd2adfcac6c3b6087f8.tar.gz draklive-ed80c570d284d006d1fb4fd2adfcac6c3b6087f8.tar.bz2 draklive-ed80c570d284d006d1fb4fd2adfcac6c3b6087f8.tar.xz draklive-ed80c570d284d006d1fb4fd2adfcac6c3b6087f8.zip |
handle initrd in chroot (to further factorize)
Diffstat (limited to 'lib')
-rw-r--r-- | lib/MDV/Draklive/Initrd.pm | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/lib/MDV/Draklive/Initrd.pm b/lib/MDV/Draklive/Initrd.pm index b2375b0..78bde95 100644 --- a/lib/MDV/Draklive/Initrd.pm +++ b/lib/MDV/Draklive/Initrd.pm @@ -274,17 +274,26 @@ sub compress_initrd_tree { sub add_splash { my ($live, $initrd) = @_; if ($live->{system}{vga_mode} && $live->{system}{splash} ne 'no') { - my $tmp_initrd = '/tmp/initrd.gz'; - cp_f($initrd, $live->get_system_root . $tmp_initrd); + my $chroot_initrd; + if ($initrd !~ m,^/boot/,) { + $chroot_initrd = '/tmp/initrd.gz'; + cp_f($initrd, $live->get_system_root . $chroot_initrd); + } else { + $chroot_initrd = $initrd; + } + { local $::prefix = $live->get_system_root; #- also calls switch-themes -u (through make-boot-splash) #- which will regenerate gfxboot current link require bootloader; - bootloader::add_boot_splash($tmp_initrd, $live->{system}{vga_mode}); + bootloader::add_boot_splash($chroot_initrd, $live->{system}{vga_mode}); + } + + if ($chroot_initrd ne $initrd) { + cp_f($live->get_system_root . $chroot_initrd, $initrd); + unlink($live->get_system_root . $chroot_initrd); } - cp_f($live->get_system_root . $tmp_initrd, $initrd); - unlink($live->get_system_root . $tmp_initrd); } } |