2014-07-16 Niels Rogalla * [r2701] VERSION: Bump version to 8.32 * [r2700] grubby.c: Previous ARM 64-bit test had the wrong compiler define for aarch64. * [r2699] new-kernel-pkg: Fix bad check for new-kernel-pkg's command line arguments. * [r2697] ChangeLog: -updated ChangeLog * [r2696] VERSION: Bump release to 8.31 * [r2695] test.sh: grub: Remove a redundant test * [r2694] grubby.c: grub: Fix a crash with kernel line without being preceded by title * [r2693] test.sh, test/extlinux.1[ADD], test/extlinux.2[ADD], test/extlinux.3[ADD], test/extlinux.4[ADD], test/results/add/extlinux1.1[ADD], test/results/add/extlinux1.2[ADD], test/results/add/extlinux1.3[ADD], test/results/add/extlinux1.4[ADD], test/results/add/extlinux2.1[ADD], test/results/args/extlinux1.1[ADD], test/results/args/extlinux1.2[ADD], test/results/default/extlinux1.1[ADD], test/results/default/extlinux1.2[ADD], test/results/default/extlinux3.1[ADD], test/results/default/extlinux3.2[ADD], test/results/remove/extlinux3.1[ADD], test/results/remove/extlinux4.1[ADD], test/results/updargs/extlinux1.1[ADD], test/results/updargs/extlinux1.2[ADD], test/results/updargs/extlinux3.1[ADD], test/results/updargs/extlinux3.2[ADD], test/results/updargs/extlinux3.4[ADD], test/results/updargs/extlinux3.7[ADD], test/results/updargs/extlinux4.2[ADD], test/results/updargs/extlinux4.3[ADD], test/results/updargs/extlinux4.4[ADD], test/results/updargs/extlinux4.5[ADD]: extlinux: Add test suite * [r2692] grubby.c: extlinux: Understand "default" properly * [r2690] ChangeLog: -updated ChangeLog * [r2689] VERSION: Bump version to 8.30 * [r2688] grubby.c: Always choose linux/initrd on efi-only platforms. * [r2687] grubby.c, test.sh: Avoid LT_LINUX_EFI/LT_INITRD_EFI on Aarch64. * [r2686] new-kernel-pkg: Actually /USE/ in new-kernel-pkg. * [r2685] grubby.8, grubby.c, new-kernel-pkg, new-kernel-pkg.8, test.sh, test/grub2.12[ADD], test/grub2.13[ADD], test/results/add/g2-1.12[ADD], test/results/add/g2-1.13[ADD]: Support "devicetree" directive in grub2. * [r2684] new-kernel-pkg: If we're on a zipl-based platform, use --banner passed to us (sanitized.) * [r2683] grubby.c, test.sh, test/grub2.10[ADD], test/grub2.11[ADD], test/results/add/g2-1.10[ADD], test/results/add/g2-1.11[ADD]: Honor "linux16" and "initrd16" * [r2682] grubby.c: -grub2 -> grub fixes * [r2681] new-kernel-pkg: -honor all /etc/os-release files 2013-10-21 Niels Rogalla * [r2266] ChangeLog: -updated ChangeLog * [r2265] VERSION: Bump version to 8.29 * [r2264] Makefile: Use during make install. * [r2263] grubby.c, new-kernel-pkg: If we're using multiboot, add a new mbmodule not an initramfs (#999908) * [r2262] grubby.c: Add support for SUSE grub2 configuration files * [r2261] Makefile: Only set RPM_OPT_FLAGS if undefined. * [r2260] VERSION: Bump version to 8.28 * [r2259] new-kernel-pkg: update extlinux.conf on arm arches if it exists * [r2258] grubby.c: Handle numeric indices in grub2's saved environment. * [r2257] grubby.c, test.sh, test/grub2.9[ADD], test/results/add/g2-1.9[ADD]: Attempt to compensate for shell quoting in grub names. * [r2256] test/grub2-support_files/grubenv.1, test/grub2-support_files/grubenv.2: Fix bad grubenv file. * [r2255] grubby.c, test.sh: If we're using default=saved_entry, and there's nothing saved, it's #0. * [r2254] test.sh: Only run the grub2 test suite on architectures where it's meaningful. * [r2253] VERSION: Bump version to 8.27 * [r2252] grubby.c, test.sh, test/grub2-support_files[ADD], test/grub2-support_files/.gitignore[ADD], test/grub2-support_files/grubenv.0[ADD], test/grub2-support_files/grubenv.1[ADD], test/grub2-support_files/grubenv.2[ADD], test/grub2.7[ADD], test/grub2.8[ADD], test/results/add/g2-1.8[ADD], test/results/debug/g2.1, test/results/defaultindex/1[ADD]: Make grub2's "set default=${saved_entry}" work better (#808021) * [r2251] TODO[ADD]: Add a TODO for a path to modernizing much of grubby's codebase. * [r2250] grubby.c: Don't continue executing after printing the default index. * [r2249] VERSION: Bump version to 8.26 * [r2248] new-kernel-pkg: Conditionally call arm-boot-config's boot.scr generator if available (#952428) * [r2247] VERSION: Bump version to 8.25 * [r2246] grubby.c: Error instead of segfaulting if we can't find any working config (#912873) * [r2245] VERSION: Bump version to 8.24 * [r2244] new-kernel-pkg: Clean up Harald's untested code. (#923441) * [r2243] VERSION: Bump version to 8.23 * [r2242] new-kernel-pkg: new-kernel-pkg: do not remove modules.* files not generated by depmod * [r2241] new-kernel-pkg: new-kernel-pkg: factor out $kernelImage * [r2240] new-kernel-pkg: new-kernel-pkg: simplify argument parsing * [r2239] new-kernel-pkg: new-kernel-pkg: factor out $title generation * [r2238] new-kernel-pkg: Suppress error message in case of an empty /etc/fstab * [r2237] new-kernel-pkg: Fix empty root device in case of an empty /etc/fstab * [r2236] Makefile, grubby.c, log.c[ADD], log.h[ADD], test/results/debug/g2.1: Add logging when things fail. * [r2235] VERSION: Bump version to 8.22 * [r2234] test.sh, test/grub.14[DEL], test/grub.15[DEL], test/results/add/g1.7[DEL], test/results/add/g1.8[DEL]: Revert "Add test case for rhbz#742885" 2013-02-20 Niels Rogalla * [r2061] ChangeLog: Updated ChangeLog * [r2060] VERSION: Bump version to 8.21 * [r2059] new-kernel-pkg: Use systemd vconsole.conf and locale.conf if present (#881908) * [r2058] grubby.c: Spelling fixes. * [r2057] test.sh, test/grub.14[ADD], test/grub.15[ADD], test/results/add/g1.7[ADD], test/results/add/g1.8[ADD]: Add test case for rhbz#742885 * [r2056] grubby.c: Deal with case-insensitive extlinux config file * [r2054] ChangeLog: -updated ChangeLog * [r2053] VERSION: Bump version to 8.20 * [r2052] grubby.c: Fix removals and initrd additions for LT_KERNEL_EFI type entries. * [r2051] new-kernel-pkg: [new-kernel-pkg] pass --efi for removal and adding initramfs images. 2012-10-01 Niels Rogalla * [r1943] ChangeLog: -updated ChangeLog * [r1941] VERSION: Bump version to 8.19 * [r1940] grubby.c, new-kernel-pkg, test.sh, test/grub2.6[ADD], test/results/add/g2-1.6[ADD], test/results/add/g2-1.7[ADD]: Don't accidentally migrate from linuxefi back to linux (#859285) * [r1938] VERSION: Bump version to 8.18 * [r1937] new-kernel-pkg: Change the way the kernel load address is determined for ARM U-Boot. * [r1935] VERSION: Bump version to 8.17 * [r1934] grubby.c: Fix broken alloca()/free() pair. * [r1932] VERSION: Bump version to 8.16 * [r1931] grubby.c: Handle linuxefi and initrdefi lines correctly in grub2. 2012-07-02 Niels Rogalla * [r1870] ChangeLog: -updated ChangeLog * [r1869] Makefile: -make sbindir variable and prepare grubby for usr-move * [r1868] grubby.c: Fix minor memory leak introduced by previous fix. * [r1867] VERSION: Update to 8.15 * [r1866] grubby.c: Revert "Avoid string duplication calling dirname()" * [r1865] VERSION: Bump version to 8.14 * [r1864] Makefile, grubby.c: Fix uninitialized variable error. * [r1863] VERSION: Since we've had a lot of changes, bump version to 8.13 * [r1862] grubby.8: grubby.8: fixes for the grubby man page * [r1861] test.sh, test/grub.12[ADD], test/grub.12-support_files[ADD], test/grub.12-support_files/boot[ADD], test/grub.12-support_files/boot/grub[ADD], test/grub.12-support_files/boot/grub/device.map[ADD], test/grub.12-support_files/etc[ADD], test/grub.12-support_files/etc/SuSE-release[ADD], test/grub.12-support_files/etc/grub.conf[ADD], test/results/info[ADD], test/results/info/g12.1[ADD]: Fix for grub on SuSE systems: test lba and boot info * [r1860] test/grub.13[ADD], test/results/setdefaultindex[ADD], test/results/setdefaultindex/g.13.0[ADD], test/results/setdefaultindex/g.13.1[ADD], test/results/setdefaultindex/g.13.9[ADD], test/results/setdefaultindex/g2.1.0[ADD], test/results/setdefaultindex/g2.1.1[ADD], test/results/setdefaultindex/g2.1.9[ADD]: Add tests for --set-default-index feature * [r1859] grubby.8, grubby.c: Add --set-default-index feature * [r1858] test.sh: 1 isn't a great value for MALLOC_PERTURB_ - use 5265. * [r1857] test.sh: test.sh: enable the use of MALLOC_PERTURB_ * [r1856] test.sh: test.sh: revert bash 4 only syntax change * [r1855] grubby.c: Fix minor style issue. * [r1854] grubby.c: ia64/elilo: add support for probing the currently installed bootloader * [r1853] grubby.c: ppc64/yaboot: add support for probing the currently installed bootloader * [r1852] grubby.c: Fix grub detection on SuSE systems: config file order * [r1851] grubby.c: Invert "isSuseSystem()" test so the suse code is nearer the test. * [r1850] grubby.c: Fix for grub on SuSE systems: lba and boot information * [r1849] grubby.c: Support systems that do not have /boot as a separate filesystem * [r1848] new-kernel-pkg: Update the code to set the ubootAddress. * [r1847] new-kernel-pkg, uboot: Update the ubootDir default. * [r1846] grubby.c: Convert to c99 loop initializations. * [r1845] grubby.c: Avoid string duplication calling dirname() * [r1844] grubby.c: Add "const" specifier to function arguments * [r1843] new-kernel-pkg, uboot: Support UBOOT_IMGADDR override * [r1842] VERSION: Update version to 8.12 * [r1841] grubby.c: Pick the last / device (#826537) * [r1840] grubby.c, test/grub2.2, test/results/add/g2-1.4: Preserve "trailing indentation" when splitting line elements (#742720) * [r1839] VERSION: Update version to 8.11 * [r1838] test/grub2.5[ADD], test/results/add/g2-1.5[ADD]: Fix failures with grub 2.00~beta2 and 8.10, and add a test case. * [r1837] grubby.c, test.sh: Fix failures with grub 2.00~beta2 and 8.10, and add a test case. 2012-04-16 Niels Rogalla * [r1805] ChangeLog: updated ChangeLog * [r1804] VERSION: version 8.10 * [r1803] new-kernel-pkg: Explicitly check for Grub2 on ppc * [r1802] grubby.c: Try to find grub2 config first * [r1801] grubby.c, test.sh, test/grub2.3[ADD], test/grub2.4[ADD], test/results/debug/g2.1, test/results/remove/g2-1.1[ADD], test/results/remove/g2-1.2[ADD]: Make --remove-kenrel support titles in grub2 (and other fixes) * [r1800] grubby.c: Use "isquote" where appropriate. 2012-03-03 Niels Rogalla * [r1778] new-kernel-pkg: -support /etc/os-release * [r1772] ChangeLog: -udpated ChangeLog * [r1771] VERSION: -version 8.9 * [r1770] new-kernel-pkg: Add support to new-kernel-pkg to recognize ARCH == armv5tel needed for Kirkwood based systems. 2012-02-18 Niels Rogalla * [r1757] new-kernel-pkg: -let the menuentries match our grub-cosmetic patch * [r1756] new-kernel-pkg: -fix a infinite loop caused by dropping the path prefix of mkinitrd * [r1754] ChangeLog: updated ChangeLog * [r1753] VERSION: -version 8.8_20120218 * [r1752] new-kernel-pkg: new-kernel-pkg fails to find U-Boot. new-kernel-pkg fails to find U-Boot if the boot directory is not on a separate partition. This only affects the U-Boot image creation section of the new-kernel-pkg script, for ARM based systems. My initial changes were only tested on specific ARM-OMAP systems that required a specific U-Boot partition. Testing on additional systems (ARM-Tegra) revealed this incorrect assumption. The attached patch includes the following: - Cosmetic: Correction - change uBoot to U-Boot in comments. - Additions: -- Recognize ARCH == armv7hl -- Make U-Boot load/execute address variable (based on machine) -- Bug: Correct invalid assumption that the U-Boot directory would always be on a separate partition. * [r1751] grubby.c: Try to display title when printing information with '--info' Signed-off-by: Cleber Rosa * [r1750] grubby.c: Fix endswith() to correctly test its input for validity. * [r1749] installkernel, new-kernel-pkg: Fix hard coded paths so kernel's "make install" will DTRT. * [r1748] grubby.c: Implement support for "default saved" for grub2 Signed-off-by: Cleber Rosa * [r1747] grubby.c: Include prefix when printing kernel information When running grubby with '--info=', the initrd is displayed with the boot prefix, so, for correctness, also include it in the kernel line. Signed-off-by: Cleber Rosa * [r1746] grubby.c: Refactor grub2 title extraction, making it a function '--default-title' now uses that functions, but others such as '--info' could, IMHO, also display the title and thus, use the refactored function. Signed-off-by: Cleber Rosa * [r1745] grubby.c: Include a / when one is missing in paths (#769641) * [r1743] ChangeLog: updated ChangeLog * [r1742] VERSION: -version 8.8 * [r1741] test.sh: Fix new test case to not care if /boot is a mountpoint... * [r1739] ChangeLog: updated ChangeLog * [r1738] VERSION: -version 8.7 * [r1737] test.sh, test/results/debug[ADD], test/results/debug/g2.1[ADD], test/results/debug/g2.1.2[ADD]: Add a test case for --debug. Make sure --debug works as expected in both successful and failed attempts. * [r1736] grubby.8, grubby.c: grubby: Add --debug option to annotate "suitable template" failures Today, when grubby fails with "no suitable template found" the user has no idea why that might be. These can fail for several reasons. So add a --debug option to print out the line in grubby.c where it failed, a text message describing the failure, and a copy of the bootloader entry that failed, to aid investigation. Signed-off-by: Eric Sandeen * [r1734] ChangeLog: updated ChangeLog * [r1733] VERSION: -version 8.6 * [r1732] test/results/remove/g2-1.4: Fix another test broken by 4bb88f93e6c7cf432e354a164fce8743794a * [r1730] ChangeLog: updated ChangeLog * [r1729] VERSION: -version 8.5 * [r1728] new-kernel-pkg: Don't hardcode dracut path. (#768645) dracut moved from /sbin to /usr/bin, so fix that, but also it's pointless to hardcode what's in PATH. * [r1727] grubby.c, test.sh, test/results/remove/g2-1.4[ADD]: Use dummy entries for text following kernel entries so it is preserved (#744717) Signed-off-by: Adam Williamson * [r1726] test/results/defaulttitle/g2.1: Fix up one test result for changes from 4bb88f93e6c7cf432e354a164fce8743794a84a5 * [r1724] ChangeLog: updated ChangeLog * [r1723] VERSION: -version 8.4 * [r1722] grubby.c, test/grub2.1, test/results/add/g2-1.1, test/results/add/g2-1.2, test/results/add/g2-1.3: Update "echo 'Loading..." messages to the new kernel version grub2-mkconfig will create lines like: echo 'Loading Linux 3.1.0-0.rc6.git0.0.fc16.x86_64 ...' - depending on the content of /etc/default/grub. grubby would recognize these lines and replace them with lines with the right version number such as: echo 'Loading Fedora (3.1.0-0.rc6.git0.0.fc16.x86_64)' these lines were however not recognized by grubby and would not be updated on next kernel update when this entry would be used as template. With this patch grubby will no longer look for a specific title but patch any "echo 'Loading" line immediately before the kernel line. Signed-off-by: Adam Williamson * [r1721] grubby.8, grubby.c, test.sh, test/results/defaulttitle[ADD], test/results/defaulttitle/g.1[ADD], test/results/defaulttitle/g.10[ADD], test/results/defaulttitle/g.11[ADD], test/results/defaulttitle/g.2[ADD], test/results/defaulttitle/g.3[ADD], test/results/defaulttitle/g.4[ADD], test/results/defaulttitle/g.5[ADD], test/results/defaulttitle/g.6[ADD], test/results/defaulttitle/g.7[ADD], test/results/defaulttitle/g.8[ADD], test/results/defaulttitle/g.9[ADD], test/results/defaulttitle/g2.1[ADD], test/results/defaulttitle/g2.2[ADD]: Add new '--default-title' feature. This displays the title of the default entry directly from the parsed configuration file. Signed-off-by: Cleber Rosa * [r1720] grubby.8, grubby.c, test.sh, test/results/defaultindex[ADD], test/results/defaultindex/0[ADD], test/results/defaultindex/2[ADD]: Add new '--default-index' feature. This displays the (numeric) index of the default entry directly from the parsed configuration file. Signed-off-by: Cleber Rosa * [r1719] test.sh: test.sh: add feature for testing the output of a grubby command Instead of comparing the configuration file that gets generated by a grubby command Signed-off-by: Cleber Rosa * [r1718] grubby.c: GRUB: Fix detection by increasing offset when comparing stage1 to MBR A couple of instructions of grub's stage1 get modified when copied to the MBR (replaced by NOOPs). Check for this condition, and skip these bytes while compare stage1 and MBR. Signed-off-by: Cleber Rosa * [r1717] grubby.c: Don't crash if grubConfig not found. I trigger this crash on my system. It has syslinux and no grub. Signed-off-by: Christopher Li * [r1716] new-kernel-pkg: Adding extlinux support for new-kernel-pkg Signed-off-by: Christopher Li * [r1715] grubby.c: Look for other possible grub config files Since debian and Ubuntu don't symlink /boot/grub/menu.lst to /etc/grub.conf, make it possible to look them over on this original location as well. Signed-off-by: Lucas Meneghel Rodrigues * [r1714] grubby.c: Make grubby to recognize Ubuntu's spin of Grub2 We are looking to use grubby as a bootloader entries manager for the autotest project: http://autotest.kernel.org/ The project aims to cover more distros than just red hat based ones, so this small patch fixes the tool under Ubuntu. They have chosen to name grub2 grub, in all directory references. Also, they don't make symlinks of grub config files on /etc. So, adapt the code to take into consideration this behavior. Changes from v1: * Removed nested set of {} * Made the return in case /etc/grub.d is found indented * Moved the dbgPrint("not found\n") statement before the last return. Also, put a new dbgPrint("found\n") if we've found a suitable grub2 config file ubuntu/debian style. Signed-off-by: Lucas Meneghel Rodrigues * [r1712] ChangeLog: updated ChangeLog * [r1711] VERSION: -version 8.3 * [r1710] new-kernel-pkg: Fix new-kernel-pkg invocation of grubby for grub (bz 725185) new-kernel-pkg did not specify --grub when it called grubby to update the kernel entry with an initrd. Grubby would then try to probe what to do and would give preference to grub2 and thus leave an incomplete grub entry. new-kernel-pkg did also not specify the grub config file explicitly to grubby as it do for the grub2 config file. That could perhaps in some situations cause grubby to do something else than new-kernel-pkg expected. Now --grub -c $grubConfig is specified explicitly in all cases. * [r1708] ChangeLog: updated ChangeLog * [r1707] VERSION: -version 8.2 * [r1706] new-kernel-pkg: Read HYPERVISOR and HYPERVISOR_ARGS from /etc/conf.d/grubby and set mbkernel and mbargs Signed-off-by: W. Michael Petullo * [r1704] ChangeLog: updated ChangeLog * [r1703] VERSION: -version 8.1 * [r1702] new-kernel-pkg: Fix a miss-spelled variable name. "grub2Config", not "grub2Cfg". * [r1700] ChangeLog: updated ChangeLog * [r1699] VERSION: -version 8.0 * [r1698] test.sh, test/grub2.1[ADD], test/grub2.2[ADD], test/results/add/g2-1.1[ADD], test/results/add/g2-1.2[ADD], test/results/add/g2-1.3[ADD], test/results/add/g2-1.4[ADD]: Add some limited test cases for grub2. * [r1697] new-kernel-pkg: Update grub2 support to new-kernel-pkg This uses grubby for grub2 on efi and non-efi machines. 2012-02-17 Niels Rogalla * [r1696] grubby.c: Add grub2.cfg support to grubby. * [r1695] Makefile: Add -ggdb * [r1694] Makefile, grubby.c: Tweak some make options. Some functions are only used in dbgPrintf() arguments. As such, errors/warnings on unused functions need to be disabled. Also, use -std=gnu99. Also, add a debug target. * [r1693] grubby.c: Rename entrySeparator to entryStart. Since we're actually using it to detect the start of an entry (and specifically not the end), name this slightly better. * [r1692] grubby.c: Convert configFileInfo structs to C99-style initializers. Get rid of the old initializers where struct names were commends, in favor of C99-style assignment, so new fields can be put at logical places without having to change the whole file. * [r1691] new-kernel-pkg, uboot[ADD]: Add uboot support for ARM (#712199) 2011-07-19 Niels Rogalla * [r1433] ChangeLog[ADD]: -added ChangeLog * [r1432] VERSION: -version 7.0.18 - upstream fixed grub2 errors in new-kernel-pkg, which we already done in our port of 7.0.17. ver up to be in sync with upstream * [r1431] new-kernel-pkg: -we install grub2 without '2' suffix 2011-06-03 Niels Rogalla * [r1341] VERSION: -version 7.0.17.1 * [r1340] installkernel: -be dracut friendly * [r1339] Makefile: -added installkernel{,.8} * [r1338] installkernel[CPY], installkernel.8[CPY]: -copied from magellan-mkinitrd * [r1336] VERSION: -version 7.0.17 * [r1335] Makefile: -adjusted Makefile to use grubby's version file * [r1334] new-kernel-pkg, new-kernel-pkg.8: -be more dracut and plymouth friendly * [r1333] make-tarball.sh[ADD]: -added make-tarball script * [r1332] .[CPY], Makefile[CPY], VERSION[CPY], grubby.8[CPY], grubby.c[CPY], new-kernel-pkg[CPY], new-kernel-pkg.8[CPY], test.sh[CPY], test/elilo.1[CPY], test/elilo.2[CPY], test/results/add/g1.5[CPY], test/results/add/g1.6[CPY], test/results/add/y3.1[CPY], test/results/multiboot/e1.1[CPY], test/results/multiboot/e1.2[CPY], test/results/multiboot/e2.1[CPY], test/results/multiboot/e2.2[CPY], test/results/multiboot/e2.3[CPY], test/results/updargs/g3.7[CPY], test/results/updargs/g7.5[CPY], test/yaboot.1[CPY], test/yaboot.2[CPY], test/yaboot.3[CPY]: -forkin standalone grubby 2010-12-15 Niels Rogalla * [r1183] -fixed missing man-pages * [r1178] -added missing man page * [r1177] -added check for return value of getuuidbydev() - resolves a segfault if the device does not exist - see rhbz#592294 2010-09-14 Niels Rogalla * [r1156] -merged with upstream: -update initrd support -better rootdev handling -better support for uuids * [r1153] -install grubby man-page * [r1152] -fixed a typo 2009-11-17 Niels Rogalla * [r937] -fixed missing mandir variable 2009-10-28 Niels Rogalla * [r926] -read grub options from /etc/conf.d/grub * [r925] -read config from /etc/conf.d/grubby * [r924] -updated style * [r923] -pulled in new version from fedora (7.0.8) with update support -removed dracut and fedara specific stuff -fixed to work with magellan * [r920] -fixed grub.conf default location * [r917] -we not providing installkernel here * [r914] -updated grubby to version 7.0.8 from fedory with blkid support 2009-04-24 Niels Rogalla * [r819] -converted cvsignore to svn:ignore propset 2007-09-02 Niels Rogalla * [r547] -fixed CFLAGS 2007-09-01 Niels Rogalla * [r532] -import if magellan mkinitrd; it is a fork of redhats mkinitrd-5.0.8 with all magellan patches and features; deprecates magellan-src/mkinitrd