[yocto] Problem creating bootable flash

Paul D. DeRocco pderocco at ix.netcom.com
Fri Mar 29 16:15:46 PDT 2013


I'm still having no luck booting my system. I've built
core-image-base-cedartrail-nopvr, with only one modification (added samba
from OE), and I'm trying to boot it on an Intel DN2800MT mobo from a 1GB
eUSB SSD. Here's what I've done:

Opened gparted, selected /dev/sdb, which is the SSD.

Created a fresh MSDOS partition table.

Selected the 979MB unallocated space, created a new 949MB FAT16 partition.

Selected the remaining 30MB unallocated space, created a new FAT16
partition, which will hold my application data.

Invoked the pending operations.

Selected the first partition, set the "boot" flag.

Exited gparted.

In terminal, went into my images directory, and did

    sudo dd if=core-image-base-cedartrail-nopvr.hddimg of=/dev/sdb1

After a few seconds, it finished. I then unplugged and plugged the SSD from
the USB header, and it automounted the two partitions and popped up two
windows showing their contents. Closed the second one, and examined the
first one. It contained the usual five files for booting a live image.

Opened syslinux.cfg in an editor. It showed that syslinux is configured to
use a serial port, which is wrong for my system. Also, it showed two boot
choices, one called "boot" for running the live image, and the other called
"install".

Eventually, I'll get the build to supply a custom syslinux.cfg, but for now,
I figured I'd just manually edit it. Since I want it to interact with the
screen and keyboard, and not a serial port, I removed "serial 1 115200". The
default is supposedly "console 1", which I would expect would use the video
and keyboard from the text mode it inherits from the BIOS. I also removed
the "install" section.

The options on the minimal boot kernel included "console=ttyS0,115200" and
"console=tty0 video=vesafb vga=0x318". Since I don't know what my mobo
supports for VGA video, I figured I'd just let it use text mode, so I
replaced them both with just "console=tty0". The final contents of
syslinux.cfg were:

    ALLOWOPTIONS 1
    DEFAULT boot
    TIMEOUT 10
    PROMPT 1
    LABEL boot
    KERNEL /vmlinuz
    APPEND initrd=/initrd LABEL=boot root=/dev/ram0 console=tty0

I did a "Safely remove" on the device, unplugged it, plugged it into my test
motherboard, and fired it up.

I went into the BIOS boot menu, to make sure the BIOS recognized it as a
bootable device, and it did. I hit Enter to boot it. All I got was a
standard black VGA text mode screen with a blinking gray cursor. At that
point, Ctrl-Alt-Del wouldn't reboot.

If my device wasn't bootable, I'd expect the BIOS to complain. If it was
still in the BIOS, I'd expect to be able to reboot with Ctrl-Alt-Del. If it
actually ran ldlinux.sys, and yet didn't properly use the video, I'd expect
it to time out and boot the live image. But I don't see any evidence that
it's doing that.

Does my syslinux.cfg look correct for showing the syslinux stuff on the text
mode output? Do my kernel options look correct for getting the live image
boot kernel to talk to the screen in text mode? Can anyone see anything else
that might be wrong?

-- 

Ciao,               Paul D. DeRocco
Paul                mailto:pderocco at ix.netcom.com 




More information about the yocto mailing list