Bug 3944 - syslinux.bbclass needs some work to add serial support and a real menu
Summary: syslinux.bbclass needs some work to add serial support and a real menu
Status: RESOLVED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: deployment (show other bugs)
Version: 1.4
Hardware: x86 Multiple
: Medium major
Target Milestone: 1.4
Assignee: Jason Wessel
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2013-02-27 01:45 UTC by Jason Wessel
Modified: 2013-10-18 17:51 UTC (History)
4 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: Don't know


Attachments
Serial Boot Menu Example (7.71 KB, image/png)
2013-02-27 01:45 UTC, Jason Wessel
no flags Details
VGA syslinux menu example (7.49 KB, image/png)
2013-02-27 01:49 UTC, Jason Wessel
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jason Wessel 2013-02-27 01:45:33 UTC
Created attachment 1086 [details]
Serial Boot Menu Example

Syslinux has the full ability for dual vga and serial support as well as a menu with command line editing. 

It is simply a matter of changing the class around in order to support it.

The dual serial / vga support should be on by default, and a new option such as SYSLINUX_SERIAL can be used to disable it.

See the example which is attached to this case.
Comment 1 Jason Wessel 2013-02-27 01:49:56 UTC
Created attachment 1087 [details]
VGA syslinux menu example

Also it would be good to add the capability for a boot splash specified by SYSLINUX_SPLASH on the vga console.  Attached is an example.
Comment 2 Jason Wessel 2013-03-25 13:28:58 UTC
Implemented in OE with: 7032d559c04bae09e6b7c39ddeb1bf35acc0584c (syslinux.bbclass: Add a default serial console option and real boot menu support)
Comment 3 Mihai Lindner 2013-04-11 14:01:22 UTC
Build Configuration:
BB_VERSION        = "1.18.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "Unknown"
TARGET_SYS        = "i586-poky-linux"
MACHINE           = "atom-pc"
DISTRO            = "poky"
DISTRO_VERSION    = "1.3+snapshot-20130411"
TUNE_FEATURES     = "m32 core2"
TARGET_FPU        = ""
meta              
meta-yocto        
meta-yocto-bsp    = "master:95b71d2b03a3a6dc5d32a7d6a84ec3420f39aa61"

On both:
bitbake core-image-basic
&
bitbake core-image-sato
Comment 4 Martin Jansa 2013-07-18 17:13:11 UTC
This doesn't allow to disable or change default tty0 as console:

+        btypes = [ [ "", "console=tty0" ] ]
+        if menu and syslinux_serial:
+            btypes = [ [ "Graphics console ", " console=tty0" ],
+                [ "Serial console ",  " console=ttyS0,115200" ] ]

It should respect syslinux_serial value even without menu enabled.
Comment 5 Martin Jansa 2013-07-18 18:13:19 UTC
Enabling menu doesn't work with boot-directdisk:
meta/classes/boot-directdisk.bbclass

because build_boot_dd reuses syslinux.cfg does not install vesamenu.c32 ..
Comment 6 Martin Jansa 2013-08-30 14:15:50 UTC
Changing from importance from improvement to major, because this improvement broke existing use-cases for boot-directdisk.bbclass
Comment 7 Jason Wessel 2013-10-18 16:22:01 UTC
(In reply to comment #6)
> Changing from importance from improvement to major, because this improvement
> broke existing use-cases for boot-directdisk.bbclass

As far as I know this was fixed by:

commit 63d164b755b984021f7e3cdba7280918ded6e821
Author: Jason Wessel <jason.wessel@windriver.com>
Date:   Tue Sep 17 13:32:17 2013 +0000

    boot-directdisk.bbclass: Fix media generation problems with vmdk
Comment 8 Martin Jansa 2013-10-18 17:51:13 UTC
First part was fixed by:

syslinux.bbclass: Fix hard coding of console=tty*
The SYSLINUX_SERIAL variable was hard coded and occasionally needs to
be different for the kernel argument vs the syslinux argument.

http://git.openembedded.org/openembedded-core/commit/?id=cf2fba810a8a59cff71bf2c12e516e9080146604

2nd part by that other commit you mention, so yes I agree, it's fixed now.