From 6e1c943f3ce6b16dc56ed2b55bd1b25a57984f80 Mon Sep 17 00:00:00 2001 From: Stefan Roese Date: Mon, 22 Oct 2018 14:07:55 +0200 Subject: [PATCH] x86: theadorable-x86: Generate and pass root=PARTUUID instead of /dev/sdaX To enable the root device selection (kernel cmd-line) via PARTUUID, this patch enables CMD_PART on all missing theadorable-x86 boards and changes the default environment to generate the root=PARTUUID string automatically. This fixes problems that have been noticed on systems with multiple SATA/AHCI controller connected via PCIe, where the device name for the root device / partition (/dev/sdaX) was incorrect. Signed-off-by: Stefan Roese Reviewed-by: Bin Meng --- ...able-x86-conga-qa3-e3845-pcie-x4_defconfig | 1 + .../theadorable-x86-conga-qa3-e3845_defconfig | 1 + include/configs/theadorable-x86-common.h | 35 +++++++++++-------- 3 files changed, 23 insertions(+), 14 deletions(-) diff --git a/configs/theadorable-x86-conga-qa3-e3845-pcie-x4_defconfig b/configs/theadorable-x86-conga-qa3-e3845-pcie-x4_defconfig index a3865024e8..e9febb465b 100644 --- a/configs/theadorable-x86-conga-qa3-e3845-pcie-x4_defconfig +++ b/configs/theadorable-x86-conga-qa3-e3845-pcie-x4_defconfig @@ -26,6 +26,7 @@ CONFIG_CMD_CPU=y CONFIG_CMD_GPIO=y CONFIG_CMD_I2C=y CONFIG_CMD_MMC=y +CONFIG_CMD_PART=y CONFIG_CMD_SF=y CONFIG_CMD_SPI=y CONFIG_CMD_USB=y diff --git a/configs/theadorable-x86-conga-qa3-e3845_defconfig b/configs/theadorable-x86-conga-qa3-e3845_defconfig index 8cd170feb7..ee3d7f01ab 100644 --- a/configs/theadorable-x86-conga-qa3-e3845_defconfig +++ b/configs/theadorable-x86-conga-qa3-e3845_defconfig @@ -25,6 +25,7 @@ CONFIG_CMD_CPU=y CONFIG_CMD_GPIO=y CONFIG_CMD_I2C=y CONFIG_CMD_MMC=y +CONFIG_CMD_PART=y CONFIG_CMD_SF=y CONFIG_CMD_SPI=y CONFIG_CMD_USB=y diff --git a/include/configs/theadorable-x86-common.h b/include/configs/theadorable-x86-common.h index dd2bfb0a10..e0a033bec1 100644 --- a/include/configs/theadorable-x86-common.h +++ b/include/configs/theadorable-x86-common.h @@ -62,33 +62,40 @@ "then run swupdate;" \ "else run yocto_boot;run swupdate;" \ "fi\0" \ + "setroot=part uuid scsi 0:${partnr} uuid;" \ + "setenv root PARTUUID=${uuid}\0" \ + "setroot_ubuntu=setenv partnr ${ubuntu_part};run setroot\0" \ + "setroot_yocto=setenv partnr ${yocto_part};run setroot\0" \ "ubuntu_args=setenv bootargs " \ - "root=/dev/sda${ubuntu_part} ro\0" \ + "root=${root} ro\0" \ "ubuntu_args_quiet=setenv bootargs " \ - "root=/dev/sda${ubuntu_part} ro quiet\0" \ + "root=${root} ro quiet\0" \ "ubuntu_load=load scsi 0:${ubuntu_part} 03000000 " \ "/boot/vmlinuz-${kernel-ver};" \ "load scsi 0:${ubuntu_part} 04000000 " \ "/boot/initrd.img-${kernel-ver}\0" \ - "ubuntu_boot=run ubuntu_args_quiet addmtd addmisc " \ - "ubuntu_load boot\0" \ - "ubuntu_boot_console=run ubuntu_args addtty_ubuntu " \ + "ubuntu_boot=run setroot_ubuntu ubuntu_args_quiet " \ "addmtd addmisc ubuntu_load boot\0" \ - "net_args=setenv bootargs root=/dev/sda${ubuntu_part} ro\0" \ - "net_boot=run start_eth net_args addtty_yocto addmtd addmisc;" \ + "ubuntu_boot_console=run setroot_ubuntu ubuntu_args " \ + "addtty_ubuntu addmtd addmisc ubuntu_load boot\0" \ + "net_args=setenv bootargs root=${root} ro\0" \ + "net_boot=run start_eth setroot_ubuntu net_args " \ + "addtty_ubuntu addmtd addmisc;" \ "tftp 03000000 ${tftpdir}/bzImage;" \ "load scsi 0:${ubuntu_part} 04000000 " \ "/boot/initrd.img-${kernel-ver};" \ "run boot\0" \ - "yocto_args=setenv bootargs root=/dev/sda${yocto_part} " \ - "panic=1\0" \ - "yocto_args_fast=setenv bootargs root=/dev/sda${yocto_part} " \ + "yocto_args=setenv bootargs root=${root} " \ + "panic=1\0" \ + "yocto_args_fast=setenv bootargs root=${root} " \ "quiet panic=1\0" \ - "yocto_boot=run yocto_args addmtd addmisc addtty_yocto;" \ + "yocto_boot=run setroot_yocto yocto_args addmtd addmisc " \ + "addtty_yocto;" \ "if run yocto_load;then zboot 03000000;fi\0" \ - "yocto_boot_fast=run yocto_args_fast addmtd addmisc " \ - "addtty_yocto yocto_load;zboot 03000000\0" \ - "yocto_boot_tftp=run yocto_args addmtd addmisc addtty_yocto " \ + "yocto_boot_fast=run setroot_yocto yocto_args_fast addmtd " \ + "addmisc addtty_yocto yocto_load;zboot 03000000\0" \ + "yocto_boot_tftp=run setroot_yocto yocto_args addmtd " \ + "addmisc addtty_yocto " \ "start_eth yocto_load_tftp;zboot 03000000\0" \ "yocto_kernel=bzImage\0" \ "yocto_load=load scsi 0:${yocto_part} 03000000 " \ -- 2.30.2