Giter Site home page Giter Site logo

calamares / calamares Goto Github PK

View Code? Open in Web Editor NEW
1.3K 69.0 388.0 81.32 MB

Distribution-independent installer framework

Home Page: https://calamares.io

CMake 4.84% Shell 1.56% QML 7.51% C++ 74.11% C 0.63% Python 8.06% Roff 3.29%
hacktoberfest calamares linux installer

calamares's Introduction

Calamares: Distribution-Independent Installer Framework


Current issue GitHub release GitHub Build Status GitHub license

Report a Bug Translate Contribute Chat on Matrix: #calamares:kde.org Wiki

Calamares is a distribution-independent system installer, with an advanced partitioning feature for both manual and automated partitioning operations. Calamares is designed to be customizable by distribution maintainers without the need for cumbersome patching, thanks to third-party branding and external modules support.

Target Audience

Calamares is a Linux installer; users who install Linux on a computer will hopefully use it just once, to install their Linux distribution. Calamares is not a "ready to use" application: distributions apply a huge amount of customization and configuration to Calamares, and the target audience for this repository is those distributions, and the people who make those Linux distros.

Calamares has some generic user documentation for end-users, but most of what we have is for distro developers.

Getting Calamares

Clone Calamares from GitHub. The default branch is called calamares.

git clone https://github.com/calamares/calamares.git

Calamares is a KDE-Frameworks and Qt-based, C++17, CMake-built application. The dependencies are explained in CONTRIBUTING.md.

Contributing to Calamares

Calamares welcomes PRs. New issues are welcome, too. There are both the Calamares core repository (this one) and an extensions repository (Calamares extensions).

Contributions to code, modules, documentation, the wiki, and the website are all welcome. There is more information in the CONTRIBUTING.md file.

Join the Conversation

GitHub Issues are one place for discussing Calamares if there are concrete problems or a new feature to discuss. Issues are not a help channel. Visit Matrix for help with configuration or compilation.

Regular Calamares development chit-chat happens in a Matrix room, #calamares:kde.org. Responsiveness is best during the day in Europe, but feel free to idle. Matrix is persistent, and we'll see your message eventually.

  • Join us on Matrix (needs a Matrix account)

calamares's People

Contributors

a-wai avatar abalfoort avatar abucodonosor avatar adriaandegroot avatar agaida avatar agateau avatar bill-auger avatar bitigchi avatar boredland avatar boria138 avatar cjlcarvalho avatar codesardine avatar dalto8 avatar demmm avatar deprov447 avatar gormogon avatar gportay avatar kirek avatar kkofler avatar lordtermor avatar marcan avatar netrunner-sync-service avatar philmmanjaro avatar plfiorini avatar raurodse avatar shadeslayer avatar shainer avatar stikonas avatar tctara avatar teo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

calamares's Issues

"After Install" Snapshot when using btrfs

It would be a real benefit for the user who installs on an btrfs filesystem to have an "After Install" or "Initial Configuration" snapshot that gets an entry in grub.
This allows the user whenever he wants to boot into the initial state of his system after the installation and is a good alternative to "safe mode" boot options in disaster cases.

This should be optional as a checkbox when choosing btrfs. (maybe activated by default as it only brings benefits for the majority of users)

[partition] Installer failed to create extended partition + logical partition in one go

When I try to create an extended partition and fill it with one ext2 logical partition, installation fails with the message:

The installer failed to update partition table on USB Flash Disk.
Could not update the system type for partition ‘New Partition’.

Looking at the disk after that, the extended partition has been created, but it does not contain any logical partition.

UI, page flow, basic needs

I'd like to get an opinion from all involved on the basics of how this installer looks and works.

As a start, I'll give my opinion.

  • GUI not full screen, window size about 800 x 500
  • progress shown in clear text labels, not a generic slider that only shows how far along, but no idea what steps are to come (or look back what steps were done)
  • page flow in click next > next order, no option for the user to choose what page will be worked on
  • no option in base ui/window menu to close the installer, only option to close is with a close button, with a dedicated warning connected and log output on close, so the user can't accidentally close
  • basic pages/widgets set for all distros:
    • language
    • location/worldmap
    • keyboard layout
    • user creation
    • license agreement wdiget/page for proprietary software
    • check for disk space/RAM/power/network
    • and of course the big one, partitioning

[modules] Additional module configuration

Add the option of reading an additional module-specific freeform configuration map from a module.conf file. This map would not be interpreted by ModuleManager like the rest of the config, it would be passed to the ViewStep implementation and would then be used for things like default timezone, strings, etc.

CAL-1: UI, page flow, basic needs

Jira issue originally created by user @teo:

I'd like to get an opinion from all involved on the basics of how this installer looks and works.

As a start, I'll give my opinion.

  • GUI not full screen, window size about 800 x 500
  • progress shown in clear text labels, not a generic slider that only shows how far along, but no idea what steps are to come (or look back what steps were done)
  • page flow in click next > next order, no option for the user to choose what page will be worked on
  • no option in base ui/window menu to close the installer, only option to close is with a close button, with a dedicated warning connected and log output on close, so the user can't accidentally close
  • basic pages/widgets set for all distros:
    • language
    • location/worldmap
    • keyboard layout
    • user creation
    • license agreement wdiget/page for proprietary software
    • check for disk space/RAM/power/network
    • and of course the big one, partitioning

CAL-2: Partitioning page

Jira issue originally created by user @teo:

Since the partitioning pages will be very complex, i thought it would be nice to have a separate issue for that.

Here's my thought for the initial one: http://docs.fedoraproject.org/en-US/Fedora/18/html/Installation_Guide/images/diskpartsetup/disk-setup.png

i think that fedora did it nicely. The rule of thumb here would be that the user first needs to limit all available disks to which he actually wants to use. This would help in not showing up i.e. the thumb-drive with the live image inside the partitioning tool.

CAL-5: [modules] Additional module configuration

Jira issue originally created by user @teo:

Add the option of reading an additional module-specific freeform configuration map from a module.conf file. This map would not be interpreted by ModuleManager like the rest of the config, it would be passed to the ViewStep implementation and would then be used for things like default timezone, strings, etc.

CAL-24: [partition] Add ability to reuse existing partitions

Jira issue originally created by user @teo:

When clicking "Edit" on an existing partition, a dialog should open and offer the user the possibility to:

  • Set a mount point for the existing partition
  • Select whether it should be reformatted
  • Resize it (this is bug CAL-23)

CAL-17: Wip/job queue

Jira issue originally created by user @teo:

This brings a working JobQueue, with a fake CreatePartitionJob implementation to test it and a super-crude InstallationViewStep.

"After Install" Snapshot when using btrfs

Jira issue originally created by user @teo:

It would be a real benefit for the user who installs on an btrfs filesystem to have an "After Install" or "Initial Configuration" snapshot that gets an entry in grub.
This allows the user whenever he wants to boot into the initial state of his system after the installation and is a good alternative to "safe mode" boot options in disaster cases.

This should be optional as a checkbox when choosing btrfs. (maybe activated by default as it only brings benefits for the majority of users)

Partitioning page

Since the partitioning pages will be very complex, i thought it would be nice to have a separate issue for that.

Here's my thought for the initial one: http://docs.fedoraproject.org/en-US/Fedora/18/html/Installation_Guide/images/diskpartsetup/disk-setup.png

i think that fedora did it nicely. The rule of thumb here would be that the user first needs to limit all available disks to which he actually wants to use. This would help in not showing up i.e. the thumb-drive with the live image inside the partitioning tool.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.