Like you said, the Galileo can work without using the SD card. The Galileo just needs a Linux Image to boot. Internally, it has a "small" Linux Image which allow the board to boot. You can use the board with that internal Image without any problems, but it has some limitations, for example you won't be able to perform WiFi applications since the drivers are not included in the internal Linux Image. Here is where the SD card take place.
You can download the complete Linux Image and store it in the SD card. The Galileo will boot from the SD card and run the complete Linux Image instead of the internal Image. You will be able to perform more applications, store files permanently, install packages, etc. That is the main difference. You can download the complete Linux Image (SD-Card Linux Image) from here: Galileo Software Downloads
Regarding the firmware, it doesn't refer to the Linux Image. The firmware of the board is the interface between the hardware and the software. It is recommended to keep the firmware version always updated because there are some features that are added and some bugs that are fixed with newer versions. The firmware is stored in the FLASH memory of the board.
I hope you find this information helpful.
Thanks for the reply. Liked. Here is my understanding. Please check if it is correct.
- The 8Mbyte flash contains this firmware that interfaces between the hardware and software as well as a minimal Embedded Linux. This minimal Embedded Linux boots up to the RAM. This is why it cannot store files permanently and cannot remember Arduino sketches uploaded. Is this correct?
- The hardware-software interface firmware is responsible for deciding whether to boot Linux from SDCard or flash. Correct? What else does it do? Any links for better understanding.
For the question number one you are correct. If the board boots from the Internal Linux Image you won't be able to permanently store any file. You can create files, directories, etc, but they will be erased after a reboot.
For the question number two you aren't correct. The firmware is the interface between the software-hardware. It is like the instruction set the software should follow in order to access correctly the hardware of the board. The firmware doesn't choose which Linux Image the board will boot from. During the start-up, the board will try to boot from the SD Card, if there is no SD Card or if there isn't an Image to boot from it, the board will boot from its Internal Image. Take a look to this article, there is a explanation about what a firmware is: What is firmware?