# Atom z8350 + emmc

**URL:** https://hub.mender.io/t/atom-z8350-emmc/3840
**Category:** General Discussions
**Created:** [July 6, 2021, 2:30pm UTC](https://hub.mender.io/t/atom-z8350-emmc/3840 "2021-07-06T14:30:44Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![hxg](https://avatars.discourse-cdn.com/v4/letter/h/b9bd4f/32.png) [@hxg](https://hub.mender.io/u/hxg)
#### Post date: [July 6, 2021, 2:30pm UTC](https://hub.mender.io/t/atom-z8350-emmc/3840/1 "2021-07-06T14:30:44Z")

</div>

Hi there,

I’m trying to integrate my board, an Atom z8350 with 2GB ram and 32GB eMMC. Almost the same as a wyse3040 but cheaper.  
I followed the NUC integration example and adapted a config accordingly to the eMMC.  
Everything is okay until I reboot for the first time after “flashing” my new .img file.

Board is rebooting, grub screen shows up with the two “LOCK” text and then freezes about 10-15 seconds later, there is a carriage return happening on screen then keyboard is going down and only way to power cycle is removing the power supply cable or long press on the power button. Booting directly the UEFI entry in the bios does the same thing.

EFI boot entry is named “Android-IA” (??!!!) that’s weird too.

I tried:

- booting without USB devices at all
- disabling quiet boot in the BIOS
- keeping boot gap or not

I managed to do this once on a wyse 5070 thinclient (Intel silver) with no special issue, this z8350 has stumped me.

Thanks for any help !

mender convert board config: [MENDER\_COMPRESS\_DISK\_IMAGE=gzipMENDER\_ARTIFACT\_COMPRESSION="gzip"MENDER\_ENAB - Pastebin.com](https://pastebin.com/JUV7bKi8)  
mender-convert logs: [MENDER\_ARTIFACT\_NAME=release-z8350-4.0.0 ./docker-mender-convert --disk-image i - Pastebin.com](https://pastebin.com/4sPafyWJ)

deploy img fdisk:  
fdisk -l rawdump\__**-mender.img  
The primary GPT table is corrupt, but the backup appears OK, so that will be used.  
Disk rawdump\_**_-mender.img: 28.44 GiB, 30534533120 bytes, 59637760 sectors  
Units: sectors of 1 \* 512 = 512 bytes  
Sector size (logical/physical): 512 bytes / 512 bytes  
I/O size (minimum/optimal): 512 bytes / 512 bytes  
Disklabel type: gpt  
Disk identifier: 06E62B76-7C80-472F-B334-B0CDE273290B

Device Start End Sectors Size Type  
rawdump\__**-mender.img1 16384 1064959 1048576 512M EFI System  
rawdump\_**_-mender.img2 1064960 30195711 29130752 13.9G Linux filesystem  
rawdump\__**-mender.img3 30195712 59326463 29130752 13.9G Linux filesystem  
rawdump\_**_-mender.img4 59326464 59588607 262144 128M Linux filesystem

---

<div class="post-metadata">

### Author: ![hxg](https://avatars.discourse-cdn.com/v4/letter/h/b9bd4f/32.png) [@hxg](https://hub.mender.io/u/hxg)
#### Post date: [July 8, 2021, 2:36pm UTC](https://hub.mender.io/t/atom-z8350-emmc/3840/2 "2021-07-08T14:36:37Z")

</div>

To follow up and update:

I’ve waited around 20mn (real) in front of that screen and suddenly it began to boot.  
But the boot process speed was so slow, like if I was running a 5.x kernel on my venerable TRS80 with 16k ram.  
After this lengthy boot process, it dropped me on the initramfs rescue shell telling me it cannot find mmcblk0.  
When I’m listing /dev content it’s there, if I try to mount it manually it’s telling me “No such file or directory”.

The golden device, prior to flashing the mender-ified image wasn’t presenting these symptoms.

---

<div class="post-metadata">

### Author: ![MarekBelisko](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/marekbelisko/32/33_2.png) [@MarekBelisko](https://hub.mender.io/u/MarekBelisko)
#### Post date: [July 8, 2021, 5:14pm UTC](https://hub.mender.io/t/atom-z8350-emmc/3840/3 "2021-07-08T17:14:28Z")

</div>

Which integration? Debian or Yocto? I did NUC + Giada which is emmc x86 device so maybe can help.

> [@Giada VM23](https://hub.mender.io/t/giada-vm23/613):
>
> The official [Mender documentation](https://docs.mender.io/) explains how Mender works. This is simply a board-specific complement to the official documentation. Board description Giada VM23 is versatile PC optimized for digital signage, desktop virtualization, and noise sensitive situations. The VM23 is available with two Intel Apollo Lake based options. There is an Intel®Celeron N3350 based, dual-core version with 2GB Low-power DDR3 embedded, and an Intel®Celeron N3450 based version with 4GB of Low-power DDR3. Both mod…

---

<div class="post-metadata">

### Author: ![hxg](https://avatars.discourse-cdn.com/v4/letter/h/b9bd4f/32.png) [@hxg](https://hub.mender.io/u/hxg)
#### Post date: [July 9, 2021, 8:17am UTC](https://hub.mender.io/t/atom-z8350-emmc/3840/4 "2021-07-09T08:17:04Z")

</div>

Debian integration, as it’s an x86 board it looked to me it was less work to do than setup a yocto environment.

---

<div class="post-metadata">

### Author: ![hxg](https://avatars.discourse-cdn.com/v4/letter/h/b9bd4f/32.png) [@hxg](https://hub.mender.io/u/hxg)
#### Post date: [July 12, 2021, 2:13pm UTC](https://hub.mender.io/t/atom-z8350-emmc/3840/5 "2021-07-12T14:13:56Z")

</div>

After scraping search engines and forums a lot I found the root cause for the 20-25mn waiting till the kernel starts loading.

I removed the whole console\_bootargs content in /boot/EFI/efi/BOOT/grub.cfg as I don’t need any serial console on it anyway.  
Boot time did go from 20-25mn to 20-25sec …

So my question is now how can I apply this in a debian integration so I wouldn’t have to edit directly on each device ?  
By the way none of my kernel boot param were imported during conversion where can I add these too ? (sorry if it’s in the doc, I didn’t figured where).

---

<div class="post-metadata">

### Author: ![drewmoseley](https://yyz2.discourse-cdn.com/flex036/user_avatar/hub.mender.io/drewmoseley/32/47_2.png) [@drewmoseley](https://hub.mender.io/u/drewmoseley)
#### Post date: [July 12, 2021, 2:27pm UTC](https://hub.mender.io/t/atom-z8350-emmc/3840/6 "2021-07-12T14:27:44Z")

</div>

You’ll probably need to create a [custom hook](https://docs.mender.io/system-updates-debian-family/convert-a-mender-debian-image/customization#hooks-overrides) in your mender-convert config to modify this file. You can see in `mender-convert-modify` where changes are being made by adding a file called `11_bootargs_grub.cfg`. I suspect something similar will work in your case. Please let us know if you are successful with this.

Drew

---

<div class="post-metadata">

### Author: ![hxg](https://avatars.discourse-cdn.com/v4/letter/h/b9bd4f/32.png) [@hxg](https://hub.mender.io/u/hxg)
#### Post date: [July 12, 2021, 2:34pm UTC](https://hub.mender.io/t/atom-z8350-emmc/3840/7 "2021-07-12T14:34:52Z")

</div>

Of course I’ll report asap. Good nudge in the right direction, thanks !

---

<div class="post-metadata">

### Author: ![hxg](https://avatars.discourse-cdn.com/v4/letter/h/b9bd4f/32.png) [@hxg](https://hub.mender.io/u/hxg)
#### Post date: [July 13, 2021, 2:17pm UTC](https://hub.mender.io/t/atom-z8350-emmc/3840/8 "2021-07-13T14:17:43Z")

</div>

About the non imported bootargs , it was as easy as setting MENDER\_GRUB\_KERNEL\_BOOT\_ARGS into my custom board config.

About the console settings impacting the boot , I followed your advice and made a hook like that:

```auto
remove_console_bootargs() {
    log_info "Remove problematic serial console settings from bootargs"
    run_and_log_cmd "sed -i 's/set console_bootargs=\"console=tty0,115200n8 console=ttyS0,115200n8 console=ttyO0,115200n8 console=ttyAMA0,115200n8\"/set console_bootargs=\"\"/g' work/boot/EFI/BOOT/grub.cfg"
}
PLATFORM_MODIFY_HOOKS+=(remove_console_bootargs)

```

And yes I know my sed is just awful 🙂

I still got a few issue like mmcblk changing name randomly at each boot and I have to do my homework on partuuid usage (will make another post) but I’ll post this device integration when I’ll be ok with it.

Thanks for the support.
