summaryrefslogtreecommitdiff
path: root/meta/classes/syslinux.bbclass
AgeCommit message (Collapse)AuthorFiles
2016-12-16meta: remove True option to getVar callsJoshua Lock1
getVar() now defaults to expanding by default, thus remove the True option from getVar() calls with a regex search and replace. Search made with the following regex: getVar ?\(( ?[^,()]*), True\) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-10-03syslinux.bbclass: Use bb.fatal() instead of raising FuncFailedUlf Magnusson1
This sets a good example and avoids unnecessarily contributing to perceived complexity and cargo culting. Motivating quote below: < kergoth> the *original* intent was for the function/task to error via whatever appropriate means, bb.fatal, whatever, and funcfailed was what you'd catch if you were calling exec_func/exec_task. that is, it's what those functions raise, not what metadata functions should be raising < kergoth> it didn't end up being used that way < kergoth> but there's really never a reason to raise it yourself FuncFailed.__init__ takes a 'name' argument rather than a 'msg' argument, which also shows that the original purpose got lost. Signed-off-by: Ulf Magnusson <ulfalizer@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-04image: Deploy images to IMGDEPLOYDIREd Bartosh1
Changed deployment directory from DEPLOY_DIR_IMAGE to IMGDEPLOYDIR to make sstate machinery to do final deployment and generate manifest. Renamed variable deploy_dir to deploy_dir_image in selftest code to avoid confusion with DEPLOYDIR variable. Updated the code of rootfs.py:Rootfs class to use IMGDEPLOYDIR variable as it's now used as a new deployment destination. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-20syslinux.bbclass: ensure creation of output directoryEd Bartosh1
build_syslinux_cfg function creates syslinux configuration file. The code assumes that the output directory exists, which is not always the case. For example rm_work task removes rootfs directory structure and causes build_syslinux_cfg to fail with this error: Unable to open ../<image>-<version>/syslinux_vm.cfg Made build_syslinux_cfg depend on output directory to ensure that directory is created before running the function. [YOCTO #10159] Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-07meta/classes: fix bb.build.FuncFailed typosJonathan Liu1
Signed-off-by: Jonathan Liu <net147@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-06-02syslinux.bbclass: Added configurable SYSLINUX_ALLOWOPTIONS variableDavis, Michael1
The new variable allows for images to be created without an editable boot line in syslinux. Default behavior remains unchanged. Signed-off-by: Michael Davis <michael.davis@essvote.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-16classes/oeqa: Update for print statements and file() -> open() for python3uninative-1.0Richard Purdie1
Found some more syntax cleanups needed for python3. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-19syslinux.bbclass: Remove APPEND from variable dependencyOtavio Salvador1
The value of APPEND is already being tracked and does impact on the generated configuration file. This reverts the OE-Core:3c2d7ae5 commit as it is not need anymore. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-19syslinux.bbclass: The AUTO_SYSLINUXMENU value needs to be booleanOtavio Salvador1
The python code expects AUTO_SYSLINUXMENU to be a boolean value, otherwise the logic fails. This fixes the code comparing the value to "1" which is the value expected by the shell script code, counterpart. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-03grub-efi.bbclass: use GRUB_ROOT rather than APPEND for root deviceRobert Yang1
Use APPEND for grub's root device may cause confusion, for example, when building efi + pcbios, there maybe be two root=/dev/ram0, one of them would be carried to the installed target, and the target would fail to boot. Use GRUB_ROOT to fix the problem, and remove SYSLINUX_ROOT from APPEND will fix the problem. [YOCTO #9354] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-24bootimg.bbclass: only inherit syslinux when pcbiosRobert Yang1
syslinux.bbclass should not be seen when use efi. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-03-24bootimg.bbclass: fix settings for grub-efi.bbclassRobert Yang1
Fixed: - Found potential conflicted var LABELS ... Set LABELS to "boot install" would build out broken images when build vm + live together, use set_live_vm_vars() to fix the problem. - Use ROOT and LABEL in boot-directdisk.bbclass and image-foo.bbclass, they are not only used by syslinux.bbclass, but also grub-efi.bbclass, add "SYSLINUX_" prefix would mislead users. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-03-02syslinux.bbclass: make vm and live can be built togetherRobert Yang1
* The vm image(hdddirect, vmdk, qcow2, vdi) and live image (hddimg, iso) couldn't be built together because the following vars settings are conflicted: - SYSLINUX_ROOT (/dev/sda2 vs /dev/ram0) - LABELS (boot vs boot install) - INITRD (None vs live install) - SYSLINUX_CFG (see above) Introduce new vars (SYSLINUX_ROOT_VM/_LIVE, the samilar to others) to make them can work together, now we can build all of them together: IMAGE_FSTYPES += "live iso hddimg hdddirect vmdk qcow2 vdi" * Use SYSLINUX_CFG rather than SYSLINUXCFG to keep align with others SYSLINUX vars. * The SYSLINUX_TIMEOUT had been set, but it didn't work since AUTO_SYSLINUXMENU wasn't set, this would cause confusions, so also set AUTO_SYSLINUXMENU. * Move SYSLINUX_PROMPT and SYSLINUX_TIMEOUT to syslinux.bbclass rather than in separate classes since they are the same. * Set SYSLINUX_TIMEOUT to 50 to have a unique timeout for syslinux. [YOCTO #9161] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-09-06boot loader: support root=UUIDPatrick Ohly1
As mentioned when introducing the VM images (https://bugzilla.yoctoproject.org/show_bug.cgi?id=7374), the resulting images only work when the image is mounted as a disk that results in the hard-coded path (/dev/sda in the current default). Using the file system UUID to find the rootfs is more flexible. To enable this for boot-direct.bbclass and thus image-vm.bbclass (aka FSTYPEs vdi/vmdk/qcow2), set SYSLINUX_ROOT = "root=UUID=<<uuid-of-rootfs>>". The rootfs image must use an ext file system. The special string will get replaced in the APPEND line with the actual UUID when the boot loader (grub-efi, syslinux or gummiboot) writes the boot loader configuration files. At that time, the rootfs image has already been created and its UUID can be extracted using "tune2fs -l", which also should be available because the e2fsprogs-native tools were needed to create the image in the first place. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-02INITRD var: make it a list of filesystem imagesNitin A Kamble1
The initrd image used by the Linux kernel is list of file system images concatenated together and presented as a single initrd file at boot time. So far the initrd is a single filesystem image. But in cases like to support early microcode loading, the initrd image need to have multiple filesystem images concatenated together. This commit is extending the INITRD variable from a single filesystem image to a list of filesystem images to satisfy the need mentioned above. Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-24syslinux.bbclass: Ensure MLPREFIX is applied to depends flagMing Liu1
Add MLPREFIX to depends flag to ensure the correct syslinux is dependended upon. Signed-off-by: Ming Liu <ming.liu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-30syslinux.bbclass: Enable additional kernel parameters for syslinuxKonrad Scherer1
Add additional parameter 'SYSLINUX_KERNEL_ARGS' in order to allow for specific kernel parameters to be set when using syslinux. The extra kernel parameters are added to btype[1] and then written out as part of the APPEND field. Signed-off-by: Konrad Scherer <Konrad.Scherer@windriver.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-11-12syslinux: add APPEND to dependency listRoss Burton1
Changing APPEND wasn't causing syslinux to re-run, so add a manual dependency. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-10-31syslinux.bbclass: Fix default serial port stringJason Wessel1
The default value of SYSLINUX_SERIAL_TTY is not correct. It should be console=ttyS0,115200 else the boot string generated in the syslinux menus for the serial choice is not correct. The kernel boot parameters will get set to: /vmlinuz initrd=/initrd LABEL=boot root=/dev/ram0 ttyS0,115200 Note that the above is missing the "console=" The default value will now work the same as the value found in grub-efi.bbclass. Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-09-26boot-directdisk.bbclass: Fix media generation problems with vmdkJason Wessel1
The various populate methods need to accept a path as an argument vs using hard expanded variables. In the case of the boot-directdisk class it uses a different path for HDDDIR but it gets eclipsed by the the class definition at the point in time ${HDDDIR} gets expanded. The logical fix is to pass the arguments to the functions as opposed to using globally expanded variables from the class definitions. This patch changes 3 things: 1) syslinux_hddimg_populate takes an argument for the destination 2) syslinux_iso_populate takes an argument for the destination 3) populate is changed to boot_direct_populate because there was a conflict with it overriding the populate in bootimg.bbclass [YOCTO #3994] Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-26syslinux.bbclass, syslinux: Update to syslinux 6.01Jason Wessel1
A newer version of syslinux is required for an EFI enabled isohybrid. This is used for the the capability to generate 3 types of ISO images, all of which can be booted off a USB device or HDD if copied with dd. 1) PC BIOS only ISO 2) EFI only ISO 3) EFI + PC BIOS ISO The syslinux.bbclass required a minor tweak because a few .c32 libraries require dynamic loading from the created media as of syslinux 5 and up. This was a good time to also fix the duplication of the AUTO_SYSLINUXMENU block. [YOCTO #4100] Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-26syslinux.bbclass: Fix hard coding of console=tty*Jason Wessel1
The SYSLINUX_SERIAL variable was hard coded and occasionally needs to be different for the kernel argument vs the syslinux argument. In the auto-generated boot mode console=tty0 was hard coded, and this is not needed at all, and causes problems in some cases if a end user wanted to change the console=... via the kernel boot argument APPEND mechanism. The default can be forced with SYSLINUX_DEFAULT_CONSOLE for systems that need a special specification to enable the frame buffer instead of a serial port. [YOCTO #3944] Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14boot-directdisk: Allow for EFI-only boot direct disk imagesJoão Henrique Ferreira de Freitas1
Condition building PCBIOS legacy images on MACHINE_FEATURES containing "pcbios" or not containing "efi". This ensures existing BSPs will continue to get the old PCBIOS legacy-only images. New BSPs can add "efi", "pcbios", or both. The images created likewise support one or the other or both. Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-16syslinux: Update to 4.06Jonathan Liu1
Patches are now part of upstream or no longer needed. Added new util-linux dependency for isohybrid. Paths updated to reflect directory structure changes. Add CFLAGS and LDFLAGS overrides. [YOCTO #4438] Signed-off-by: Jonathan Liu <net147@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-03-18syslinux.bbclass: Add a default serial console option and real boot menu supportJason Wessel1
The previous syslinux menu code did not support using both a serial and vga console, but this has worked for years in syslinux so there is no reason not to take advantage of it. The previous menu looked like: ------------------------------------------------------- Linux Boot Menu The following targets are available on this image: boot: None install: None ------------------------------------------------------- This commit makes it look something more like a traditional grub menu on both the serial console and vga console as well as providing the option to continue on using either the serial or vga console with the correct kernel arguments. You can see the screen shots attached to the bugzilla. https://bugzilla.yoctoproject.org/show_bug.cgi?id=3944 [ YOCTO #3944 ] Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-19Convert tab indentation in python functions into four-spaceRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-05meta: Replace bb.data.expand(xxx, d) -> d.expand(xxx)Richard Purdie1
sed \ -e 's:bb.data.\(expand([^,()]*\), *\([^) ]*\) *):\2.\1):g' \ -i `grep -ril bb.data.expand *` Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-05meta: Convert getVar/getVarFlag(xxx, 1) -> (xxx, True)Richard Purdie1
Using "1" with getVar is bad coding style and "True" is preferred. This patch is a sed over the meta directory of the form: sed \ -e 's:\(\.getVar([^,()]*, \)1 *):\1True):g' \ -e 's:\(\.getVarFlag([^,()]*, [^,()]*, \)1 *):\1True):g' \ -i `grep -ril getVar *` Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-23syslinux: add SYSLINUX_ROOT to APPEND lineSaul Wold1
By prepending the SYSLINUX_ROOT to the APPEND line, will allow a sane default to be set for the various syslinux images Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-02-23syslinux: Use SYSLINUX_TIMEOUT and SYSLINUX_PROMPT to configure syslinuxSaul Wold1
syslinux allows you to set TIMEOUT and PROMPT variables, when PROMPT is 0, the "boot:" is not displayed uless one presses CTRL or SHIFT during startup. TIMEOUT is in 1/10th of seconds, and a value of 0 for TIMEOUT will disable the timeout mechanism. In bitbake, recipes had set TIMEOUT (not SYSLINUX_TIMEOUT) incorrectly, other patches fix this issues. We are adding SYSLINUX_PROMPT to enable/disable the "boot:" prompt in syslinux. See http://www.syslinux.org/wiki/index.php/SYSLINUX for more details Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2012-02-07bootimg: Use the same OS files for each boot methodDarren Hart1
Fixes [YOCTO #1951] The do_bootimg code can generate hybrid efi+pcbios images (syslinux and grub-efi) to boot on platforms with both EFI and legacy BIOS options. The current implementation copies the kernel, initrd, and rootfs twice, unnecessarily bloating the image size. This is an especially egregious bug on -sato images. Update the classes to use a common install of the kernel, initrd, and rootfs to the root of the boot media. Grub-efi, syslinux, and isolinux can all reference this location explicitly with a leading slash. Tested with an EFI+PCBIOS image in both EFI and PCBIOS boot modes on two platforms. No ISO image testing was performed. Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2011-12-02bootimage: Use ${S} explicitly for generated config filesDarren Hart1
The syslinux and grub-efi classes were generating config files in the current working directory. This caused a failure due to a race in the creation of the directories leading to cwd changing and the build failing to find the config files. While this has been addressed in bitbake, it is better to use an explicit path. While ${WORKDIR} may seem a more appropriate place, the recipe already uses ${S} for the "hdd" and "cd" construction, so we use ${S} here to keep things consolidated and consistent and address the issue with minimal change. Signed-off-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30bootimg: Pull syslinux specific bits into syslinux.bbclassDarren Hart1
Working towards a more generic bootimg.bbclass, pull out all syslinux specific bits and let syslinux.bbclass manage them directly. This introduces no functional changes to the images constructed and the behavior remains unchanged. Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2011-11-10Convert to use direct access to the data store (instead of bb.data.*Var*())Richard Purdie1
This is the result of running the following over the metadata: sed \ -e 's:bb.data.\(setVar([^,()]*,[^,()]*\), *\([^ )]*\) *):\2.\1):g' \ -e 's:bb.data.\(setVarFlag([^,()]*,[^,()]*,[^,()]*\), *\([^) ]*\) *):\2.\1):g' \ -e 's:bb.data.\(getVar([^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \ -e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \ -e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^() ]*\) *):\2.\1):g' \ -e 's:bb.data.\(getVar([^,()]*\), *\([^) ]*\) *):\2.\1):g' \ -i `grep -ril bb.data *` Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2008-10-17syslinux.bbclass: Clean up boot menu titleRichard Purdie1
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5521 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-10-08syslinux: We forward the LABEL through cmdlineSamuel Ortiz1
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5458 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-09-03syslinux.bbclass: Update to use more modern and efficient functionsRichard Purdie1
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5127 311d38ba-8fff-0310-9ca6-ca027cbcb966
2007-06-08syslinux.bbclass: imported from OE (needed to generate booting CD)Marcin Juszkiewicz1
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1893 311d38ba-8fff-0310-9ca6-ca027cbcb966