On Wed, 2013-07-10 at 13:19 +1000, Jonathan Liu wrote: Thanks for your patience with this Jonathan.
> This introduces a DISK_SIGNATURE variable that allows controlling the > 32-bit MBR disk signature. By default it is set to an automatically > generated disk signature but it may by overridden in the image recipe > by setting DISK_SIGNATURE to a 8 digit hex string. > > This DISK_SIGNATURE variable can also be used in the image recipe to > specify the root by UUID using: > SYSLINUX_ROOT = "root=PARTUUID=${DISK_SIGNATURE}-02" This DISK_SIGNATURE variable needs to be documented, Scott R on Cc for that. > > Specifying the root by UUID allows the kernel to locate the root > filesystem even if the device name changes (e.g. /dev/hda2, /dev/hdb2 or > /dev/sdb2 instead of /dev/sda2) due to differences in hardware > configuration. > > Signed-off-by: Jonathan Liu <net...@gmail.com> In the future, please Cc the people you are collaborating with and use a tool like git send-email to automatically parse that and Cc them on the patch submission. You can also use the create-pull-request and send-pull-request scripts which automate this process (these should probably be updated to allow for just sending the email without a pull repo though): Cc: Darren Hart <dvh...@linux.intel.com> Then they will respond with their review: Acked-by: Darren hart <dvh...@linux.intel.com> > --- > meta/classes/boot-directdisk.bbclass | 20 ++++++++++++++++++++ > 1 file changed, 20 insertions(+) > > diff --git a/meta/classes/boot-directdisk.bbclass > b/meta/classes/boot-directdisk.bbclass > index 3169043..182957b 100644 > --- a/meta/classes/boot-directdisk.bbclass > +++ b/meta/classes/boot-directdisk.bbclass > @@ -34,6 +34,7 @@ BOOTDD_EXTRA_SPACE ?= "16384" > # Get the build_syslinux_cfg() function from the syslinux class > > AUTO_SYSLINUXCFG = "1" > +DISK_SIGNATURE ?= "${DISK_SIGNATURE_GENERATED}" > SYSLINUX_ROOT ?= "root=/dev/sda2" > SYSLINUX_TIMEOUT ?= "10" > > @@ -80,6 +81,9 @@ build_boot_dd() { > parted $IMAGE set 1 boot on > parted $IMAGE print > > + echo -ne "$(echo ${DISK_SIGNATURE} | fold -w 2 | tac | paste -sd '' | > sed 's/\(..\)/\\x&/g')" | \ > + dd of=$IMAGE bs=1 seek=440 conv=notrunc > + > OFFSET=`expr $END2 / 512` > dd if=${STAGING_DATADIR}/syslinux/mbr.bin of=$IMAGE conv=notrunc > dd if=$HDDIMG of=$IMAGE conv=notrunc seek=1 bs=512 > @@ -91,8 +95,24 @@ build_boot_dd() { > } > > python do_bootdirectdisk() { > + validate_disk_signature(d) > bb.build.exec_func('build_syslinux_cfg', d) > bb.build.exec_func('build_boot_dd', d) > } > > +def generate_disk_signature(): > + import uuid > + > + return str(uuid.uuid4())[:8] > + > +def validate_disk_signature(d): > + import re > + > + disk_signature = d.getVar("DISK_SIGNATURE", True) > + > + if not re.match(r'^[0-9a-fA-F]{8}$', disk_signature): > + bb.fatal("DISK_SIGNATURE '%s' must be an 8 digit hex string" % > disk_signature) > + > +DISK_SIGNATURE_GENERATED := "${@generate_disk_signature()}" > + > addtask bootdirectdisk before do_build -- Darren Hart Intel Open Source Technology Center Yocto Project - Technical Lead - Linux Kernel _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core