| Summary: | make extlinux work without mount the filesystem | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] OE-Core | Reporter: | Robert Yang <liezhi.yang> |
| Component: | deployment | Assignee: | Robert Yang <liezhi.yang> |
| Status: | VERIFIED FIXED | QA Contact: | Costin <costin.c.constantin> |
| Severity: | enhancement | ||
| Priority: | Medium+ | CC: | adrian.freihofer, alexandru.c.georgescu, costin.c.constantin, dolpher.du, mark.hatle, richard.purdie, sgw |
| Version: | 1.8 | ||
| Target Milestone: | 1.8 M4 | ||
| Hardware: | x86 | ||
| OS: | Multiple | ||
| Whiteboard: | |||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | No (bug/feature does not impact docs) | |
|
Description
Robert Yang
2014-11-21 05:09:52 UTC
Sent the patches to syslinux community: The following changes since commit 81ad566f155fac31089fde69c87059b217e7e9b6: NEWS: Update for 6.03 release (2014-10-06 09:27:44 -0700) are available in the git repository at: https://github.com/robertlinux/sys_tmp.git unmounted_ext for you to fetch changes up to a3603826b88c5f000c5b0ba519cd0a5252eb6c6b: libinstaller/syslxopt.c: update the help text. (2014-12-24 16:07:50 +0800) Robert Yang (8): extlinux/main.c: support unmounted ext2/3/4 filesystem extlinux/main.c: implement install_file_to_device() extlinux/main.c: implement handle_adv_on_device() extlinux/main.c: implent ext_read/write_xx_fs() extlinux/main.c: implement write_to_device() extlinux/main.c: implement patch_syslinux_bootsect() extlinux/main.c: implement ext_construct_sectmap_fs() libinstaller/syslxopt.c: update the help text. extlinux/Makefile | 2 +- extlinux/main.c | 611 +++++++++++++++++++++++++++++++++++++++++++----- libinstaller/syslxopt.c | 2 +- 3 files changed, 553 insertions(+), 62 deletions(-) Hello, Tested on latest master hash: 9e4adec98db325112ca7a8b9dd95722d4d0ab642 BB_VERSION = "1.27.0" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "Ubuntu-14.04" TARGET_SYS = "i586-poky-linux" MACHINE = "genericx86" DISTRO = "poky" DISTRO_VERSION = "1.8+snapshot-20150401" TUNE_FEATURES = "m32 core2" TARGET_FPU = "" meta meta-yocto meta-yocto-bsp = "master:9e4adec98db325112ca7a8b9dd95722d4d0ab642" Steps performed to test this enhancement: 1) bitbake syslinux-native 2) sudo dd if=/dev/zero of=test.img bs=1M count=1k ~/poky/build$ ls -lh test.img -rw-r--r-- 1 root root 1.0G Apr 1 11:33 test.img ... 3)sudo mkfs.ext3 -F test.img 4) $ pwd /home/autobuilder/poky/build/tmp/sysroots/x86_64-linux/usr/bin $ ./syslinux -i ../../../../../test.img ./syslinux: invalid media signature (not an FAT/NTFS volume?) It seems not to work with ext3 filesystem. I also tried ext2 and ext4. Costin It is because: /home/autobuilder/poky/build/tmp/sysroots/x86_64-linux/usr/bin/syslinux is syslinux-mtools, please use this one atm: ./tmp/work/x86_64-linux/syslinux-native/6.03-r0/syslinux-6.03/bios/linux/syslinux We still need more work to do with syslinux, I will file another 2 to track them, so I will mark it as done atm. Hello, Checked as per last comment's recommendation. It worked: Steps performed: all as on comment#3, the exception being the use of syslinux from this dir: /media/poky/3poky/build/tmp/work/x86_64-linux/syslinux-native/6.03-r0/syslinux-6.03/bios/linux This time, i put the test.img in this dir also (for ease of use) To verify: 1)mkdir test 2)sudo mount test.img test 3)ls test drwxr-xr-x 3 root root 4096 mai 1 22:10 ./ drwxrwxr-x 3 cosscat cosscat 4096 mai 1 22:11 ../ -r--r--r-- 1 root root 122308 mai 1 22:11 ldlinux.c32 -r--r--r-- 1 root root 69632 mai 1 22:11 ldlinux.sys drwx------ 2 root root 16384 mai 1 22:10 lost+found/ Marking as verified Costin |