User Tools

Site Tools


en:batocera.linux_architecture

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
en:batocera.linux_architecture [2018/09/30 22:54]
nadenislamarre
en:batocera.linux_architecture [2019/09/30 06:21] (current)
lbrpdx
Line 2: Line 2:
  
 ==== Buildroot ==== ==== Buildroot ====
-batocera.linux is based on buildroot. You can see buildroot as a linux distribution while it maintains base packages. However, it's a tool to build root file systems (like a firmware). batocera.linux mainly includes extra packages not available on buildroot (emulators) and configuration.+batocera.linux is based on buildroot. You can see buildroot as a Linux distribution while it maintains base packages. However, it's a tool to build root file systems (like a firmware). batocera.linux mainly includes extra packages not available on buildroot (emulators) and configuration.
  
 More information about buildroot can be found here : [[https://​buildroot.org]] More information about buildroot can be found here : [[https://​buildroot.org]]
Line 8: Line 8:
 ==== System mount points / firmware / overlays ==== ==== System mount points / firmware / overlays ====
 Technically,​ batocera.linux has 2 partitions. 1 for the system, 1 for the user data. Technically,​ batocera.linux has 2 partitions. 1 for the system, 1 for the user data.
-The partition named BATOCERA visible on any computer under Windows ​or Mac or Linux is the system data.+The partition named BATOCERA visible on any computer under Windows, MacOS or Linux is the system data.
  
 It contains mainly 3 files : It contains mainly 3 files :
-  * linux, the technical system (about ​5 mB+  * ''​linux''​, the technical system (about ​10 MB
-  * batocera, the software system containing all the programs (about ​300mB compressed) +  * ''​batocera''​, the software system containing all the programs (about ​1.1GB compressed) 
-  * initrd.gz or uInitrd, the loader (some kB)+  * ''​initrd.gz'' ​or ''​uInitrd''​, the loader (about 600 kB)
  
-Upgrade ​the system means to upgrade ​mainly these 3 files.+Upgrading ​the system means mainly ​that these 3 files are getting upgraded.
 There are some other files depending on the architecture. There are some other files depending on the architecture.
  
-The file batocera can be seen like a firmware, you cannot modify it. However the architecture is a bit more complex and allows you to modify the firmware without recompiling everything : the batocera.linux supports and uses by default overlayfs. The real system is the firmware (the file batocera) + a filesystem in memory initialized with the file overlay if it exists. The overlay is an in memory ​fs and not directly the overlay file because under linux, you cannot properly unmount the root filesystem, mainly when it's a complex root from several filesystems. ​In general, the file overlay doesn'​t exist, it's created by the script ​recalbox-save-overlay.sh if a developper customize ​the system.+The file ''​batocera'' ​can be seen like a firmware, you cannot modify it. However the architecture is a bit more complex and allows you to modify the firmware without recompiling everything : batocera.linux supports and uses by default ​**overlayfs**. The real system is the firmware (the file ''​batocera''​) + a filesystem in memory initialized with the file overlay if it exists. The overlay is an in-memory ​filesystem ​and not directly the overlay file because under linux, you cannot properly unmount the root filesystem, mainly when it's a complex root from several filesystems. ​ 
 + 
 +As a general ​rule, the file ''​overlay'' ​doesn'​t exist, ​unless ​it's created by the script ​''​batocera-save-overlay'' ​if a user or developer customizes ​the system.
  
   +--------------------------------+   +--------------------------------+
Line 30: Line 32:
 ==== Sdcard / EMMC / Usb key / Hard drive ==== ==== Sdcard / EMMC / Usb key / Hard drive ====
  
-When you create the card to run batocera.linux,​ the card is more complex than a basic card, and it'​s ​dependant of the architecture. It's why you need a special tool to burn it.+When you create the card to run batocera.linux,​ the card is more complex than a basic card, and it'​s ​dependent on the architecture. It's why you need a special tool to burn it.
  
-  * BEFORE BOOT : these are technical files to be able to access the BOOT partition and run the linux kernel.+  * BEFORE BOOT : these are technical files to be able to access the BOOT partition and run the Linux kernel.
   * BOOT : this partition is visible on Windows. This is where the batocera.linux system is.   * BOOT : this partition is visible on Windows. This is where the batocera.linux system is.
-  * FREE : this free space is filled with a SHARE partition on the first boot to save all the user data (roms). +  * FREE : this free space is filled with a SHARE partition on the first boot to save all the user data (ROMs and ancillary files like screenshots,​ video snaps and so on). 
-  * SHARE : this partition replaces FREE at the first boot. It is partitionned ​as EXT4.+  * SHARE : this partition replaces FREE at the first boot. It is partitioned ​as EXT4.
  
 === RPI SD CARD == === RPI SD CARD ==
en/batocera.linux_architecture.txt · Last modified: 2019/09/30 06:21 by lbrpdx