Can Jetson board support booting from 64GB SD Card?

Hi,

I’m trying to boot OS from the mmcblk1p1, instead of mmcblk0p1 (i.e., eMMC), so that I can have a larger disk to work on.

I followed the instructions on [1] to successfully boot the Linux from a 8GB SD card. Once I boot from the 8GB SD card and run

df -h

command, I see that the root “/” has 8GB space. I can create files on the 8GB SD card.

When I followed the exact same instructions on [1] for a 64GB SD card [2], I can boot from the 64GB SD card. Running

df -h

after the system boots up confirms that it boots from the 64GB SD card.

However, the 64GB SD card is “Read-only” after the system boots up. I cannot create any files on the SD card. I checked the booting message via the command

dmesg |grep -i ext4

, it gives the following information:

[   12.731657] EXT4-fs warning (device mmcblk1p1): ext4_end_bio:286: I/O error writing to inode 1447103 (offset 0 size 8192 starting block 5829554)
[   13.056681] EXT4-fs error (device mmcblk1p1): __ext4_journal_start_sb:62: Detected aborted journal
[   13.067835] EXT4-fs error (device mmcblk1p1): __ext4_journal_start_sb:62: Detected aborted journal
[   13.090270] EXT4-fs error (device mmcblk1p1): __ext4_journal_start_sb:62: Detected aborted journal
[   13.168270] EXT4-fs error (device mmcblk1p1): __ext4_journal_start_sb:62: 
[   13.168311] EXT4-fs error (device mmcblk1p1): __ext4_journal_start_sb:62: Detected aborted journal
[   13.169639] EXT4-fs error (device mmcblk1p1): __ext4_journal_start_sb:62: Detected aborted journal
[   13.171400] EXT4-fs error (device mmcblk1p1): __ext4_journal_start_sb:62: Detected aborted journal

Does this mean the SD card is corrupted?
I purchased two such SD cards and both show the same problem.

I’m wondering if it’s because the SD card is corrupted or it is because Jetson cannot support 64GB SD card?

[1] http://demotomohiro.github.io/hardware/jetson_tk1/setup/sdcard.html
[2] https://www.amazon.com/Transcend-Class-UHS-1-Memory-TS64GSDXC10U1/dp/B00AFTV3FC?ie=UTF8&camp=1789&creative=9325&creativeASIN=B00AFTV3FC&linkCode=as2&linkId=NUAGED2WHHHC4HPM&redirect=true&ref_=as_li_qf_sp_asin_il_tl&tag=jetsonhacks-20

Thank you very much for your help and advice!

A 64GB card should also work. I have found in the past that some SD cards work fine for data, but fail if used as a boot device. The name brand cards I’ve had success with are SanDisk and Samsung. Several other cards I tried fail only if used for a boot device, even when having the same rated speeds. You may be running into this.

A less likely possibility is a difference in partitioning and applying your root file system could get in the way…see if the mount messages are the same if mounting the SD cards on your desktop machine differ.

Thanks for the information! :-) At least I know it’s doable. :-)

I checked the disk I used by writing 30GB data into the disk after it’s mounted on the host machine. It reports I/O errors. So I think probably it’s because the disk is partially corrupted. (I got two such disks, both of them have some sectors corrupted… :-( )

I will get the SanDisk and see if it works.

Hi Linuxdev,

Thank you very much for your reply!

I purchased the SanDisk 64GB SD card [1] and followed the instruction at [2] to install the OS onto SD card. However, when I boot from the SD card, it reports the error as shown in below:

[    0.550740] mc-err: Started MC error interface!
[    8.593296] EXT4-fs warning (device mmcblk1p1): ext4_clear_journal_err:4498: Filesystem error recorded from previous mount: IO failure
[    8.628420] EXT4-fs (mmcblk1p1): warning: mounting fs with errors, running e2fsck is recommended
[   11.233504] PCIE: Response decoding error, signature: fc00002d
[   11.243310] PCIE: Response decoding error, signature: fc00002c
[   11.252807] PCIE: Response decoding error, signature: fc0003f1
[  309.243994] EXT4-fs (mmcblk1p1): error count: 3
[  309.244200] EXT4-fs (mmcblk1p1): initial error at 1466205078: __ext4_journal_start_sb:62
[  309.244386] EXT4-fs (mmcblk1p1): last error at 1466205078: __ext4_journal_start_sb:62

This error does not always cause the disk to be mounted as read-only now. However, I’m wondering if this could be a problem.

I tried the exact same steps on another host machine, and get the OS on the same type of SanDisk SD card I got. However, for this disk, the SD card is changed to read-only almost immediately after the system boots up. After I run e2fsck to fix the errors in the filesystems, the system can boot up with write permission on the SD card. However, there are many errors in terms of disk coming out, which make me worried.

My question is:

Did you see the similar error in your system when you boot OS from SD card?

[1] http://demotomohiro.github.io/hardware/jetson_tk1/setup/sdcard.html
[2] https://www.amazon.com/SanDisk-Extreme-Memory-Speeds-Ready-SDSDQXP-064G-G46A/dp/B00NUB3530?ie=UTF8&dpID=41XNCVzENIL&dpSrc=sims&preST=AC_UL160_SR160%2C160&refRID=098BKSXD3SZ05Y1F386J&ref_=pd_sim_147_5

Thank you very much for your help!

The one I use for SanDisk is marked as 40MB/s (which doesn’t actually fit any class definitions I’ve seen), SDHC Bus Logo 1 (it’s probably UHS-1), speed class 10 (this is defined as sufficient for full HD 1080P video recording). There is a LOT of variation on SD cards which are otherwise similar.

Quite often the file system errors are from when the file system was created…if you don’t mount and umount the card properly after making changes to it, it’s no different from yanking the power cord from your desktop computer. I didn’t use the external URLs you listed for my information, I just created ext4 on my desktop computer, unpacked sample rootfs onto it, and did the “apply_binaries.sh” step with the option to name the SD card mount point instead of using default, e.g., if your SD has a single partition seen by your desktop as /dev/sda1:

sudo -s
mkfs.ext4 /dev/sda1
mount /dev/sda1 /my/mount/point/for/sd
bunzip2 < Tegra_Linux_Sample-Root-Filesystem_R21.4.0_armhf.tbz2 | tar xv
./apply_binaries -r /my/mount/point/for/sd
umount /dev/sda1
exit

In that example, if someone had used cd to go into “/my/mount/point/for/sd”, then umount would fail as the partition would still be busy…yanking the SD card would corrupt the file system if the umount had not succeeded.

In cases where I had SD cards which worked for storage, but not for boot, I think they gave memory timeout errors…but that has been long ago, hard to remember now. Knowing more about your exact steps might help, but do be sure the SD card can be mounted and unmounted without error on your desktop machine before trying it as the root partition.