All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Schultz <d.schultz@phytec.de>
To: barebox@lists.infradead.org
Subject: [PATCH v3 1/4] arm: mach-omap: Change mountpoint of boot partitions
Date: Fri, 12 May 2017 13:07:16 +0200	[thread overview]
Message-ID: <1494587239-33771-1-git-send-email-d.schultz@phytec.de> (raw)

If using EMMC and SD as bootsources, mounting the boot partition of both
devices to /boot makes trouble. Either the correct device is mounted to
/boot or a remount of /boot has to be performed.

To ensure this problem each MMCn bootsource will be mounted to his own
path in /mnt/mmcN.0

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
---
Changes:
	v3: Added symlink from rootpath to BOOT_PATH

 arch/arm/mach-omap/omap_generic.c | 36 +++++++++++++++++++++++++-----------
 1 file changed, 25 insertions(+), 11 deletions(-)

diff --git a/arch/arm/mach-omap/omap_generic.c b/arch/arm/mach-omap/omap_generic.c
index 1d03eac..694c951 100644
--- a/arch/arm/mach-omap/omap_generic.c
+++ b/arch/arm/mach-omap/omap_generic.c
@@ -113,12 +113,15 @@ const char *omap_get_bootmmc_devname(void)
 }
 
 #if defined(CONFIG_ENV_HANDLING)
-#define ENV_PATH "/boot/barebox.env"
+static char *envpath = "/mnt/mmc0.0/barebox.env";
+
 static int omap_env_init(void)
 {
-	char *partname;
-	const char *diskdev;
 	int ret;
+	const char *diskdev;
+	char *partname;
+	struct cdev *cdev;
+	const char *rootpath;
 
 	if (bootsource_get() != BOOTSOURCE_MMC)
 		return 0;
@@ -129,18 +132,29 @@ static int omap_env_init(void)
 		diskdev = "disk0";
 
 	device_detect_by_name(diskdev);
+	partname = basprintf("%s.0", diskdev);
+	cdev = cdev_by_name(partname);
+	if (cdev == NULL) {
+		pr_err("Failed to get device %s\n", partname);
+		goto out;
+	}
 
-	partname = basprintf("/dev/%s.0", diskdev);
-
-	mkdir("/boot", 0666);
-	ret = mount(partname, "fat", "/boot", NULL);
-	if (ret) {
-		pr_err("Failed to load environment: mount %s failed (%d)\n", partname, ret);
+	rootpath = cdev_mount_default(cdev, NULL);
+	if (IS_ERR(rootpath)) {
+		pr_err("Failed to load environment: mount %s failed (%d)\n",
+						cdev->name, IS_ERR(rootpath));
 		goto out;
 	}
+	ret = symlink(rootpath, "/boot");
+	if (ret < 0)
+		pr_warn("Failed to create symlink from %s to %s\n", rootpath
+								, "/boot");
+
+	envpath = basprintf("%s/barebox.env", rootpath);
 
-	pr_debug("Loading default env from %s on device %s\n", ENV_PATH, partname);
-	default_environment_path_set(ENV_PATH);
+	pr_debug("Loading default env from %s on device %s\n", envpath,
+								partname);
+	default_environment_path_set(envpath);
 
 out:
 	free(partname);
-- 
1.9.1


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

             reply	other threads:[~2017-05-12 11:07 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-12 11:07 Daniel Schultz [this message]
2017-05-12 11:07 ` [PATCH v3 2/4] arm: boards: phytec-som-am335x: Add automount script Daniel Schultz
2017-05-17  6:26   ` Sascha Hauer
2017-06-02  7:59     ` Daniel Schultz
2017-05-12 11:07 ` [PATCH v3 3/4] arm: boards: phytec-som-am335x: Update boot scripts Daniel Schultz
2017-05-17  6:30   ` Sascha Hauer
2017-06-02  8:07     ` Daniel Schultz
2017-06-06  5:46       ` Sascha Hauer
2017-06-06  9:50         ` Daniel Schultz
2017-05-12 11:07 ` [PATCH v3 4/4] arm: boards: beaglebone: Delete default env Daniel Schultz
2017-05-17  6:35   ` Sascha Hauer
2017-06-06 10:57     ` Daniel Schultz
2017-05-17  6:25 ` [PATCH v3 1/4] arm: mach-omap: Change mountpoint of boot partitions Sascha Hauer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1494587239-33771-1-git-send-email-d.schultz@phytec.de \
    --to=d.schultz@phytec.de \
    --cc=barebox@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.