How do I view root ( / ) with Termux if termux-setup-storage doesn't help? After reviewing this, I used termux-setup-storage on my phone and Andy Android emulator.

After running the above command, I am able to view root directory with ls
on Andy emulator but not on phone.

INFO:
Android version 7.1.1
Xperia XZ
SoftBank locked the phone BIOS (or whatever it was) so I can't root it.
Storage permissions are granted. 

What else can I try to use ls on root directory on my phone?
termux-setup-storage only grants android.permission.WRITE_EXTERNAL_STORAGE that lets the app access internal SD card i.e. /sdcard.

Android's init creates rootfs / with permissions 0:0 (uid:gid) and 0755 (mode). So the root directory should be accessible to any non-root user.
However SELinux plays its role restricting unauthorized access to rootfs. You can view such policy denials by:

dmesg | grep 'avc: denied'


* Most probably SELinux will deny this command too if run from non-root app

To view all SEPolicy rules, sesearch tool from setools-android can be used.

To set SELinux permissive:

echo 0 &gt;/sys/fs/selinux/enforce
# or
setenforce 0


Or add an exception to SELinux policy:

supolicy --live 'allow untrusted_app rootfs dir { read open }'


* supolicy tool is provided by rooting solutions e.g. Magisk, SuperSu

This policy allows reading rootfs but still you may get errors because reading attributes of files/directories under rootfs isn't permitted by policy.

Also both solutions need root privileges and are nonpersistent i.e. need to be set after reboot.

So if you are running a non-rooted production build of Android (with enforcing SELinux), you won't be able to read rootfs /.