Anaconda/Changes

This page summarizes significant additions, removals, and behavior changes in anaconda from one version of Fedora to the next. It is not meant as an exhaustive list of all changes, nor does it discuss bug fixes unless those fixes are a serious change. If you see something weird (in a good or bad way) that is not explained below, please let us know so we can consider adding it to this page.

= Fedora 13 to Fedora 14 (as of anaconda-14.19-1) =

Kickstart Changes

 * network --ipv6= and ipv6 values for network --gateway= are now supported.
 * part --grow is no longer supported for partitions of fstype RAID. You must specify the final size you want to use.
 * part --size is no longer required. If you do not specify a size, anaconda will assume the default.
 * url --noverifyssl and repo --noverifyssl allow you to skip verification of the SSL cert check that causes some HTTPS installs to fail.
 * Throughout kickstart, disks may now be referred to via /dev/disk/by-path, /dev/disk/by-label, and /dev/disk/by-uuid in addition to device node names. This is to mitigate the fact that device node names are unstable.  Please see Anaconda/Kickstart.
 * %packages, %pre, %post, and %traceback must now end with a %end token.
 * Deprecated kickstart commands: interactive
 * Removed kickstart commands: key.
 * Removed kickstart options: bootloader --lba32, driverdisk --type, firewall --telnet, logvol --bytes-per-inode, partition --bytes-per-inode --start --end, raid --bytes-per-inode, xconfig --driver --depth --resolution --videoram, zfcp --scsiid --scsilun

For Users

 * anaconda now uses a NetworkManager-based configuration UI for setting up network connections. For DVD/CD installs, using this dialog will result in the network configuration being applied to the installed system as well.  Wireless connections are supported via this interface as well.
 * If no directory is used in stage2=hd:, default to /images/install.img.
 * If the basic devices selection is made, the filter UI will be skipped entirely.
 * Just like with all other forms of installation, NFS installs will also search for updates.img and product.img. Please see Anaconda/Updates.
 * Memory requirements have been increased due to changes in the size of the installation environment and us being more realistic about how much is required.
 * Multipath and RAID support (especially in the filter and clear disks UIs) has been greatly improved.
 * Remote logging is greatly improved. Please see Anaconda/Logging.
 * s390 only: anaconda will offer to format previously unformatted DASD devices.
 * Support for whole-disk formats has been improved.
 * Telnet support has been removed. You can still use ssh to remotely access an installation.
 * The livecd supports xdriver= just like the regular installer.
 * With virtual machine installs it is now possible to have all logs produced during the installation forwarded to the host machine. See Remote logging via virtio.
 * Removed command line options: rootPath, telnet, test, vesa

For Developers

 * anaconda is now a proper Python module, installed under /usr/lib/python?.?/site-packages/pyanaconda. This means you can import it via "import pyanaconda.whatever", instead of using a sys.path hack.  The source layout in git reflects the same layout in the installed package - everything that's part of the module is under pyanaconda/.  This means your old custom scripts to build the updates might no longer produce a working image.  The Makefiles and updates image scripts in scripts/ have been changed to do the right thing.  Please see Anaconda/SourceOverview.
 * anaconda now uses transifex.net for all translations. This removes most everything out of po/ and adds a "tx pull" step before "make archive" and "make scratch". See docs/transifex.txt for more information.
 * "make check" uses pylint instead of pychecker now.
 * There is no more InstData class. Its contents have either been moved into the Anaconda class, moved into other classes if appropriate, or removed entirely.
 * There is very little in /usr/lib/anaconda-runtime anymore. Most things have moved to /usr/share/anaconda or /usr/libexec/anaconda.

For Rebuilders
= Fedora 14 to Fedora 15 (as of anaconda-15.28-1) =

Kickstart Changes

 * $basearch and $releasever in kickstart repo commands will be substituted correctly.
 * If %packages --default is given, still process the rest of the %packages section.
 * list-harddrives again works the same way it did back on RHEL5.
 * network --device= again works the same way it did back on RHEL5.
 * network --gateway= now supports IPv6 addresses.
 * raid --label= works the same way as part --label= or logvol --label=.
 * Repositories in /etc/yum.repos.d that are disabled by default can now be enabled like so: repo --name=reponame.
 * /usr/bin/mknod has been removed. It was just a stub anyway.  Please use /bin/mknod now instead.

For Users

 * / must be on a partition or LV that will be formatted. Reusing an existing / is not allowed.
 * A new logpicker tool has been added to aid in collecting data for bug reports when a traceback does not occur.
 * anaconda will not attempt to mount NTFS filesystems at any point during install or upgrade.
 * anaconda will warn if there are no previous installations to be upgraded. This prevents the user from thinking an upgrade is proceeding when anaconda wants to do an install.
 * s390 only: /boot can now be on LVM.
 * btrfs is a fully supported filesystem.
 * If a GPT boot disk is used on a non-EFI machine, a warning will be displayed.
 * If the custom partitioning selection is made, the two panel clear disk UI will be skipped.
 * install.img has been removed. Everything is now in the initrd.  Related, the stage2= command line parameter has been deprecated.  Please use repo= or method= and point it at the tree to install from, not the stage2 image to use.
 * Installation to disk images via the live installer is now supported.
 * Media check does not run when using netinstall.iso anymore because there is nothing to check.
 * Memory requirements should be quite a bit lower due to the removal of lots of unneeded stuff from the installation environment.
 * Network configuration logging has been improved and will be added to traceback reports in case of errors.
 * noauto entries in /etc/fstab will be ignored and preserved in the final /etc/fstab file.
 * Passing updates= on the bootloader command line now works for live installs too.
 * The device reinitialization dialog has been redesigned to be clearer.
 * The ipv6= command line option can now take a static address argument.
 * The iSCSI login interface has been updated to be easier to use.
 * The livecd will now warn if you do not have enough memory to install.
 * The noeject command line parameter will prevent anaconda from ever attempting to eject a CD/DVD.
 * The partition editor now has a select/deselect all button.
 * The anaconda version number is logged as early as possible.
 * The welcome screen is gone.
 * Commands added to install images ntpdate, rdate, tty, which
 * Removed command line options: btrfs, nousbstorage

For Rebuilders

 * .buildstamp is now a .ini-style file, so any parsers or writers will need to change.
 * EFI images will only be built for x86_64.
 * If building a pre-release version of a distribution, make sure your tools pass --isbeta to buildinstall. anaconda now looks in the .buildstamp file for this information instead of relying on a built-in constant.
 * lorax is now used for generating the installation tree instead of the stuff in scripts/. That older stuff is only being kept around for secondary arches until such time as they have all been converted to using lorax as well.
 * scripts/mk-images and scripts/upd-instroot no longer create an install.img or move files around between /usr/bin and /bin. Files on the initrd now live where they do on the installed system.
 * Split media is no longer a supported installation method. You'll need to use a single CD/DVD or a network source.

= Fedora 15 to Fedora 16 (as of anaconda-16.21-1) =

Kickstart Changes

 * Added support for network --device=ibft.
 * Duplicate VG and MD names will result in an error message being displayed.
 * Multipath devices may be specified by WWID just like any other type of disk. Use the disk/by-id/scsi-* names just like you would use disk/by-id for a regular hard drive.
 * Only network commands with --activate given will be activated during installation.
 * Partitions in the generated /root/anaconda-ks.cfg will now be sorted.
 * There must be a biosboot partition for the bootloader to be installed successfully. This partition may be created with the kickstart option part biosboot --fstype=biosboot --size=1.
 * WPA keys may now be specified via network --wpakey=.

For Users

 * A partition of type biosboot is required for a GPT boot disk on BIOS systems.
 * anaconda will no longer override the ext[234] defaults when running mkfs.
 * btrfs volumes must be at least 256 MB.
 * Default partitioning uses LVM, but you now have the option to use regular partitions instead by unchecking the appropriate box on the partition type screen. This may change in a future release, though.
 * Dependency resolution errors are now logged.
 * grub2 is now the default bootloader, though upgrades will stay with whatever was previously installed.
 * If no RAID devices are configured during installation, a skeleton /etc/mdadm.conf will not be written out.
 * On fresh installs, / must be on a partition or LV that will be formatted. Reusing an existing / is not allowed.
 * RAID0 devices support growing again.
 * Removed command line arguments: ext4migrate
 * s390 now supports upgrading the bootloader configuration.
 * s390 now supports firstboot, so enable it in kickstart.
 * The default bootloader timeout is now five seconds.
 * The gateway= command line argument now supports IPv6 values.
 * The install.log and upgrade.log now include a timestamp for every package.
 * The live installer now has a reboot button, since there is no other way to do that from the desktop.
 * Wireless devices may be configured and used during the loader.
 * x86 uses GPT disklabels by default on all machines, even non-EFI.

For Developers

 * anaconda now uses transifex.net for all translations. This removes most everything out of po/ and adds a "tx pull" step before "make archive" and "make scratch".  See docs/transifex.txt for more information.
 * dogtail support has been removed.
 * scripts/upd-bootiso takes an option to drop to a shell before packing up the image.
 * The booty/ module directory has been replace with a new Bootloader module in pyanaconda/bootloader.py.
 * The following makefile targets have been removed: testiso, src, archive, archive-no-tag.  "release" replaces "archive", and "dist" replaces "archive-no-tag".

For Rebuilders

 * The BETANAG flag has changed from isBeta to isFinal.

= Fedora 16 to Fedora 17 (as of anaconda-17.7-1) =

Kickstart Changes

 * Added autopart --nolvm.
 * Added bootloader --boot-drive=.
 * Added support for BTRFS via the new btrfs command.
 * Free space can be reserved in VGs using volgroup --reserved-space= or volgroup --reserved-percent=.
 * network --ipv6= now supports specifying prefix length.
 * part --fsprofile= is now honored for existing devices too.
 * Partitioning commands in /root/anaconda-ks.cfg should be sorted so they work correctly when being fed back to anaconda.

For Users

 * Add support to the UI for recognizing and displaying BTRFS volumes, but not editing.
 * Always show the cleardisks UI to allow selecting a boot disk.
 * Blacklist all Lenovo BIOS systems from using GPT disklabels.
 * Cap the /boot/efi partition at 200 MB.
 * grub2 is installed when upgrading on x86 machines using BIOS.
 * Handle v0.90 MD metadata on preexisting arrays.
 * Mismatches between /etc/fstab and the filesystem on disk should now be ignored.
 * Run convertfs on upgrades (see Upgrading Using Yum)
 * The ipv6= command line option now supports specifying prefix length.
 * Update PPC SMS BIOS after installation.
 * Added command line options: nogpt

For Rebuilders

 * anaconda no longer ships its own screen fonts.
 * The meaning of the lang-table columes has changed.