I have had ucLinux running on the Altera NIOS II CPU, but imagine process for Xilinx would be much the same.
Full documentation for each of these steps would most likely run to many pages, so here is an outline - full notes can be found at
http://www.wiki.xilinx.com/MicroBlaze- Build you FPGA hardware design in a 'SoC builder' application. If you are using the latest Xilinx Vivado tools this would most likely be using the IP integrator. Not sure about the older ISE equivilent
- Implement your FPGA hardware design (i.e. build the configuration bitstream file used by the FPGA)
- Export the hardware configuration into config files for the software build. This might include building device trees and so on
- Install a cross-compile environment on your development system, so you can build binaries for the target CPU architecture.
- Build a minimum viable Linux environment. Usually a boot loader (U-Boot), a kernel, the root file system containing 'busybox'.
- Write the root filesystem to an SD card.
- Run the environment, using JTAG to download the software and FPGA images.
- Package that in s suitable manor to be written to the FPGA's configuration devices and/or an SD card. Usually the FPGA bitstream and boot loader will go into the on-board flash, the root file system and kernel goes onto the SD card. That way you can try different s/w configurations by swapping SD cards.
- With the correct jumper settings on the FPGA board, you should now be able to boot Linux without relying on any external host or hardware.