6/26/2021 8:35 AM | |
Posts: 20 Rating: (0) |
Dear All, I have been facing issues when booting from the eMMC. Try 1 - created the example iot2050 image using the procedure outlined on the meta-iot2050 git repo - wrote this image to a USB stick using Win32DiskImager (?) - connected the UART debug pins to the usb serial port of my windows laptop - powered the IoT box up - when the STATUS LED started blinking orange I pressed the USER button for about 5 seconds and could see some messages indicating that the image is being written to the eMMC (the USER led was blinking fast (green) during the installation as expected) - Once the installation was done the device rebooted itself and tried to boot from the eMMC but fails with some GUID/GPT partition error messages. - the system eventually falls back to the USB and boot itself properly. Can someone please suggest what could be wrong in what I did, any help is much appreciated. The debug log is attached. Try 2: - mount the usb stick with the image on a linux machine and copy the image to the /home directory - load the IoT box with the USB again and copy the image from /home to mmc1 using the following command I see some errors towards the end of this command (again GPT errors) root@iot:~# dd if=/home/iot2050-image-example-iot2050-debian-iot2050.wic.img of=/dev/mmcblk1 bs=100M conv=fsync status=progress 2236886016 bytes (2.2 GB, 2.1 GiB) copied, 288 s, 7.8 MB/s 21+1 records in 21+1 records out 2236886016 bytes (2.2 GB, 2.1 GiB) copied, 291.811 s, 7.7 MB/s [ 494.547255] GPT:Primary header thinks Alt. header is not at the end of the disk. [ 494.555577] GPT:4368917 != 31080447 [ 494.559083] GPT:Alternate GPT header not at the end of the disk. [ 494.565108] GPT:4368917 != 31080447 [ 494.568607] GPT: Use GNU Parted to correct GPT errors. [ 494.573803] mmcblk1: p1 Attachmentmmc_boot_issue.txt (459 Downloads) |
Last edited by: kapilbhudhia at: 06/26/2021 08:36:43Last edited by: kapilbhudhia at: 06/26/2021 18:30:14 |
|
6/27/2021 4:01 PM | |
Joined: 4/28/2015 Last visit: 6/28/2024 Posts: 578 Rating: (43) |
Thanks for reporting. Seems method 1 still has issues. Could you retry with the image produced here (will be available in an hour or so from now) and report back? |
6/28/2021 11:19 AM | |
Posts: 20 Rating: (0) |
ok sure, I will give this a shot and let you know the results. |
7/5/2021 2:47 PM | |
Joined: 4/28/2015 Last visit: 6/28/2024 Posts: 578 Rating: (43) |
Could you share the complete serial log, from the installation, across the reboot into the system installed on eMMC? This is what I got with the rt example image from CI:
After that, the system booted happily into the eMMC (no unplugging of the stick needed, eMMC is preferred when available). |
7/5/2021 3:57 PM | |
Posts: 20 Rating: (0) |
About not booting from eMMC directly I had used the sdcard at mmc0 - the boot configuration is such that on my box it prefers mmc0 over mmc1. I will try with the usb this time. [snip]
Attachmentbooting.txt (397 Downloads) |
Last edited by: kapilbhudhia at: 07/05/2021 17:03:30Last edited by: Jen_Moderator at: 07/06/2021 06:35:01Added information as txt. file. |
|
7/5/2021 5:52 PM | |
Posts: 20 Rating: (0) |
Another attempt: I formatted eMMC using mkfs.ext4 /dev/mmc1blk1 (in contrast to how you suggested above).Created a fresh sd card from the CI image and then booted from it - wrote the image to eMMC using the standard procedure), this time the system rebooted from the eMMC, faced the same GPT errors like before (the very beginning), I dont know what is going on - could there be a problem with the image I have built - but then the same image works fine from usb and mmc0. [snip]
Attachmentbooting2.txt (469 Downloads) |
Last edited by: Jen_Moderator at: 07/06/2021 06:37:15Added information as txt. file. |
|
7/6/2021 7:32 AM | |
Joined: 4/28/2015 Last visit: 6/28/2024 Posts: 578 Rating: (43) |
Like I wrote: I also need to log of the installation from the external medium to eMMC, as I also shared (as snippet). You provided that with your very first report as well. |
7/6/2021 1:59 PM | |
Posts: 20 Rating: (0) |
@jan-k, here is the log file [ 9.076782] install-on-emmc.sh[183]: Press USER button to install on eMMC, you have 20 seconds [ OK ] Started Apply Kernel Variables. [ 9.100675] install-on-emmc.sh[183]: WARNING: All data on eMMC will be overwritten! [ OK ] Started udev Coldplug all Devices. Starting Helper to synchronize boot up for ifupdown... [ OK ] Started Helper to synchronize boot up for ifupdown. [ 10.616404] install-on-emmc.sh[183]: Hold USER button for 5 seconds to confirm [ 16.124263] install-on-emmc.sh[183]: Writing 4368592 sectors to eMMC /dev/mmcblk1... [ 35.810521] tps62363-vout: disabling [ TIME ] Timed out waiting for device /dev/ttyS3. [DEPEND] Dependency failed for Serial Getty on ttyS3. [ 332.417804] install-on-emmc.sh[183]: 4368592+0 records in [ 332.436696] install-on-emmc.sh[183]: 4368592+0 records out [ 332.456646] install-on-emmc.sh[183]: 2236719104 bytes (2.2 GB, 2.1 GiB) copied, 316.279 s, 7.1 MB/s [ 332.476624] install-on-emmc.sh[183]: Updating partition UUID of eMMC rootfs [ 332.492692] install-on-emmc.sh[183]: partx: specified range <1:0> does not make sense [ 332.508665] install-on-emmc.sh[183]: mount: /mnt: special device /dev/mmcblk1p1 does not exist. [ 332.524648] install-on-emmc.sh[183]: mount: /mnt/dev: mount point does not exist. [ 332.540605] install-on-emmc.sh[183]: mount: /mnt/proc: mount point does not exist. [ 332.556482] install-on-emmc.sh[183]: chroot: failed to run command ‘sh’: No such file or directory [ 332.576490] install-on-emmc.sh[183]: umount: /mnt/dev: no mount point specified. [ 332.592502] install-on-emmc.sh[183]: umount: /mnt/proc: no mount point specified. [ 332.608272] install-on-emmc.sh[183]: umount: /mnt: not mounted. [ OK ] Removed slice system-serial\x2dgetty.slice. [ OK ] Removed slice system-getty.slice. [ OK ] Stopped target Remote File Systems. [ OK ] Stopped target Slices. [ OK ] Removed slice User and Session Slice. [ OK ] Stopped target Paths. [ OK ] Closed Syslog Socket. [ OK ] Stopped Apply Kernel Variables. [ OK ] Stopped target Local Encrypted Volumes. [ OK ] Stopped Dispatch Password …ts to Console Directory Watch. [ OK ] Stopped Forward Password R…uests to Wall Directory Watch. [ OK ] Stopped Load Kernel Modules. Unmounting /etc/machine-id... [ OK ] Unmounted /etc/machine-id.[ 333.006916] EXT4-fs (sda1): re-mounted. Opts: (null) [ OK ] Reached target Unmount All Filesystems. [ OK ] Stopped target Swap. Starting udev Kernel Device Manager... Starting Flush Journal to Persistent Storage... [ OK ] Stopped Optional installation on eMMC. [ OK ] Reached target Shutdown. [ OK ] Reached target Final Step. [ OK ] Started Reboot. [ OK ] Reached target Reboot. [ 333.285920] systemd-shutdow: 36 output lines suppressed due to ratelimiting [ 333.854310] systemd-shutdown[1]: Syncing filesystems and block devices. [ 333.950013] systemd-shutdown[1]: Sending SIGTERM to remaining processes... [ 333.972713] systemd-journald[182]: Received SIGTERM from PID 1 (systemd-shutdow). [ 334.002941] systemd-shutdown[1]: Sending SIGKILL to remaining processes... [ 334.025422] systemd-shutdown[1]: Unmounting file systems. [ 334.034888] [1632]: Remounting '/' read-only in with options '(null)'. [ 334.056767] EXT4-fs (sda1): re-mounted. Opts: (null) [ 334.068782] systemd-shutdown[1]: All filesystems unmounted. [ 334.074377] systemd-shutdown[1]: Deactivating swaps. [ 334.079525] systemd-shutdown[1]: All swaps deactivated. [ 334.084752] systemd-shutdown[1]: Detaching loop devices. [ 334.094279] systemd-shutdown[1]: All loop devices detached. [ 334.099863] systemd-shutdown[1]: Detaching DM devices. [ 334.190840] reboot: Restarting system |
7/6/2021 6:30 PM | |
Joined: 4/28/2015 Last visit: 6/28/2024 Posts: 578 Rating: (43) |
There is a suspicious discrepancy between the number of sectors I've written ("install-on-emmc.sh[176]: Writing 4368884 sectors to eMMC /dev/mmcblk1...") and those you transfererd ("install-on-emmc.sh[183]: Writing 4368592 sectors to eMMC /dev/mmcblk1..."). Were you using the RT images from https://github.com/siemens/meta-iot2050/actions/runs/976344173#artifacts again, as you've done before (which is why I also did that)? The error you see is the same as without my patch ("partx: specified range <1:0> does not make sense"), and that prevents creating a unique UUID for the clone on the eMMC, causing all kinds of problems later on. The root cause may also be that not everything was written consistently. No idea yet what could cause that, though. |
7/7/2021 6:01 AM | |
Posts: 20 Rating: (0) |
I am not using the build that you had shared before, I was using a fresh image that I created from the latest master (I did mention this :)), I somehow assumed that the fix has gone on the master branch - my bad. I will try with the image that you had shared before, or should I be building one myself from the branch jan/fix-emmc-install?? Thanks, |
Last edited by: kapilbhudhia at: 07/07/2021 06:01:39 |
|
7/8/2021 7:26 PM | |
Joined: 4/28/2015 Last visit: 6/28/2024 Posts: 578 Rating: (43) |
I would rather say download that RT image from https://github.com/siemens/meta-iot2050/suites/3096527972/artifacts/70763534, then we are on the exact same page. |
7/9/2021 7:16 PM | |
Posts: 20 Rating: (0) |
Dear jan-k, I downloaded the image that you shared and followed the standard procedure, the log is below - you see that it still not a clean emmc install - some mount errors. Later on rebooting from the emmc the same GPT errors appear (log at the bottom) [ OK ] Started Helper to synchronize boot up for ifupdown. [ 17.074091] install-on-emmc.sh[175]: Hold USER button for 5 seconds to confirm [ 22.602263] install-on-emmc.sh[175]: Writing 4368884 sectors to eMMC /dev/mmcblk1... [ 35.810551] tps62363-vout: disabling [ TIME ] Timed out waiting for device /dev/ttyS3. [DEPEND] Dependency failed for Serial Getty on ttyS3. [ 341.395542] install-on-emmc.sh[175]: 4368884+0 records in [ 341.412708] install-on-emmc.sh[175]: 4368884+0 records out [ 341.432489] install-on-emmc.sh[175]: 2236868608 bytes (2.2 GB, 2.1 GiB) copied, 318.779 s, 7.0 MB/s [ 341.448659] install-on-emmc.sh[175]: Updating partition UUID of eMMC rootfs [ 341.466237] install-on-emmc.sh[175]: mount: /mnt: special device /dev/mmcblk1p1 does not exist. [ 341.484683] install-on-emmc.sh[175]: mount: /mnt/dev: mount point does not exist. [ 341.500682] install-on-emmc.sh[175]: mount: /mnt/proc: mount point does not exist. [ 341.516564] install-on-emmc.sh[175]: chroot: failed to run command ‘sh’: No such file or directory [ 341.536420] install-on-emmc.sh[175]: umount: /mnt/dev: no mount point specified. [ 341.556486] install-on-emmc.sh[175]: umount: /mnt/proc: no mount point specified. [ 341.576520] install-on-emmc.sh[175]: umount: /mnt: not mounted. [ OK ] Removed slice system-serial\x2dgetty.slice. [ OK ] Stopped target Remote File Systems 341.718030] EXT4-fs (sda1): re-mounted. Opts: (null) 0m. [ OK ] Stopped target Slices. [ OK ] Removed slice User and Session Slice. [ OK ] Stopped target Paths. [ OK ] Removed slice system-getty.slice. [ OK ] Closed Syslog Socket. [ OK ] Stopped Apply Kernel Variables. [ OK ] Stopped target Local Encrypted Volumes. [ OK ] Stopped Forward Password R…uests to Wall Directory Watch. [ OK ] Stopped Dispatch Password …ts to Console Directory Watch. [ OK ] Stopped Load Kernel Modules. Unmounting /etc/machine-id... [ 341.969684] install-on-emmc.sh[175]: Removed /etc/systemd/system/systemd-remount-fs.service.wants/install-on-emmc-on-first-boot.service. [ OK ] Unmounted etc-machine\x2did.mount. [ OK ] Reached target Unmount All Filesystems. [ OK ] Stopped target Swap. Starting udev Kernel Device Manager... Starting Flush Journal to Persistent Storage... [ OK ] Stopped Optional installation on eMMC. [ OK ] Reached target Shutdown. [ OK ] Reached target Final Step. [ OK ] Started Reboot. [ OK ] Reached target Reboot. [ 342.706346] systemd-shutdow: 36 output lines suppressed due to ratelimiting [ 343.249193] systemd-shutdown[1]: Syncing filesystems and block devices. [ 343.368721] systemd-shutdown[1]: Sending SIGTERM to remaining processes... [ 343.396244] systemd-journald[188]: Received SIGTERM from PID 1 (systemd-shutdow). [ 343.455983] systemd-shutdown[1]: Sending SIGKILL to remaining processes... [ 343.478909] systemd-shutdown[1]: Unmounting file systems. [ 343.488566] [1668]: Remounting '/' read-only in with options '(null)'. [ 343.503525] EXT4-fs (sda1): re-mounted. Opts: (null) [ 343.515945] systemd-shutdown[1]: All filesystems unmounted. [ 343.521533] systemd-shutdown[1]: Deactivating swaps. [ 343.526749] systemd-shutdown[1]: All swaps deactivated. [ 343.531978] systemd-shutdown[1]: Detaching loop devices. [ 343.541578] systemd-shutdown[1]: All loop devices detached. [ 343.547161] systemd-shutdown[1]: Detaching DM devices. [ 343.642537] reboot: Restarting system mmc1(part 0) is current device GPT: last_usable_lba incorrect: 3B723DE > 1da4000 part_get_info_efi: *** ERROR: Invalid GPT *** GUID Partition Table Header signature is wrong: 0x0 != 0x5452415020494645 part_get_info_efi: *** ERROR: Invalid Backup GPT *** GPT: last_usable_lba incorrect: 3B723DE > 1da4000 part_get_info_efi: *** ERROR: Invalid GPT *** GUID Partition Table Header signature is wrong: 0x0 != 0x5452415020494645 part_get_info_efi: *** ERROR: Invalid Backup GPT *** GPT: last_usable_lba incorrect: 3B723DE > 1da4000 part_get_info_efi: *** ERROR: Invalid GPT *** GUID Partition Table Header signature is wrong: 0x0 != 0x5452415020494645 part_get_info_efi: *** ERROR: Invalid Backup GPT *** GPT: last_usable_lba incorrect: 3B723DE > 1da4000 part_get_info_efi: *** ERROR: Invalid GPT *** |
7/9/2021 7:20 PM | |
Posts: 20 Rating: (0) |
Is this because of some existing content on the eMMC, is there a way to like completely wipe it clean? |
7/12/2021 1:06 PM | |
Joined: 4/28/2015 Last visit: 6/28/2024 Posts: 578 Rating: (43) |
Interesting point. I was previously "destroying" the eMMC via "dd if=/dev/zero of=/dev/mmcblk1 bs=1M count=1". Now I checked that other caes by installing onto a bootable eMMC (interrupt bootloader, "run usb_boot"). That gave different messages but still success: [ 240.856570] install-on-emmc.sh[178]: Updating partition UUID of eMMC rootfs I still have no idea why the kernel does not add that partition in your case, or at least /dev is not being updated accordingly. The latter is required in order to mount and chroot into the freshly flashed image for make the PARTUUID unique. |
7/12/2021 1:43 PM | |
Posts: 20 Rating: (0) |
@Jan-k, how do we proceed then? I generally clean the eMMC using mkfs.ext4, I have tried both methods - the one you suggested and the mkfs command and neither seem to work. i notice that there is already /dev/mmc1bkkp1 partition even after formatting the eMMC. |
7/12/2021 3:24 PM | |
Joined: 4/28/2015 Last visit: 6/28/2024 Posts: 578 Rating: (43) |
I've just pushed another try to resolve the issue to https://github.com/siemens/meta-iot2050/commits/jan/fix-emmc-install. It assumes that we see a race between partx triggering a rescan of the partitions and /dev/mmcblk1p1 actually popping up. It tries to plug that by waiting for udevd to finish as well as polling for the device node to show up. |
7/12/2021 3:29 PM | |
Posts: 20 Rating: (0) |
Cool, I will pull your changes, build the OS and then try installing it, will let you know what happens. |
Follow us on