A system and method for executing software modules on a computer, the method comprising: executing (S4) a bootloader (15, 16), at least partly (16) in the computer (101); and upon execution of the bootloader: accessing (S5) requirements as to an initial set (IS) of software modules (SMn); and hardware specifications of the computer; determining (S6) within said initial set, one or more candidate sets (CS1, CS2) of software modules that are compatible (S6a) with said hardware specifications and can (S6b) be stored as a RAM disk; and storing (S9) the software modules of a final set (FS) on a RAM disk (121), the final set (FS) being one of the one or more candidate sets, and instructing to execute the software modules stored on the RAM disk, wherein each of the initial set and the final set of software modules comprises application components and operating system image components, and preferably further comprises hardware component drivers.