diff options
Diffstat (limited to 'yocto-poky/meta/recipes-devtools/syslinux/syslinux/0003-linux-syslinux-implement-install_to_ext2.patch')
-rw-r--r-- | yocto-poky/meta/recipes-devtools/syslinux/syslinux/0003-linux-syslinux-implement-install_to_ext2.patch | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/yocto-poky/meta/recipes-devtools/syslinux/syslinux/0003-linux-syslinux-implement-install_to_ext2.patch b/yocto-poky/meta/recipes-devtools/syslinux/syslinux/0003-linux-syslinux-implement-install_to_ext2.patch deleted file mode 100644 index 84ba10526..000000000 --- a/yocto-poky/meta/recipes-devtools/syslinux/syslinux/0003-linux-syslinux-implement-install_to_ext2.patch +++ /dev/null @@ -1,116 +0,0 @@ -From 64d856b243812907068776b204a003a3a8fa122a Mon Sep 17 00:00:00 2001 -From: Robert Yang <liezhi.yang@windriver.com> -Date: Wed, 31 Dec 2014 16:17:42 +0800 -Subject: [PATCH 3/9] linux/syslinux: implement install_to_ext2() - -* The handle_adv_on_ext() checks whether we only need update adv. -* The write_to_ext() installs files (ldlinux.sys or ldlinux.c32) to the - device. -* The install_bootblock() installs the boot block. - -Upstream-Status: Submitted - -Signed-off-by: Robert Yang <liezhi.yang@windriver.com> -Tested-by: Du Dolpher <dolpher.du@intel.com> ---- - linux/syslinux.c | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 79 insertions(+) - -diff --git a/linux/syslinux.c b/linux/syslinux.c -index cc4e7da..45f080d 100755 ---- a/linux/syslinux.c -+++ b/linux/syslinux.c -@@ -346,11 +346,90 @@ static int open_ext2_fs(const char *device, const char *subdir) - fail: - (void) ext2fs_close(e2fs); - return -1; -+ -+} -+ -+/* -+ * Install the boot block on the specified device. -+ * Must be run AFTER file installed. -+ */ -+int install_bootblock(int fd, const char *device) -+{ -+} -+ -+static int handle_adv_on_ext(void) -+{ -+} -+ -+/* Write files, adv, boot sector */ -+static int write_to_ext(const char *filename, const char *str, int length, -+ int i_flags, int dev_fd, const char *subdir) -+{ - } - - /* The install func for ext2, ext3 and ext4 */ - static int install_to_ext2(const char *device, int dev_fd, const char *subdir) - { -+ int retval; -+ ext2_ino_t oldino; -+ -+ const char *file = "ldlinux.sys"; -+ const char *oldfile = "extlinux.sys"; -+ const char *c32file = "ldlinux.c32"; -+ -+ /* Handle the adv */ -+ if (handle_adv_on_ext() < 0) { -+ fprintf(stderr, "%s: error while handling ADV on %s\n", -+ program, device); -+ retval = 1; -+ goto fail; -+ } -+ -+ /* Return if only need update the adv */ -+ if (opt.update_only == -1) { -+ return ext2fs_close(e2fs); -+ } -+ -+ /* Write ldlinux.sys, adv, boot sector */ -+ retval = write_to_ext(file, (const char _force *)boot_image, -+ boot_image_len, EXT2_IMMUTABLE_FL, dev_fd, subdir); -+ if (retval) { -+ fprintf(stderr, "%s: ERROR: while writing: %s.\n", -+ program, file); -+ goto fail; -+ } -+ -+ /* Write ldlinux.c32 */ -+ retval = write_to_ext(c32file, -+ (const char _force *)syslinux_ldlinuxc32, -+ syslinux_ldlinuxc32_len, 0, dev_fd, subdir); -+ if (retval) { -+ fprintf(stderr, "%s: ERROR: while writing: %s.\n", -+ program, c32file); -+ goto fail; -+ } -+ -+ /* Look if we have the extlinux.sys and remove it*/ -+ retval = ext2fs_namei(e2fs, root, cwd, oldfile, &oldino); -+ if (retval == 0) { -+ retval = ext2fs_unlink(e2fs, cwd, oldfile, oldino, 0); -+ if (retval) { -+ fprintf(stderr, "%s: ERROR: failed to unlink: %s\n", -+ program, oldfile); -+ goto fail; -+ } -+ } else { -+ retval = 0; -+ } -+ -+ sync(); -+ retval = install_bootblock(dev_fd, device); -+ close(dev_fd); -+ sync(); -+ -+fail: -+ (void) ext2fs_close(e2fs); -+ return retval; - } - - int main(int argc, char *argv[]) --- -1.9.1 - |