Flash Apalis-TK1_LXDE-Image_2.8b2 -> No filesystem could mount root, tried: ext4

hi,

i try to flash my tk1 like this:
https://developer.toradex.com/knowledge-base/flashing-linux-on-tegra-modules#Apalis_TK1

but I get the following error:

    [    5.541370] JBD2: Unrecognised features on journal
    [    5.547724] EXT4-fs (mmcblk0p2): error loading journal
    [    5.554648] List of all partitions:
    [    5.559777] b300        15388672 mmcblk0  driver: mmcblk
    [    5.566851]   b301           16384 mmcblk0p1 4ca3ae46-01
    [    5.573869]   b302        15339520 mmcblk0p2 4ca3ae46-02
    [    5.580819] b330            4096 mmcblk0rpmb  (driver?)
    [    5.587680] b320            4096 mmcblk0boot1  (driver?)
    [    5.594552] b310            4096 mmcblk0boot0  (driver?)
    [    5.601540] No filesystem could mount root, tried:  ext4
    [    5.608463] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2)
    [    5.619955] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.10.40-2.8.2+ge81dd8a #1

what can I do?

https://www.toradex.com/community/questions/16464/image-27b4-fails-to-mount-rootfs.html

The U-Boot Environment is already set to default.
You can see it in the kernel log: [ 5.601540] No filesystem could mount root, tried: ext4

hi
Could you explain what did you exactly do? Share the outputs of your entered commands to do the update? Are you using a SD Card or USB Key to flash the image?

Thanks, Jaski

I use a USB-Stick like this:

Preparation:
sudo apt install dosfstools e2fsprogs gawk mtools parted
sudo apt install zlib1g:i386 liblzo2-2:i386 libuuid1:i386 libusb-1.0-0:i386
sudo tar xfvj Apalis-TK1_LXDE-Image_2.8b2.97-20180331.tar.bz2

./update.sh -o /media/test/
Apalis TK1 rootfs detected
Image file apalis-tk1.img has been successfully generated!

Creating MBR file and do the partitioning
0+0 Datensätze ein
0+0 Datensätze aus
0 Bytes kopiert, 0,000248135 s, 0,0 kB/s
Model:  (file)
Disk ~/Apalis-TK1_LXDE-Image_2.8.2/apalis-tk1_bin/mbr.bin: 30760960s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End        Size       Type     File system  Flags
 1      8192s   40959s     32768s     primary               lba
 2      40960s  30719999s  30679040s  primary
Creating VFAT partition image with the kernel
mkfs.fat 4.1 (2017-01-24)
mkfs.fat: warning - lowercase labels might not work properly with DOS or Windows

Creating rootfs partition image
796+0 Datensätze ein
796+0 Datensätze aus
834666496 Bytes (835 MB, 796 MiB) kopiert, 0,770148 s, 1,1 GB/s
mke2fs 1.43.4 (31-Jan-2017)
Geräteblöcke werden verworfen: erledigt                        
Ein Dateisystems mit 203776 (4k) Blöcken und 50960 Inodes wird erzeugt.
UUID des Dateisystems: 66a312ca-d768-404d-9aaf-5e3c56481fb6
Superblock-Sicherungskopien gespeichert in den Blöcken: 
	32768, 98304, 163840

beim Anfordern von Speicher für die Gruppentabellen: erledigt                        
Inode-Tabellen werden geschrieben: erledigt                        
Das Journal (4096 Blöcke) wird angelegt: erledigt
Die Superblöcke und die Informationen über die Dateisystemnutzung werden
geschrieben: erledigt

tune2fs 1.43.4 (31-Jan-2017)
Die maximale Anzahl von Einhängungen wird auf -1 gesezt
Der Abstand zwischen den Prüfläufen wird auf 0 Sekunden gesetzt
umount: mnt/tdx-rootfs: not mounted
Successfully copied data to target folder.

To flash the Apalis/Colibri T20/T30/TK1 module a running U-Boot is required. Boot
the module to the U-Boot prompt and

insert the SD card, USB flash drive or when using TFTP connect Ethernet only
and enter:
'run setupdate'

then to update all components enter:
'run update'

Alternatively, to update U-Boot enter:
'run update_uboot'
to update a component stored in UBI enter:
'run prepare_ubi' (for Colibri T20)
followed by one of:
'run update_kernel'
'run update_fdt' (for device tree enabled kernels)
'run update_rootfs'


If you don't have a working U-Boot anymore, connect your PC to the module's USB
client port, bring the module into the recovery mode and start the update.sh
script with the -d option. This will copy U-Boot into the module's RAM and
execute it.


Flash:

U-Boot 2016.11-2.8.2+g087e95a (Mar 31 2018 - 04:09:54 +0000)

TEGRA124
DRAM:  2 GiB
MMC:   Tegra SD/MMC: 0, Tegra SD/MMC: 1, Tegra SD/MMC: 2
In:    serial
Out:   serial
Err:   serial
Model: Toradex Apalis TK1 2GB V1.1B, Serial# 12345678
Net:   No ethernet found.
Hit any key to stop autoboot:  0 
Apalis TK1 # run setupdate
MMC: no card present
** Bad device mmc 1 **
MMC: no card present
** Bad device mmc 2 **
starting USB...
USB0:   USB EHCI 1.10
USB1:   USB EHCI 1.10
USB2:   USB EHCI 1.10
scanning bus 0 for devices... 1 USB Device(s) found
scanning bus 1 for devices... 1 USB Device(s) found
scanning bus 2 for devices... 2 USB Device(s) found
reading flash_blk.img
710 bytes read in 22 ms (31.3 KiB/s)
## Executing script at 81000000
reading apalis-tk1/flash_blk.img
2598 bytes read in 28 ms (89.8 KiB/s)
## Executing script at 81000000
enter "run update" to update the entire module
Apalis TK1 # run update
reading apalis-tk1/apalis-tk1.img
593408 bytes read in 79 ms (7.2 MiB/s)
switch to partitions #1, OK
mmc0(part 1) is current device

MMC write: dev # 0, block # 0, count 1159 ... 1159 blocks written: OK
reading apalis-tk1/mbr.bin
512 bytes read in 22 ms (22.5 KiB/s)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 0, count 1 ... 1 blocks written: OK
reading apalis-tk1/boot.vfat
16777216 bytes read in 1588 ms (10.1 MiB/s)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 8192, count 32768 ... 32768 blocks written: OK
reading apalis-tk1/zImage
5485016 bytes read in 542 ms (9.7 MiB/s)
writing zImage
5485016 bytes written
reading apalis-tk1/tegra124-apalis-eval.dtb
53872 bytes read in 37 ms (1.4 MiB/s)
writing tegra124-apalis-eval.dtb
53872 bytes written
reading apalis-tk1/root.ext4-100
67108864 bytes read in 6350 ms (10.1 MiB/s)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 40960, count 131072 ... 131072 blocks written: OK
reading apalis-tk1/root.ext4-101
67108864 bytes read in 6348 ms (10.1 MiB/s)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 172032, count 131072 ... 131072 blocks written: OK
reading apalis-tk1/root.ext4-102
67108864 bytes read in 6300 ms (10.2 MiB/s)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 303104, count 131072 ... 131072 blocks written: OK
reading apalis-tk1/root.ext4-103
67108864 bytes read in 6288 ms (10.2 MiB/s)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 434176, count 131072 ... 131072 blocks written: OK
reading apalis-tk1/root.ext4-104
67108864 bytes read in 6288 ms (10.2 MiB/s)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 565248, count 131072 ... 131072 blocks written: OK
reading apalis-tk1/root.ext4-105
67108864 bytes read in 6310 ms (10.1 MiB/s)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 696320, count 131072 ... 131072 blocks written: OK
reading apalis-tk1/root.ext4-106
67108864 bytes read in 6341 ms (10.1 MiB/s)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 827392, count 131072 ... 131072 blocks written: OK
reading apalis-tk1/root.ext4-107
67108864 bytes read in 6353 ms (10.1 MiB/s)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 958464, count 131072 ... 131072 blocks written: OK
reading apalis-tk1/root.ext4-108
67108864 bytes read in 6341 ms (10.1 MiB/s)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 1089536, count 131072 ... 131072 blocks written: OK
reading apalis-tk1/root.ext4-109
67108864 bytes read in 6352 ms (10.1 MiB/s)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 1220608, count 131072 ... 131072 blocks written: OK
reading apalis-tk1/root.ext4-110
67108864 bytes read in 6289 ms (10.2 MiB/s)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 1351680, count 131072 ... 131072 blocks written: OK
reading apalis-tk1/root.ext4-111
67108864 bytes read in 6286 ms (10.2 MiB/s)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 1482752, count 131072 ... 131072 blocks written: OK
reading apalis-tk1/root.ext4-112
29360128 bytes read in 2769 ms (10.1 MiB/s)
switch to partitions #0, OK
mmc0(part 0) is current device

MMC write: dev # 0, block # 1613824, count 57344 ... 57344 blocks written: OK
resetting ...

U-Boot 2016.11-2.8.2+g087e95a (Mar 31 2018 - 04:09:54 +0000)

TEGRA124
DRAM:  2 GiB
MMC:   Tegra SD/MMC: 0, Tegra SD/MMC: 1, Tegra SD/MMC: 2
In:    serial
Out:   serial
Err:   serial
Model: Toradex Apalis TK1 2GB V1.1B, Serial# 12345678
Net:   No ethernet found.
Hit any key to stop autoboot:  0 
Apalis TK1 #   env default -a
## Resetting to default environment
Apalis TK1 # saveenv
Saving Environment to MMC...
Writing to MMC(0)... done
Apalis TK1 # run emmcboot

The U-Boot Environment is already set to default. You can see it in the kernel log: [ 5.601540] No filesystem could mount root, tried: ext4

Sorry, but I am not convinced. Could you please actually post that kernel log in its entirety resp. the complete serial console boot log.

Could it be that you are using an unsupported Linux distribution to generate the update media?

Alternatively, you may try the Toradex Easy Installer which works around any such incompatibilities.

BTW: I don’t think an Apalis TK1 2GB V1.1B exist at all.

Try running update.sh with sudo and check if you’ve used that usb driver before check that all the files on it were replaced.

Could it be that you are using an unsupported Linux distribution to generate the update media?
That was the Problem. I used debian stretch.

BTW: I don’t think an Apalis TK1 2GB V1.1B exist at all.
I set the correct configblock…

Thanks for letting us know. We will have a look what flavour of tooling Debian Stretch uses which may not be compatible with our legacy update procedure.

I used to meet the same issue when upgrading from Ubuntu17.04 to ubuntu 17.10. On Ubuntu 18.04, I try it again, it is ok.