read http://www.nioswiki.com/operatingsystems/uclinux (http://www.nioswiki.com/operatingsystems/uclinux) and some of the links provided there.
If you are doing your own harwdare, you indeed will need to create a hardware port for LEDs and buttons. The SOPC-Builder provides modules and instructions.
The "proper" way to access custom hardware in Linux indeed is writing device drivers. AFAIK the already is a "PIO" (or GIO) driver that allows for accessing the Altera Avalon PIO. For non-.standard hardware, again, see the Wiki. In simple cases, you can avoid doing drivers by "uio" (I did not try yet).
-Michael