summaryrefslogtreecommitdiffstats
path: root/make_boot_img
Commit message (Expand)AuthorAgeFilesLines
* Update PPC boot CD creation.Stew Benedict2002-11-051-35/+156
* initrd: fix blank.img; minor: use "member" instead of many eq inGuillaume Cottenceau2002-09-271-3/+5
* fix ponsuxGuillaume Cottenceau2002-09-231-1/+1
* add a "cdrom-changedisk.img" special bootdisk for CD #2, for people who can't...Guillaume Cottenceau2002-09-111-2/+10
* fixed missing new line in isolinux.cfg file (F2 and F3 not working).Francois Pons2002-08-211-1/+2
* added more detailed help files, fixed bad reset of text mode.Francois Pons2002-08-081-14/+54
* use isolinux non-debug versionPascal Rigaux2002-08-071-2/+1
* reduce progress bar again (8).Francois Pons2002-08-071-1/+1
* adapt regexp on archname to thread-multiPascal Rigaux2002-08-061-1/+2
* shorten the syslinux progress barFlorent Villard2002-08-011-1/+1
* try to fix isolinux for 9.0Guillaume Cottenceau2002-07-231-5/+10
* make F1 go back to console mode.Francois Pons2002-07-221-1/+1
* fixed length of progress bar for isolinux, reduced by 10%.Francois Pons2002-07-221-1/+1
* make progress bar more appropriate.Francois Pons2002-07-191-1/+1
* reduce progress bar width.Francois Pons2002-07-191-1/+1
* use lilo-bmp2mdk which is now in pathPascal Rigaux2002-07-191-2/+1
* add bmp2mdk of isolinux picture if present.Francois Pons2002-07-181-1/+7
* adapt to the move all.modules -> kernel/all.modules and all.kernels -> kern...Pascal Rigaux2002-07-041-19/+23
* make oem use frame buffer, for bootsplash to be happy.Francois Pons2002-03-151-1/+1
* don't have /images/alternatives/usb.img-2.2.14Guillaume Cottenceau2002-02-281-0/+1
* use /usr/lib/syslinux/isolinux files instead of /usr/lib/isolinux files.Francois Pons2002-02-261-1/+1
* factorize the various entries so that isolinux and syslinux share the entriesPascal Rigaux2002-02-121-65/+43
* use latest /RPMS/kernel-BOOT-*.rpm (and some hacks to update tftpboot directory)Pascal Rigaux2002-01-251-0/+5
* externalize patch_pcmcia_config (from make_boot_img)Guillaume Cottenceau2001-12-121-25/+3
* - fix problems with sockets not initialized (disablingGuillaume Cottenceau2001-12-051-2/+1
* support install from USB CDROMS (using usb-storage)Guillaume Cottenceau2001-12-041-3/+3
* fix patching of /etc/pcmcia/config (for new pcmcia-cs)Guillaume Cottenceau2001-11-231-6/+4
* migrate pcmcia in drakx to use in-kernel version (onlyGuillaume Cottenceau2001-11-211-1/+1
* better patching of /etc/pcmcia/config (through a prog not a patch)Guillaume Cottenceau2001-10-291-1/+28
* use the pcmcia patch from gi/tools, not gi/mdk-stage1Pascal Rigaux2001-10-261-1/+1
* - make_boot_img (boot_img_ia64): add "rescue" boot entryGwenolé Beauchesne2001-09-261-1/+7
* add "prompt" and "timeout" params to isolinux so that we can choose anGuillaume Cottenceau2001-09-221-0/+2
* add changedisk parameter for isolinuxPascal Rigaux2001-09-201-6/+6
* add isolinux stuff generationPascal Rigaux2001-09-191-5/+47
* - make_boot_img (boot_img_ia64): updatesGwenolé Beauchesne2001-09-121-1/+2
* use a different boot.msg file for blank.img image floppy.Francois Pons2001-09-101-0/+2
* patch with --no-backup-if-mismatchPascal Rigaux2001-08-311-1/+1
* don't cp devices, mknod themPascal Rigaux2001-08-291-3/+3
* added reference to second help page.Francois Pons2001-08-241-1/+2
* don't generate a useless rdz fileGuillaume Cottenceau2001-08-131-1/+1
* - Makefile (ia64): RELEASE_BOOT_IMG is all.imgGwenolé Beauchesne2001-07-271-3/+3
* Ia64 AdaptationMatthias Badaire2001-07-041-1/+27
* add support for install from USB Network AdaptersGuillaume Cottenceau2001-07-031-2/+3
* s/Linux-Mandrake/Mandrake Linux/Pascal Rigaux2001-06-211-2/+2
* - adsl support in network.imgGuillaume Cottenceau2001-06-111-23/+31
* add net boot options for PPCStew Benedict2001-05-221-0/+21
* force "novideo" mode in text install, rescueStew Benedict2001-05-011-2/+2
* no PCMCIA on PPC yetStew Benedict2001-04-271-1/+1
* left out root= in yaboot.configStew Benedict2001-04-171-0/+5
* updates to X, mouse setup for PPCStew Benedict2001-04-141-1/+1
opt">@{$hd->{geom}}{qw(cylinders heads sectors)} = @info{qw(ncyl ntrks nsect)}; my @pt; my @infos_up = unpack $format1 x $nb_primary, $info{infos}; my @partitions_up = unpack $format2 x $nb_primary, $info{partitions}; for (0..$nb_primary-1) { my $h = { type => $infos_up[2 * $_], flag => $infos_up[1 + 2 * $_], start_cylinder => $partitions_up[2 * $_], size => $partitions_up[1 + 2 * $_] }; $h->{start} = $sector + $h->{start_cylinder} * $hd->cylinder_size(); $h->{type} && $h->{size} or $h->{$_} = 0 foreach keys %$h; push @pt, $h; } #- this code is completely broken by null char inside strings, it gets completely crazy :-) # my @pt = mapn { # my %h; # @h{@$fields1} = unpack $format1, $_[0]; # @h{@$fields2} = unpack $format2, $_[1]; # $h{start} = $sector + $h{start_cylinder} * $hd->cylinder_size(); # $h{type} && $h{size} or $h{$_} = 0 foreach keys %h; # \%h; # } [ grep { $_ } split /(.{$size1})/o, $info{infos} ], [ grep { $_ } split /(.{$size2})/o, $info{partitions} ]; [ @pt ], \%info; } # write the partition table (and extended ones) # for each entry, it uses fields: start, size, type, active sub write($$$;$) { my ($hd, $sector, $pt, $info) = @_; # my ($csize, $wdsize) = (0, 0); #- handle testing for writing partition table on file only! local *F; if ($::testing) { my $file = "/tmp/partition_table_$hd->{device}"; open F, ">$file" or die "error opening test file $file"; } else { partition_table_raw::openit($hd, *F, 2) or die "error opening device $hd->{device} for writing"; c::lseek_sector(fileno(F), $sector, $offset) or return 0; } ($info->{infos}, $info->{partitions}) = map { join '', @$_ } list2kv map { $_->{start} % $hd->cylinder_size() == 0 or die "partition not at beginning of cylinder"; # $csize += $_->{size} if $_->{type} != 5; # $wdsize += $_->{size} if $_->{type} == 5; $_->{flags} |= 0x10 if $_->{mntpoint} eq '/'; $_->{flags} |= 0x01 if partition_table::isSwap($_); local $_->{start_cylinder} = $_->{start} / $hd->cylinder_size() - $sector; pack($format1, @$_{@$fields1}), pack($format2, @$_{@$fields2}); } @$pt; # $csize == $wdsize or die "partitions are not using whole disk space"; #- compute the checksum by building the buffer to write and call compute_crc. #- set csum to 0 so compute_crc will give the right csum value. $info->{csum} = 0; $info->{csum} = compute_crc(pack($main_format, @$info{@$main_fields})); syswrite F, pack($main_format, @$info{@$main_fields}), psizeof($main_format) or return 0; sync(); 1; } sub info { my ($hd) = @_; #- take care of reduction of the number of cylinders, avoid loop of reduction! unless ($hd->{geom}{totalcylinders} > $hd->{geom}{cylinders}) { $hd->{geom}{totalcylinders} = $hd->{geom}{cylinders}; $hd->{geom}{cylinders} -= 2; #- rebuild some constants according to number of cylinders. $hd->{totalsectors} = $hd->{geom}{heads} * $hd->{geom}{sectors} * $hd->{geom}{cylinders}; } #- build a default suitable partition table, #- checksum will be built when writing on disk. #- note third partition is ALWAYS of type Whole disk. my $info = { info => "DiskDrake partition table", rspeed => 5400, pcylcount => $hd->{geom}{totalcylinders}, sparecyl => 0, ilfact => 1, ncyl => $hd->{geom}{cylinders}, nacyl => $hd->{geom}{totalcylinders} - $hd->{geom}{cylinders}, ntrks => $hd->{geom}{heads}, nsect => $hd->{geom}{sectors}, magic => $magic, }; $info; } sub clear_raw { my ($hd) = @_; my $pt = { raw => [ ({}) x $nb_primary ], info => info($hd) }; #- handle special case for partition 2 which is whole disk. $pt->{raw}[2] = { type => 5, #- the whole disk type. flags => 0, start_cylinder => 0, size => $hd->{geom}{cylinders} * $hd->cylinder_size(), }; $pt; } 1;