2012-07-02 Niels Rogalla * [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