I'm running linux on the beaglebone black. My system is running directly from the sdcard. To change the IO scheduler I need to configure /sys/block/xxx/queue/scheduler where xxx is the mounted drive. However there are only entries for mmc and ram in the /sys/block folder. How do I change the IO scheduler for my system mounted on sdcard?
You have 2 ways to setup the IO scheduler on Linux.
You defined a default IO scheduler for all block devices. You can do this by adding the parameter
elevator=deadline) to your boot prompt (if you use a recent Grub version, like v1.99 or 2.0, you can add this in the file /etc/default/grub, look for the parameter
GRUB_CMDLINE_LINUX which should be a list of parameters separated by spaces, and add the mentionned parameter).
If you want the IO scheduler to be specific to your SD Card, look for the corresponding
mmc* block device and set it during boot using your init system. E.g.
echo "deadline" > /sys/block/mmcblk0/queue/scheduler (which is btw the default value on my Raspberry Pi running Raspbian for my Micro SD Card)