From Super Grub Disk Wiki
Jump to navigationJump to search

Super Grub Disk Design

Folders Structure

  • boot
  • dev_asgd
  • dev_grub
  • dev_knoppix
  • dev_sgd
  • doc
  • release
  • test_fs
  • tmp
  • /

Folders Structure Meaning

  • boot - Grub Binary Files
  • dev_asgd - Auto Super Grub Disk scripts
  • dev_grub - Patched Grub Source Code
  • dev_knoppix - The Disk source code Fork for live cds
  • dev_sgd - The Disk source code
  • doc - Some documentation
  • release - Empty folder where the release files are saved.
  • test_fs - Empty folder where the media target filesystem files are saved.
  • tmp - Empty folder for temporal files
  • / - Root folder with some scripts

Logic Design

  • Grub-itself
  • Super Grub Disk Bash Scripts
  • Super Grub Disk Menu.lst Scripts
  • Grub-itself is located at: dev_grub. It contains original GNU/Grub patched with SGD changes. Inside dev_grub there is:
    • Original GNU/Grub
    • Adam Lackornsky patch for variables
    • Several minor patches
    • Call/Back/SelectHd/SelectPart (from SGD) patches
  • Super Grub Disk Bash Scripts are located at: dev_sgd and they are often .sh files.
    • Root structure is:
      • brs - Boot Record Binary Files
      • common - Implementation scripts
      • conf - Some auxiliar scripts for the build process
      • gpl - Gpl2 text for outputting at copyright menu
      • lng - Bash Pseudo-language
      • tr - Translation files (Some few scripts and text files).
      • util - Some useful scripts. Some of them are used in the build process some others they aren't.

There are three kind of folders: Terminal folders, tree folders and link folders.

  • Terminal folders : Folders that have a body_menu.lst file with implementation code.
  • Tree folders: Folders that only contain other folders inside.
  • Link folders: Folders that have a body_menu.lst file that does not implement anything but some kind of links to other menues.

The most important folders from the build process point of view are:

  • common - Implementation scripts
  • lng - Bash Pseudo-language
  • tr - Translation files (Some few scripts and text files).

These three folders are merged during the build process. And from the build script they are seen as an only folder with this structure:

  • head_menu.lst : File to be prepended to resultant menu.lst
  • body_menu.lst : Main body of the menu.lst
  • tail_menu.lst : To be added to the end of menu.lst
  • help.txt or help/* : Help text file
  • conf/ : The *sh files will be run
  • conf/ : Script that defines the sgd menu title.
  • conf/ : Script that defines some messages that the users will see.
  • conf/ : Script that define the menu options.

If body_menu.lst does not exist the folder is treated as a tree folder. If body_menu.lst does exist then it is treated as a terminal folder.