26
26
my $relink_build_link = 'YES'; # There is no harm in checking the link
27
27
my $force_build_link = ''; # There is no harm in checking the link
28
28
my $kernel_arch = "=B";
29
my $ramdisk = "=MK"; # List of tools to create initial ram fs.
30
30
my $package_name = "linux-image-$version";
31
my $explicit_do_loader = '';
34
33
my $image_dest = "/";
69
68
$do_symlink = "Yes" if /do_symlinks\s*=\s*(yes|true|1)\s*$/i;
70
69
$no_symlink = "Yes" if /no_symlinks\s*=\s*(yes|true|1)\s*$/i;
71
70
$link_in_boot = "Yes" if /link_in_boot\s*=\s*(yes|true|1)\s*$/i;
72
$explicit_do_loader = "YES" if /do_bootloader\s*=\s*(yes|true|1)\s*$/i;
73
71
$use_hard_links = "Yes" if /use_hard_links\s*=\s*(yes|true|1)\s*$/i;
74
72
$minimal_swap = 'Yes' if /minimal_swap\s*=\s*(yes|true|1)\s*$/i;
75
73
$ignore_depmod_err = 'Yes' if /ignore_depmod_err\s*=\s*(yes|true|1)\s*$/i;
707
sub find_initramfs_tool {
709
my (@tools, $initramfs_cmd);
711
foreach $initramfs_cmd (split(/[:,\s]+/, $ramdisk)) {
712
if (system("test -x \"\$(command -v $initramfs_cmd)\"") == 0) {
713
push(@tools, $initramfs_cmd);
722
@ramdisklist = find_initramfs_tool($ramdisk) if $ramdisk;
723
die "Failed to find suitable initramfs generation tool in $ramdisk\n"
724
if $#ramdisklist < 0;
726
for my $ramdisk_cmd (@ramdisklist) {
727
print STDERR "Running $ramdisk_cmd.\n";
728
print STDERR "Other valid candidates: @ramdisklist\n" if $#ramdisklist > 0;
730
my $initrd_path = $realimageloc . "initrd.img-$version";
731
my $ret = system("$ramdisk_cmd " .
732
($mkimage ? "-m '$mkimage' " : "") .
733
"-c -t -k $version >&2");
735
warn "$ramdisk_cmd failed to create initrd image.\n";
741
die "Failed to create initrd image.\n" unless $success;
742
if (! defined $ARGV[1] || ! $ARGV[1] || $ARGV[1] =~ m/<unknown>/o) {
743
image_magic("initrd.img", $image_dest);
745
if (! -e "initrd.img") {
746
handle_missing_link("initrd.img", $image_dest, "initrd.img-$version",
705
# Warn if we are ignoring the old ramdisk setting
706
if ($ramdisk =~ /\S/) {
707
my ($question, $ret, $seen);
708
$question = "${package_name}/postinst/ignoring-ramdisk";
709
($ret,$seen) = input('high', "$question");
710
die "Error setting debconf question $question: $seen" if $ret && $ret != 30;
712
die "Error asking debconf question $question: $seen" if $ret && $ret != 30;
752
715
# Only change the symlinks if we are not being upgraded
753
716
if (! defined $ARGV[1] || ! $ARGV[1] || $ARGV[1] =~ m/<unknown>/o) {
754
717
image_magic($kimage, $image_dest);
719
image_magic("initrd.img", $image_dest);
757
723
if (! -e "$kimage") {
758
724
handle_missing_link($kimage, $image_dest, "$kimage-$version",
727
if ($initrd && ! -e "initrd.img") {
728
handle_missing_link("initrd.img", $image_dest, "initrd.img-$version",
763
733
# set the env var stem
812
782
die "Failed to process /etc/kernel/postinst.d/$version";
815
if ($explicit_do_loader) {
816
my ($question, $ret, $seen);
817
$question = "${package_name}/postinst/ignoring-do-bootloader-$version";
818
($ret,$seen) = input('high', "$question");
819
die "Error setting debconf question $question: $seen" if $ret && $ret != 30;
821
die "Error asking debconf question $question: $seen" if $ret && $ret != 30;