| Summary: | Setting NOHDD=1 and NOISO=1 no longer allows you to build a >4GB image | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] OE-Core | Reporter: | brian avery <brian.avery> |
| Component: | core | Assignee: | Ed Bartosh <eduard.bartosh> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | Medium | CC: | brian.avery, eduard.bartosh, meta.mr.watcher, meta.watcher, randy.macleod, sgw, todor.minchev |
| Version: | 2.4 | ||
| Target Milestone: | 2.4 | ||
| Hardware: | x86 | ||
| OS: | Multiple | ||
| Whiteboard: | |||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | No (bug/feature does not impact docs) | |
|
Description
brian avery
2017-07-26 21:17:30 UTC
adding todor since he ran across this first. The logic of build_live() in image.bbclass may be incorrect. It's overriding the NOISO and NOHDD settings when resp. iso and hddimg are in IMAGE_FSTYPES but doesn't do so when live is in IMAGE_FSTYPES. It's not clear to me on first read through whether build_live() should be setting the NOISO and NOHDD values in d, or just using their value to determine its own return value. I was able to produce more than 9.6Gb ext4 image on master (commit id 3c1c4ceaa470957fe5633d65215f165a38d61be7) with these settings in local.conf: NOHDD="1" NOISO="1" IMAGE_ROOTFS_EXTRA_SPACE = "10000000" $ ls -lh tmp/deploy/images/qemux86-64/ total 28M lrwxrwxrwx 2 ed users 76 Jul 28 13:00 bzImage -> bzImage--4.10.17+git0+e92bd55409_6648a34e00-r0-qemux86-64-20170728093839.bin -rw-r--r-- 2 ed users 6.7M Jul 28 13:00 bzImage--4.10.17+git0+e92bd55409_6648a34e00-r0-qemux86-64-20170728093839.bin lrwxrwxrwx 2 ed users 76 Jul 28 13:00 bzImage-qemux86-64.bin -> bzImage--4.10.17+git0+e92bd55409_6648a34e00-r0-qemux86-64-20170728093839.bin -rw-r--r-- 2 ed users 1.4K Jul 28 13:34 core-image-minimal-qemux86-64-20170728103327.qemuboot.conf -rw-r--r-- 2 ed users 9.6G Jul 28 13:34 core-image-minimal-qemux86-64-20170728103327.rootfs.ext4 -rw-r--r-- 2 ed users 905 Jul 28 13:34 core-image-minimal-qemux86-64-20170728103327.rootfs.manifest -rw-r--r-- 2 ed users 3.2M Jul 28 13:34 core-image-minimal-qemux86-64-20170728103327.rootfs.tar.bz2 -rw-r--r-- 1 ed users 89K Jul 28 13:34 core-image-minimal-qemux86-64-20170728103327.testdata.json lrwxrwxrwx 2 ed users 56 Jul 28 13:34 core-image-minimal-qemux86-64.ext4 -> core-image-minimal-qemux86-64-20170728103327.rootfs.ext4 lrwxrwxrwx 2 ed users 60 Jul 28 13:34 core-image-minimal-qemux86-64.manifest -> core-image-minimal-qemux86-64-20170728103327.rootfs.manifest lrwxrwxrwx 2 ed users 58 Jul 28 13:34 core-image-minimal-qemux86-64.qemuboot.conf -> core-image-minimal-qemux86-64-20170728103327.qemuboot.conf lrwxrwxrwx 2 ed users 59 Jul 28 13:34 core-image-minimal-qemux86-64.tar.bz2 -> core-image-minimal-qemux86-64-20170728103327.rootfs.tar.bz2 lrwxrwxrwx 1 ed users 58 Jul 28 13:34 core-image-minimal-qemux86-64.testdata.json -> core-image-minimal-qemux86-64-20170728103327.testdata.json -rw-r--r-- 2 ed users 6.1M Jul 28 13:00 modules--4.10.17+git0+e92bd55409_6648a34e00-r0-qemux86-64-20170728093839.tgz lrwxrwxrwx 2 ed users 76 Jul 28 13:00 modules-qemux86-64.tgz -> modules--4.10.17+git0+e92bd55409_6648a34e00-r0-qemux86-64-20170728093839.tgz Please, clarify which image you're trying to produce and which error did you get. Thanks. Reproduced on genericx86 machine. NOHDD and NOISO variables seem to influence only 'live' image build. Their purpose is to disable generation of hdd or iso only if live image build is requested. By default both hdd and iso are generated if 'live' is in IMAGE_FSTYPES. In this particular case hddimg image is explicitly requested, but live image is not, so NOHDD=1 has not effect. I'd suggest this change to make user experience less confusing: diff --git a/meta/conf/machine/include/x86-base.inc b/meta/conf/machine/include/x86-base.inc index a29641a..bc0c27b 100644 --- a/meta/conf/machine/include/x86-base.inc +++ b/meta/conf/machine/include/x86-base.inc @@ -10,7 +10,8 @@ MACHINE_FEATURES += "screen keyboard pci usbhost ext2 ext3 x86 \ MACHINE_EXTRA_RRECOMMENDS += "kernel-modules" -IMAGE_FSTYPES ?= "hddimg" +IMAGE_FSTYPES ?= "live" +NOISO ?= "1" KERNEL_IMAGETYPE ?= "bzImage" It produces the same result (only hddimg is built), but allows usage of NOHDD and NOISO variables. Please, let me know if this fixes this issue for you and I'll send this patch for review. +1. The patch looks good and does what it should. @ed - are you going to send it upstream? The fix has been merged into poky master. Commit id: b8cb2bb17508020899a5ffaa29aee941922d68e0 |