Those symlinks make it easier to build Kali images with debian-cd.
They are pointing to "sid" so that they are automatically updated
when the underlying symlink is updated. It makes senses since Kali
is a rolling distribution based on Debian Testing.
Only export WGET_OPTS="--ca-directory /etc/ssl/ca-debian/" when this
directory actually exists, making it easier to use debian-cd on non-
debian.org machines.
CD creation fails with "disk full", because of rounding errors.
The minimum size of data-allocation is a 'cluster', which is a
power-of-two multiple of sectors.
mkfs.msdos chooses minimum FAT and cluster size for image: FAT12<16G
mkfs.msdos uses block-count where a block is 1024 B, but must be rounded
up to track_size with 32 sectors.
Round up each file to clusters before summing.
A sub-directory entry needs 1 cluster minimum.
Previous changes enabled gzip compressed Linux kernels, but not 100%
sure that it works on all systems. Disable this compression for now.
Switch hppa to use xorriso by default instead of mkisofs. Xorriso
supports kernel command lines to be up to 1023 bytes, better than
mkisofs. mkisofs only supports the older palo version 4 header format
which can hold only 127 characters which might be too small.
Currently the ins loader (mostly HMC loading into an LPAR) only
supports kernels up to 8 MiB. The jessie kernel has 11 MiB, which
does not fit and hence gets its tail overwritten by the initrd
(root.bin) loaded at this address. This change bumps the load
address to 16 MiB, which should allow for some more growth of
the kernel.
Signed-off-by: Philipp Kern <pkern@debian.org>
Object code only modules date back to 2.2 and 2.4 kernel times, when
IBM did not release the source to certain kernel modules. Since many
years everything needed to boot and run the machine is actually
open source. It also got broken due to the kernel growing larger and
adding the oco.bin would overwrite parts of the kernel.
It's safe to say that nobody is actually using this.
Replace "alpha" with "a" and "beta" with "b". We've only got 32
characters to use here, so we need to shorten this. This way we can
specify DEBVERSION as a useful long string like "stretch-DI-alpha1" as
a version to appear in file/directory names, but without overflowing
at the VOLID level. May need more tweaks later here, but for now this
seems to do what we need.
FTAOD: this won't change "alpha" in the architecture name, as that is
added later.
Previously, the code would only check sizes for packages explicitly
listed but packages brought in due to dependency resolution would not
be checked. Now fixed.
Call cpp directly on our input task file instead of using it in a
pipeline. Not clear why this was ever done, and it obscures errors
like ENOENT (if the specified task file is missing).
When we've got multiple copies of the same initramfs hard-linked
together, gzip gets unhappy when we start modifying things
later. Explicitly break the links to fix that.
Provide hashes for uncompressed Translation-* files, and remove the
uncompressed versions from the output disc. Closes: #767253. Initial
patch from Michael Vogt - thanks!
d-i has removed these files now, so don't look for them for kernel
params. Closes: #767223, #766411. Thanks to Prema and Vagrant for
(identical!) patches. :-)
tasksel now allows selecting the desktop, and d-i has dropped the boot
menu desktop selection, so we no longer need to have desktop boot
menus on CDs.
CD images for specific desktops (xfce/kde/mate/etc) should still
override the default tasksel desktop.
Use "apt-cache show" instead of "dumpavail" in the Makefile.
Using "dumpavail" dumps all packages, while we're only interested in one
specific package. This wasts a log of cycles and time when many packages
need fixing.
Use "show $pkg" to directly dump only the requested package.
Use "--no-all-versions" to show only the candidate for installation.
Closes: #759343. Thanks to Philipp Hahn for the patch.
The code was assuming that the first line of output was something like
this (and this is the case of the cd builder machine that uses a custom
built xorriso):
> GNU xorriso 1.2.6 : RockRidge filesystem manipulator, libburnia project.
But the output of the version packaged in Debian does not have the GNU
string:
> xorriso 1.3.2 : RockRidge filesystem manipulator, libburnia project.
We fix this issue by extracting the version from the line starting with
"xorriso version" which does not have this discrepancy.
debian-installer now has extra steps to create a grub_embed file which
can be passed to xorriso's --embedded-boot option. Add corresponding
code in debian-cd to use it to make images USB bootable.
Patch from Samuel Thibault.
I removed this and more earlier while cleaning out undocuented cruft. (I
have not added back module-assistant so far, since it needs build-essential
which would pull in additional dependencies.)
When making a custom server netinstall ISO, it may be desired to not
have MS Windows files. Unfortunately there's currently no check for
loadlin.exe, so install.bat gets created regardless. Fix this.
debian-cd currently expects there to always be isolinux/desktop/*
files and a dtmenu.cfg file, failing if they are missing. Make it so
debian-cd can cope whether those files are present or not.
--no-check-gpg option; we're not going to support debootstrap versions
so old that they don't support this flag, *and* the dpkg-query call
doesn't give us the right version anyway - we're using an extracted
copy from the archive, not the one that (might be) installed on our
build machine.
Use ARCHIVE_KEYRING_PACKAGE and ARCHIVE_KEYRING_FILE parameters
and always use the unpacked keyring instead of the system-wide one.
Thanks to Robert Spencer <rspencer@lbsd.net> for the patch.
better safety when extracting boot loader files.
* Update all the relevant boot-* scripts to do the right thing when
extracting packages and sources, depending on
$ARCHIVE_EXTRACTED_SOURCES as above
Steve pointed out that this lookup is only here so that helper scripts
can grab those sources and make them available in a public location
such as http://cdimage.debian.org/cdimage/cd-sources/. The sources are
not embedded in the generated ISO and are thus not strictly needed
for building the ISO image.
This should happen even when we're not building source ISOs but it's
not needed if we don't have any similar policy in place. Thus CONF.sh
is now leaving $ARCHIVE_EXTRACTED_SOURCES unset by default and the
source will only be looked up if that value is set.
+ tools/sort_deps: parse out Built-Using from Packages files too and
pass any such data on to tools/merge_package_lists
+ tools/merge_package_lists: if we have any built-using source
packages listed when doing a combined binary/source set, add them in
the same way as existing listed sources.
* Other bug fixes in tools/merge_package_lists:
+ Fix handling of multi-line Binary: fields
+ Print out the accumulated size of source packages in output also
(fix to printf format string)
versions of a source package:
+ make_disc_trees.pl now tracks arrays of packages when parsing
apt-cache output
+ We'll now pull in all the extra packages included in Sources.gz
because of Built-Using.
had a limited set of hard-coded menu entries - this was buggy and
didn't take into account all the possible boot variations. Now parse
the isolinux menus already provided in the d-i build and generate
equivalent grub menus, complete with themes for a reasonable layout
with graphics and titles.
+ Check all the architectures available in the archive if we're not
specifically told which to use (e.g. on source builds)
+ If we fail to find packages/sources for the specified package, say
so and bail out properly.
+ Use/parse output from a newer version of apt so that "apt-cache
depends" will include version information on dependencies.
+ All tracking of packages now include versions, so we pass around
hashes of {package name, comparison op, version} everywhere instead
of simply passing package names as strings.
+ Add the APT::Cache::ShowVersion=1 option to apt-cache calls to
turn on version reporting. Needs a locally-patched version of apt
*for now*, but expecting that to be fixed for the Wheezy
release. The new code degrades gracefully if version info is not
available.
+ Add a dependency on libdpkg-perl for version comparison code.
+ Pull in grub-efi for amd64 and i386
+ Lots of extra code in boot-x86:
- pull grub EFI pieces out of the latest debian-cd_info.tar.gz
blobs in d-i, if they're there. If so, use them to make x86 images
bootable via EFI (both via CD and USB)
- generate boot entries for grub on the fly; temporary code for now,
will switch to parsing the isolinux entries shortly instead.
- depending more and more on xorriso rather than genisoimage...
+ Track whether a dependency chain is caused by a hard dependency
(Depends) or soft (Recommends/Suggests). If we fail to add a package
down the chain on a *soft* dependency, don't invalidate the entire
chain.
+ When checking OR dependencies, *first* check to see if any of the
options are already installed *before* trying to install the first
option. Helps a lot with circular deps such as task-lxde-desktop ->
task-desktop -> (task-gnome-desktop | task-lxde-desktop | etc.); in
this case, of course task-lxde-desktop should satisfy the OR dep.
menu (pulled in by desktop tasks),
aptitude (pulled in by debootstap, and may be demoted to optional),
alsa-utils, alsa-base (pulled in by task-desktop),
mdetect, read-edid (no longer used by xorg),
grub (handed by generate_di+k_list),
deborphan, debfoster, localepurge (expert user stuff),
chdrvfont (no such package any more)
* Updated generate_di+k_list to match more closely the current
packages d-i apt-installs.
+ removed architectures: alpha arm hppa
+ removed releases: etch lenny
+ removed unversioned data/sparc and data/yaboot, versioned
equivalents are in place already.
+ Switch to “3.0 (native)” source format to get rid of .svn
directories in the source package (when built from the svn checkout
directly)
+ Support build-arch/build-indep targets in debian/rules.
+ Drop executable rights from tools/boot/wheezy/boot-hurd
(and fix debian/rules to not re-add it).
+ Bump Standards-Version to 3.9.2 (no change required).
Falls back to old location so update_tasks can still be used with old
tasksel.
This does not deal with most of the task information being removed from
debian-tasks.desc. The file still has Key fields, that now list the task-*
packages, and the packages Depend on the crucial packages for the task.
So to that extent it should continue to work.
However, with NORECOMMENDS set, the Recommended other packages for tasks
won't be included on CD. This still needs to be dealt with, probably by
adding all packages listed in Recommends of task-* packages to the
generated task list files.
+ Removed all mention of 686-bigmem as it's now gone
+ Moved 686 to interesting-fromcd23
+ Added 686-pae onto CD#1 in place of 686
+ Leave the 486 kernel on CD#1 still, for people who can't use 686-pae
report errors instead of silently failing.
Split out the code for starting a new disc into a function.
Pick up on a potential bug: if we finish the last (expected) disc with
a backed-out file, make sure we create another imaget to include that
file too.
gets out of date, look for firmware/microcode files directly in the
Packages file. Check for things installing in /lib/firmware, and add
those packages.
+ Remove the old non-US stuff from it, it's not been needed in years.
+ Cope with .bz2 source files too.
+ Merged and simplified the old functionality from scansources.old
and scanpackages.old into the new script create_control.
+ Makefile: Add support for overriding the MKISOFS and MKISOFS_OPTS
variables on a per-arch basis
+ CONF.sh: add working examples for this
+ tools/boot/squeeze/boot-x86: if configured to use xorriso, add the
extra command line options to add the isohybrid MBR. Also work
around a difference in ISO directory naming between genisoimage and
xorriso.
Detect duplicates in the extra images used for installation
Several files included under install.{386,amd} are actually identical to
others. Rather than duplicating them attempt to detect this and hardlink
them.
Since images can be downloaded from the web at build time it is not
always possible to detect identical files by looking for the symlinks
created by the debian-installer build. Instead we pass a list of
potential "doppelgangers" to extra_image each of which is checked for
similarity to the new image.
I added gtk/vmlinuz (which is always the same as plain vmlinuz) which
although not necessary makes it more explicit which kernel goes with the
initrd at very little cost.
Hardlinks are used in preference to symlinks since these are expected to
work better with isolinux and the Xen tools.