Jetson tk 1 doesn't boot after flashing Linux For Tegra R19.3

Hello,

I’ve just received my board withh 19.2 already in and tried to flash the release 19.3.
Extracted,c onnected with the micro-usb cable, gone in recovery mode, applied binaries, flashed using “sudo ./flash.sh -S 8GiB jetson-tk1 mmcblk0p1” and everything seems worked fine.
But…
The board rebooted itself just to go into kernel panic.

it says:
Ext4-fs (mmcblk0p1): couldn’7 mount as ext2 due to feature incompatibilities
Ext4-fs (mmcblk0p1): recovery complete
Ext4-fs (mmcblk0p1): mounted filesystem with ordered data mode. opts: (null)
VFS: Mounted root (ext4 filesystem) on device 179:1.
devtmpfs: error mounting -2
Kernel panic - not syncing: No init found. Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.

then a long list of exceptions before stopping to boot.
I’ve tried to flash it again, also tried to specify -k 6, each time everything seems to properly works, but every time turns out in this error.

Seems like the boot sector is damaged, or something like that.
The only thing I can think is that the first time I flashed the sdcard was inserted, maybe something has been written there instead the boot eMMC?

Any help would much appreciated, thanks

The 8GiB is approaching minimum…this could possibly be an issue. Try with 14GiB, or at least 9GiB.

When using fastboot (the default) kernel partition is 6 (I forget whether this was lower case “-k 6” or upper case “-K 6”), try that. Better yet, use u-boot (bootloader/u-boot.bin).

Some people fail when their host machine does not have /dev/loop0 available. Sometimes the host can’t handle file permissions correctly because it is on a virtual machine with a non-linux file system under it (those file systems can’t understand linux permissions). Sometimes file permissions cause failure because one of the commands was not done as root (or sudo), e.g., flash.sh and file unpacking MUST be done as root or sudo.

I am facing the same exact problem. Did you find a solution for this?

Thank you.

What was your exact flash command? Also, describe your linux host, e.g., is it Ubuntu, is it running under a VM or direct?

I am using Ubuntu 14.04.1 LTS on my desktop. NOT a virtual machine.

and the I tries using both the flash commands:

sudo ./flash.sh -r -S 14580MiB jetson-tk1 mmcblk1p1
sudo ./flash.sh -r -S 14580MiB jetson-tk1 mmcblk0p1

Neither worked for me.

On the L4T version, is this R19.x or R21.x? The reason I ask is because of the “-r” option you listed. The time to flash was drastically reduced from R19.3 to R21.1, and this resulted in a change in how re-use works. This might matter.

You should use only mmcblk0p1 until you know you have the procedure down; once you know things work, remember that you cannot re-use an image if anything changes in the boot loader…changing between eMMC (mmcblk0p1) and SD (mmcblk1p1) will invalidate an image, as well as switching from one release of L4T to another.

However, the basics of the above commands and environment look correct.

I am using 19.3.

I am already able to use Memory card which works great using U-boot. I am trying to get it set up on emmc (mmcblk1p1) and I am facing the problem.

eMMC is mmcblk0p1. Try with a fresh image instead of using -r. The requirements for what is in an image will change depending on boot loader. Make sure to manually name the boot loader as u-boot if that is what you want…which I highly recommend.

Sorry my bad. Its mmcblk0p1 that i tried. I am actually using a system.img from jedroid (Android for Jetson TK1) I was able to run android from SD Card.

But when i try to flash it onto emmc (mmcblk0p1) I get that error. What I don’t get is init files are already there when I tried to extract the ramdisk.img file which is used in making boot.img

and boot.img is in Partition #6.

I am simultaneously trying fastboot option, but no luck so far!

Partition 6 (if L4T) only matters under fastboot…u-boot ignores this. u-boot itself may be different between the different distributions, e.g., the tegra124 chip will be initialized differently between the version of R19.x u-boot, R21.x u-boot, and possibly Jedroid. One of the more obvious differences between R19.x and R21.x is the change which makes SATA no longer bootable. I’m personally trying to figure out some of the differences between R19.x and R21.x u-boot, it isn’t completely clear yet.

Unlike a PC with a BIOS or firmware built into the motherboard itself there is a lot of initialization which must be performed by the boot loader itself…I couldn’t say at the moment how each version differs in initializing the tegra124 chip, but it is a safe bet that the drivers used plus the u-boot initialization plus firmware plus flattened device tree blob all combine in ways that make interchangeability of each of those components a bad bet. If any one of these components change you should build a completely new image (you could of course copy images to a backup location and copy them back in as needed).

Thank you for the reply. I would actually prefer fastboot over u-boot. Even if I am using fastboot, I am stuck at the kernel unable to find init. I am building the boot.img with the default flash script.

Is there a way to actually do this using 19.3 version?

This is something I’m still studying (partitioning and initial layout). But FYI, the -k 6 option for partition 6 under fastboot is for the kernel image itself, and so far as I know not an initial ramdisk. Any drivers should probably be built directly into the kernel for this case. It isn’t unusual for there to be a failure to find init if one of the drivers for filesystem or memory controller to be incorrect.

Are you looking for a traditional R19.3 boot with fastboot, or are you trying to modify the System.img for something else? You mentioned Jedroid earlier. Also, is this purely the Jetson hardware, without the need for external drivers (such as mini-PCIe controllers)?

I am looking for traditional R19.3 with fastboot, I am using pure Jetson hardware.

Traditional R19.3 should just work with fastboot:

sudo flash.sh -S 14580MiB jetson-tk1 emmcblk0p1

No naming of fastboot should be needed, this is the default in R19.3. Just don’t reuse an image which was not specific to R19.3 and fastboot.

When you say flash.sh which flash script are you referring to? I have one in jedroid, one in Tegra124_Linux_R19.3.0_armhf and one in NVPACK installed by TADP.

Jedroid must not be mixed with L4T, and various releases of L4T should also not be mixed. In this case it refers to the R19.3 flash.sh and sample rootfs.

I had the same problem as you.
You forgot one important step and that is to set up the root file system.
Execute the following commands:

cd Linux_for_Tegra/rootfs

… and download sample root filesystem to that directory:

wget http://developer.download.nvidia.com/akamai/mobile/files/L4T/Tegra_Linux_Sample_Root-Filesystem_armhf.tbz2

… extract the tarball

sudo tar jxpf Tegra_Linux_Sample_Root-Filesystem_armhf.tbz2

… then go to top level directory Linux_for_Tegra/ and execute following command:

sudo ./apply_binaries.sh

After this repeat flashing command:

sudo ./flash.sh jetson-tk1 mmcblk0p1

and everything should work.