diff options
author | Olivier Blin <oblin@mandriva.com> | 2009-11-09 11:48:44 +0000 |
---|---|---|
committer | Olivier Blin <oblin@mandriva.com> | 2009-11-09 11:48:44 +0000 |
commit | e0246d7b70809b6f6567aaa62b4a4f61b5e09d8d (patch) | |
tree | ae554ad109d9e379bb7ff32fd054f74b40fab991 | |
parent | 203dc993aa05736ed1b599729850e65de94e56fe (diff) | |
download | drakiso-e0246d7b70809b6f6567aaa62b4a4f61b5e09d8d.tar drakiso-e0246d7b70809b6f6567aaa62b4a4f61b5e09d8d.tar.gz drakiso-e0246d7b70809b6f6567aaa62b4a4f61b5e09d8d.tar.bz2 drakiso-e0246d7b70809b6f6567aaa62b4a4f61b5e09d8d.tar.xz drakiso-e0246d7b70809b6f6567aaa62b4a4f61b5e09d8d.zip |
use bootloader module to build initrd and create kernel symlinks (gdium friendly)
-rw-r--r-- | lib/MDV/Draklive/Initrd.pm | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/lib/MDV/Draklive/Initrd.pm b/lib/MDV/Draklive/Initrd.pm index 489e1f1..c885c29 100644 --- a/lib/MDV/Draklive/Initrd.pm +++ b/lib/MDV/Draklive/Initrd.pm @@ -296,27 +296,18 @@ sub add_splash { sub create_classical_initrd { my ($live) = @_; my $root = $live->get_system_root; - my $kernel = $live->find_kernel->{version}; - #- FIXME: use bootloader-config and allow it not to require a bootloader? - print "using kernel $kernel\n"; - - my $vmlinuz_long = '/boot/vmlinuz-' . $kernel; - my $vmlinuz_short = '/boot/vmlinuz'; - symlinkf(basename($vmlinuz_long), $root . $vmlinuz_short); - - $live->{system}{no_initrd} and return; + my $kernel = $live->find_kernel; + print "using kernel $kernel->{version}\n"; - my $initrd_long = '/boot/initrd-'. $kernel . '.img'; - my $initrd_short = '/boot/initrd.img'; run_('mount', '-t', 'proc', '/proc', $root . '/proc'); run_('mount', '-t', 'sysfs', '/sys', $root . '/sys'); - run_({ root => $root }, 'mkinitrd', '-v', '-f', $initrd_long, $kernel); + { + my $bootloader = {}; + local $::prefix = $root; + bootloader::add_kernel($bootloader, $kernel, { label => 'linux' }, '', $live->{system}{no_initrd}); + } run_('umount', $root . '/sys'); run_('umount', $root . '/proc'); - if (-f $root . $initrd_long) { - symlinkf(basename($initrd_long), $root . $initrd_short); - add_splash($live, $initrd_long); - } } 1; |