0

I have a 2018 samsung chromebook pro upon which I've installed crouton. I have only one chroot installed using crouton. Everything is going well, except that I appear to be out of space on the rootfs. Here is the output of sudo df -h:

chronos@localhost / $ sudo df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/root                1.7G  1.7G   41M  98% /
devtmpfs                 1.9G     0  1.9G   0% /dev
tmp                      1.9G  3.0M  1.9G   1% /tmp
run                      1.9G  688K  1.9G   1% /run
shmfs                    1.9G   29M  1.9G   2% /dev/shm
/dev/mmcblk0p1            53G  8.7G   41G  18% /mnt/stateful_partition
/dev/mmcblk0p8            12M   28K   12M   1% /usr/share/oem
/dev/mapper/encstateful   16G   81M   16G   1% /mnt/stateful_partition/encrypted
media                    1.9G     0  1.9G   0% /media
none                     1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/loop1               450M  450M     0 100% /opt/google/containers/android/rootfs/root
/dev/loop2               4.0K  4.0K     0 100% /opt/google/containers/arc-removable-media/mountpoints/container-root
/dev/loop3               4.0K  4.0K     0 100% /opt/google/containers/arc-sdcard/mountpoints/container-root
/dev/loop4               4.0K  4.0K     0 100% /opt/google/containers/arc-obb-mounter/mountpoints/container-root
imageloader              1.9G     0  1.9G   0% /run/imageloader
tmpfs                    1.9G  4.0K  1.9G   1% /run/arc/oem
tmpfs                    1.9G     0  1.9G   0% /run/arc/sdcard
tmpfs                    1.9G     0  1.9G   0% /run/arc/obb
tmpfs                    1.9G     0  1.9G   0% /run/arc/media
tmpfs                    1.9G     0  1.9G   0% /run/arc/adbd
passthrough              1.9G     0  1.9G   0% /run/arc/media/removable
/dev/fuse                 53G  8.7G   41G  18% /run/arc/sdcard/default/emulated
/dev/fuse                 53G  8.7G   41G  18% /run/arc/sdcard/read/emulated
/dev/fuse                 53G  8.7G   41G  18% /run/arc/sdcard/write/emulated
tmpfs                    128K   12K  116K  10% /var/run/crw

As you can see, my rootfs is nearly full, and there is a whole bunch of other junk that is apparently normal for chromeos. I've read up on similar questions, but some of my confusions are still unanswered.

This is my current understanding (please correct me if I'm wrong):

  1. chromeos mounts Downloads to the stateful_partition, meaning that a google user is not writing to the rootfs when downloading files.
  2. This implies that the rootfs is really just for the kernel files, and therefore should be small.
  3. Crouton installs chroots to the stateful_partition, which means that a chroot does not take up any partition space in the rootfs.

Outstanding questions:

  1. What is /mnt/stateful_partition really for? Specifically, why does it have to be in /mnt?
  2. Why don't I have a home partition?
  3. Does my disk usage look normal?
  4. Weird thing: Within the chroot, I can only wget sufficiently large files if I first free up space. Is this a space constraint imposed by crouton? Or is the chroot somehow writing to the full rootfs?
  5. What are these extra partitions for? My storage capacity is 32GB, but the SD slot seems to have capacity for 53G * 3. Is this just a partition scheme that is ready to accept and mount a variably sized SD?

Here is sudo df -h from within the chroot:

Filesystem               Size  Used Avail Use% Mounted on
/dev/mmcblk0p1            53G  8.7G   41G  18% /
devtmpfs                 1.9G     0  1.9G   0% /dev
shmfs                    1.9G   36M  1.9G   2% /dev/shm
tmp                      1.9G  3.0M  1.9G   1% /tmp
tmpfs                    385M   12K  385M   1% /run
tmpfs                    5.0M     0  5.0M   0% /run/lock
run                      1.9G  688K  1.9G   1% /var/host/dbus
/dev/mapper/encstateful   16G   81M   16G   1% /var/host/timezone
/dev/root                1.7G  1.7G   41M  98% /lib/modules/3.18.0-17866-g4dfef3905aba
media                    1.9G     0  1.9G   0% /var/host/media
none                     1.9G     0  1.9G   0% /sys/fs/cgroup
none                     1.9G  4.0K  1.9G   1% /sys/fs/selinux
  1. Why is mmcblk0p1 53GBs when I only have 32GB of storage available?
  2. The /dev/root is mounted on /lib/modules/3.18.... This appears to be the rootfs in chromeos. Why does crouton use this, and what is it for?

1 Answers1

0

the rootfs is read-only which means it's never written to so it being almost full all the time is normal and not a problem. the majority of the storage is in the stateful partition by design.

crouton is normally installed in /usr/local which is on the stateful partition which means it has access to all available storage.

df output shows mounts, not partitions. if you want to view partitions, you need to run something like cgpt show /dev/mmcblk0.

df output can be confusing when using bind mounts, so you'll see the originating device and not the subpath that was bind mounted. that's why you see /dev/root when a bind mount was created specifically to the /lib/modules/... subdir.

Mike Frysinger
  • 2,827
  • 1
  • 21
  • 26