Skip to content

V2 installation

rgaudin requested to merge _v2-installation into v2master

Important modifications to the installation process

Catalogs

  • replaced flat list of catalog URLs with a list of dict (name, url, description)
  • catalogs are now defined only in this file and sent to ansiblecube (no duplicates)
  • dict is populated upon import so network is used only once (kiwix catalog is huge)
  • no change for the user ; popup window is still raised upon load error

Constants (data.py)

  • removed ref to pibox_ideascube_conf.py (moved to ansiblecube)
  • removed refs to raspbian (moved to contents.json)
  • removed constant sizes for projects (now calculated in backend/content via contents.json)
  • added constant for cache_folder, content_file and help_url

Utils (progress, human sizes)

  • factorized clear variables for GB and GiB
  • added ProgressHelper, a progression manager to be used by CLILogger and Logger (GUI)
  • changed human_readable_size() to it uses humanfriendly lib
  • moved the CLILogger from cli.py as now used on both cli.py and image.py
  • removed compute_space_required as now superseeded in backend/content

New run_installation() scenario

  • added sysreq check at the beginning
  • replaced raspbian download with master download using contents.json
  • extract master image using helper
  • create the content collection (all downloads and callbacks)
  • download all contents into the cache (so it fails/succeeds early)
  • run ansiblecube's phase_one (resize,rename,reconfigure)
  • mount the image's third partition on the host
  • run the collection's callbacks on the host (copy/extract contents)
  • unmount the partition from the host
  • run ansiblecube's phase_two (move-content,seal)
  • write to SD-card if required (unchanged)
  • revert chmod on SD-card device (macos, linux)

Merge request reports