New issue
Advanced search Search tips

Issue 852848 link

Starred by 1 user

Issue metadata

Status: Unconfirmed
Owner: ----
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug



Sign in to add a comment

Unable to use MICRO-SDCARD >=64GB in file system ext4

Reported by alexaper...@gmail.com, Jun 14 2018

Issue description

UserAgent: Mozilla/5.0 (X11; CrOS armv7l 10323.67.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.209 Safari/537.36

Platform: 10323.67.0 (Official Build) stable-channel nyan_blaze

Chrome version: 65.0.3325.209  Channel: stable
OS Version: 10323.67.0
Flash Version: 29.0.0.113 


Network info: Wi-fi

Please specify Cr-* of the system to which this bug/feature applies (add
the label below).

Steps To Reproduce the problem:
sudo cgpt add -i 1 -b 64 -s 32768 -S 1 -P 5 -l KERN-A -t "kernel" /dev/sdb
sudo cgpt add -i 2 -b 65600 -s 122617759 -l ROOT-A -t "rootfs" /dev/sdb
sudo sync
sudo mkfs.ext4 /dev/sdb2
...
mke2fs 1.44.2 (14-May-2018)
/dev/sdb2 contains a ext4 file system labelled 'ROOT-A'
    created on Wed Jun 13 16:26:49 2018
Proceed anyway? (y,N) y
Suggestion: Use Linux kernel >= 3.18 for improved stability of the metadata and journal checksum features.   -----------> SHAME CHROME OS emblem to HP CHROMEBOOK G3
Creating filesystem with 15327219 4k blocks and 3833856 inodes
Filesystem UUID: c0153bc1-d680-4801-9543-c8fb08ea2bb8
Superblock backups stored on blocks:
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
    4096000, 7962624, 11239424

Allocating group tables: done                           
Writing inode tables: done                           
Creating journal (65536 blocks): done
Writing superblocks and filesystem accounting information: done  

sudo mount -t ext4 /dev/sdb2 /mnt/rar
mount: /mnt/rar: wrong fs type, bad option, bad superblock on /dev/sdb2, missing codepage or helper program, or other error.    

Expected Result:
Drive Mount at /mnt/rar

Actual Result:

sudo mount -t ext4 /dev/sdb2 /mnt/rar
mount: /mnt/rar: wrong fs type, bad option, bad superblock on /dev/sdb2, missing codepage or helper program, or other error.
 
sudo cgpt show /dev/mmcblk1
WARNING: Secondary GPT header is invalid
       start        size    part  contents
           0           1          PMBR
           1           1          Pri GPT header
           2          32          Pri GPT table
          64       32768       1  Label: "KERN-A"
                                  Type: ChromeOS kernel
                                  UUID: 516BA3A3-3C9D-6949-9241-2A4413ACD68F
                                  Attr: priority=5 tries=0 successful=1
       65600   122617759       2  Label: "ROOT-A"
                                  Type: ChromeOS rootfs
                                  UUID: A189B777-58A4-8146-A253-E9275C2F5912
          -1           1 INVALID  Sec GPT table
           1           1 INVALID  Sec GPT header
How frequently does this problem reproduce? (Always, sometimes, hard to
reproduce?)
Always

What is the impact to the user, and is there a workaround? If so, what is
it?

No workaround
No SDCARD > 32GB to use in this mmachine

Please provide any additional information below. Attach a screen shot or
log if possible.
Even I use  i/o USB ports is the same problem

For graphics-related bugs, please copy/paste the contents of the about:gpu
page at the end of this report.

 

Comment 1 by vapier@chromium.org, Jun 14 2018

Components: OS>Kernel OS>Systems
you need to look at `dmesg` to see if the kernel provided any useful info in there about the mount operation

you probably should also run `sudo partx -u /dev/sdb` after rewriting the partition table but before trying to use /dev/sdb2 to make sure the kernel is in sync with the layout on disk
Folow dmesg when i used usb (adapter) to Micro SDCARD
[ 5667.168060] usb 1-2.2: new high-speed USB device number 4 using xhci-hcd
[ 5667.217149] usb 1-2.2: New USB device found, idVendor=0bda, idProduct=0326
[ 5667.217163] usb 1-2.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 5667.217171] usb 1-2.2: Product: USB3.0 Card Reader
[ 5667.217178] usb 1-2.2: Manufacturer: Realtek
[ 5667.217184] usb 1-2.2: SerialNumber: 201404081410
[ 5667.224976] usb-storage 1-2.2:1.0: USB Mass Storage device detected
[ 5667.225388] scsi0 : usb-storage 1-2.2:1.0
[ 5668.233608] scsi 0:0:0:0: Direct-Access     Generic- USB3.0 CRW   -SD 1.00 PQ: 0 ANSI: 4
[ 5668.246211] scsi 0:0:0:1: Direct-Access     Generic- USB3.0 CRW   -SD 1.00 PQ: 0 ANSI: 4
[ 5669.303259] sd 0:0:0:1: [sdb] 131072000 512-byte logical blocks: (67.1 GB/62.5 GiB)
[ 5669.304516] sd 0:0:0:1: [sdb] Write Protect is off
[ 5669.304526] sd 0:0:0:1: [sdb] Mode Sense: 2f 00 00 00
[ 5669.306392] sd 0:0:0:0: [sda] Attached SCSI removable disk
[ 5669.307921] sd 0:0:0:1: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA  ******** LOOK HERE
[ 5669.352415] Alternate GPT is invalid, using primary GPT.
[ 5669.352452]  sdb: sdb1 sdb2
[ 5669.356623] sd 0:0:0:1: [sdb] Attached SCSI removable disk
[ 5737.809500]  mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12
[ 5742.552301] Alternate GPT is invalid, using primary GPT.
[ 5742.552333]  sdb: sdb1 sdb2
[ 5742.602219] Alternate GPT is invalid, using primary GPT.
[ 5742.602255]  sdb: sdb1 sdb2

Comment 3 by vapier@chromium.org, Jun 14 2018

is that the dmesg after you ran `mount` ?

you can run `cgpt repair` on the device to fix up the alternate GPT too
 vapier ,

       Whenever I clean up i start again the device (64GB sdcard) either it's usb (Adapter) or directly by the micro Sdcard creating the gpt table, partitions 1 & 2 , as you saw previously describe by the bug after I insert the MOUNT command the gpt table backup corrupts
        Even using gpt options to repair the backup table as main table as good as you see in dmesg after i insert again the command MOUNT the system CRASH my GPT TABLE in the device sdcard > 64GB 

Comment 5 by vapier@chromium.org, Jun 14 2018

sorry, but i don't understand what you're trying to say

please run these series of commands and copy & paste the exact terminal session

  sudo -i
  dmesg -c
  fdisk -l /dev/sdb
  dd if=/dev/zero of=/dev/sdb bs=4M count=1
  cgpt add -i 1 -b 64 -s 32768 -S 1 -P 5 -l KERN-A -t "kernel" /dev/sdb
  cgpt add -i 2 -b 65600 -s 122617759 -l ROOT-A -t "rootfs" /dev/sdb
  cgpt repair /dev/sdb
  cgpt show /dev/sdb
  sync
  partx -u /dev/sdb
  mkfs.ext4 /dev/sdb2
  mkdir -p /mnt/rar
  mount /dev/sdb2 /mnt/rar
  dmesg -c
Ok , a lot of work to prove your eyes

     I exclude the variable (USB-adapter to micro-sdcard) of this equation and running this command DIRECT to micro-sdcard reader of this machine HP Chromebook 14 G3 ---.as knew in the system dev/mmcblk1.
     Ok follow the file documment in .pdf as you wish

MicroSDCARD high-thanorequal 64GB BUG step by step.pdf
147 KB Download

Comment 7 by vapier@chromium.org, Jun 14 2018

i'm not sure the partition/filesystem aspects are relevant.  the kernel log & cgpt output makes it look like the card is seeing data corruption for some reason.  once you do `cgpt repair`, `cgpt show` shouldn't list the GPT entries as invalid.

are you only seeing problems with this card ?  do other cards have issues ?

what card are you using exactly ?
This card not have any problem when i use format  fat32 file system and use the same card reader HW and the same machine with chromeOS HP 14 chromebook G3 nyan-blaze 
This card is the same model and speed  and brand (SANDISK Ultraplus RED)  with 32 GB of capacity i have and  work with ext4 Filesystem with the same partitions/filesystem you call relevant using the same HW.
The difference between one and the other is the capacity of 64 GB
Follow proof about the model / cards / 
sdcards brothers.jpg
517 KB View Download
being able to format it with a different FS format isn't proof that the driver/hardware is working correctly.  every FS has wildly different I/O behavior, so if ext4 formatting/mounting pushes the cards harder than fat32, then it's perfectly understandable that you'd see bugs using one but not the other.
Ok you agree the system has a bug !
i agree it's a possibility

can you file feedback (Alt-Shift-i) and in the text, mention this bug by URL/number ?  that'll gather system logs for us to look at for further debugging.
that URL is only valid for you.  it doesn't work for others.

i found it here (for internal users): https://listnr.corp.google.com/report/85501637240
Vapier,

    When the Status: 	Unconfirmed will change ?

Thanks !!!
#6, You ran:
mount /dev/mmcblk1 /mnt/rar

while the right command is:
mount /dev/mmcblk1p2 /mnt/rar


I found that when creating the partition table we also need to create a PMBR. I am wondering it the kernel is using an old partition table to present mmcblk1p2 device.

What works for me on 3.10 and 4.4 on a 128GB SD card:

dmesg -c
fdisk -l /dev/mmcblk1
dd if=/dev/zero of=/dev/mmcblk1 bs=4M count=1
cgpt create /dev/mmcblk1
cgpt boot -p /dev/mmcblk1
cgpt add -i 1 -b 64 -s 32768 -S 1 -P 5 -l KERN-A -t "kernel" /dev/mmcblk1
cgpt add -i 2 -b 65600 -s 250131871 -l ROOT-A -t "rootfs" /dev/mmcblk1
cgpt repair /dev/mmcblk1
cgpt show /dev/mmcblk1
sync
partx -u /dev/mmcblk1
mkfs.ext4 -E nodiscard /dev/mmcblk1p2
mkdir -p /tmp/rar
mount /dev/mmcblk1p2 /tmp/rar
dmesg -c



screen-exchange
59.0 KB View Download
Hi Gwenda !!!

 Like Dummy I follow your isntructions : see 

localhost ~ # fdisk -l /dev/mmcblk1
Disk /dev/mmcblk1: 62.5 GiB, 67108864000 bytes, 131072000 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: DA125270-7E88-4EF4-9792-58105EA2E0F1

Device         Start       End   Sectors  Size Type
/dev/mmcblk1p1    64     32831     32768   16M ChromeOS kernel
/dev/mmcblk1p2 65600 122683358 122617759 58.5G ChromeOS root fs
localhost ~ # dd if=/dev/zero of=/dev/mmcblk1 bs=4M count=1
1+0 records in
1+0 records out
4194304 bytes (4.2 MB, 4.0 MiB) copied, 1.53163 s, 2.7 MB/s
localhost ~ # cgpt create /dev/mmcblk1
WARNING: Primary GPT header is invalid
localhost ~ # cgpt repair /dev/mmcblk1
localhost ~ # cgpt create /dev/mmcblk1
localhost ~ # cgpt boot -p /dev/mmcblk1
00000000-0000-0000-0000-000000000000
localhost ~ # cgpt add -i 1 -b 64 -s 32768 -S 1 -P 5 -l KERN-A -t "kernel" /dev/mmcblk1
localhost ~ # cgpt add -i 2 -b 65600 -s 250131871 -l ROOT-A -t "rootfs" /dev/mmcblk1
ERROR: Entry outside of valid region
ERROR: -i 2 -l ROOT-A -b 65600 -s 250131871 -t 3CB8E202-3B7E-47DD-8A3C-7FF2A13CFCEC 
localhost ~ # cgpt add -i 2 -b 65600 -s 122617759 -l ROOT-A -t "rootfs" /dev/mmcblk1
localhost ~ # cgpt repair /dev/mmcblk1
localhost ~ # cgpt show /dev/mmcblk1
       start        size    part  contents
           0           1          PMBR
           1           1          Pri GPT header
           2          32          Pri GPT table
          64       32768       1  Label: "KERN-A"
                                  Type: ChromeOS kernel
                                  UUID: 301EF5D8-A033-104A-919F-BAFAA892E53F
                                  Attr: priority=5 tries=0 successful=1 
       65600   122617759       2  Label: "ROOT-A"
                                  Type: ChromeOS rootfs
                                  UUID: E75C54D7-9BE2-1346-8ADB-38263E17AFFD
   131071967          32          Sec GPT table
   131071999           1          Sec GPT header
localhost ~ # sync
localhost ~ # partx -u /dev/mmcblk1
localhost ~ # mkfs.ext4 -E nodiscard /dev/mmcblk1p2
mke2fs 1.43.6 (29-Aug-2017)
/dev/mmcblk1p2 contains a ext4 file system
        created on Mon Jun 18 13:15:39 2018
Proceed anyway? (y,N) y
Creating filesystem with 15327219 4k blocks and 3833856 inodes
Filesystem UUID: 6a601fa2-903b-4054-8afc-f325fe056aa9
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000, 7962624, 11239424

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (65536 blocks): done
Writing superblocks and filesystem accounting information: done   

localhost ~ # mkdir -p /tmp/rar
localhost ~ # mount /dev/mmcblk1p2 /tmp/rar
mount: wrong fs type, bad option, bad superblock on /dev/mmcblk1p2,
       missing codepage or helper program, or other error

       In some cases useful info is found in syslog - try
       dmesg | tail or so.
localhost ~ #echo ' DO USE THE RIGHT CHROMEBOOK MODEL TO TEST ?'

text.txt
75.9 KB View Download
Guenda ,


    When the Status: 	Unconfirmed will change ?

Thanks !!!
text.txt shows a lo of IO errors on mmcblk1, try another sd card.
This error of IO start in [   19.871996] when I start put the sdcard to the card reader and stops in [   91.049385] mmc2: card 2145 removed when I remove from

I use adapter (MicroSd to USB) in   [112.636498]  sdb: sdb1 sdb2
[  112.642898] sd 0:0:0:1: [sdb] Attached SCSI removable disk
to clean up the micro sdcard.

                    AND ....
In [  493.759683] usb 1-2.2: USB disconnect, device number 4 I remove from

                        NOW ...
After that start you procedure you gave to me you see in

 [ 503.337478] mmc2: host does not support reading read-only switch. assuming write-enable.
[  503.341010] mmc2: new high speed SDXC card at address 2145
[  503.364626] mmcblk1: mmc2:2145 APPSD 62.5 GiB 
[  503.371187] Alternate GPT is invalid, using primary GPT.
[  503.371205]  mmcblk1: p1 p2
[  951.352289] JBD2: no valid journal superblock found
[  951.352302] EXT4-fs (mmcblk1p2): error loading journal

end of you procedure you gave to me... Its not sdcard !!! 
Guenda ,


    When the Status: 	Unconfirmed will change ?

Thanks !!!
To confirm is not sd card related, use a different SD card. Resend the whole output of script in #16. 

Thanks
Gwendal.
SanDisk Ultra PLUS 64 GB its not compatible with ext4 FS Linux Chromebook 3.10 for sure.. I test with Ubuntu Linux Kernel 4.4 and  when I using fat32/vfat  flying OK both Kernels!!!. I dont have resource to be testing sdcards with another Brands to discover what the kernel its compatible to run ext4 > 32GB
DAMM !!!

259/5000
Hi gwendal,

Finally I was able to buy a new sdcard for testing on chromebook chormeOS 3.10 follows the attached photo.
I performed all the script in #16 by changing the bytes of parttition 2 for the new size script.txt attached and dmesg -c in dmesg.txt
 
Its a B    .       U        .     G

When the Status: 	Unconfirmed will change ?

Thanks !!!

I spend 24.99 Dollars for this new SDCARD  brand new Sdcard.jpg

Script.txt
3.3 KB View Download
dmesg.txt
113 bytes View Download
Brand New SDCARD 128G .jpg
566 KB View Download
The way I go around in the journal error it's format with this command:

mkfs.ext4 -E nodiscard -t ext4 -O ^has_journal /dev/mmcblk1p2

Sign in to add a comment