Skip to content

Fulgurance/ISM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Static Badge Workflow

ISM

ISM (Ingenius System Manager) is an extremely advanced tool to build and manage a Linux system completely from scratch. It manage the full build process of the cross toolchain, and can provide fine-grained configuration for each software.

It is possible to do any installation with or without chroot in a targeted system. As well, to configure compiler flags, number of parallel jobs, custom machine target ... etc

The software handle too the calculation of Linux kernel dependencies. That mean all of the require needed kernel features for all packages will be automatically enabled and it will reconfigure properly the kernel. It make definitely easier to configure the kernel and optimize it.

Guide: https://github.com/Fulgurance/ISM/wiki/Guide

ISM-Example.png

Usage

You can see main functionnalities when you just type ism in a terminal:

user $ ism
Ingenius System Manager
        -h      help    Display the help how to use ISM
        -v      version Show and manage the ISM version
        -so     software        Install, configure and remove softwares
        -p      port    Manage ISM ports
        -se     settings        Configure ISM settings
user $ ism version
Show and manage the ISM version
        -s      show    Show the current ISM version
        -sw     switch  Switch ISM to another version
user $ ism software
Install, configure and remove softwares
        -se     search  Search specific(s) software(s)
        -sy     synchronize     Synchronize the software database
        -u      update  Performs a software update
        -i      install Install specific(s) software(s)
        -ui     uninstall       Uninstall specific(s) software(s)
        -c      clean   Clean the system by remove unneeded softwares
        -sd     selectdependency        Select a dependency part of unique set
                                Need to be use like this:
                                ism software [softwarename] selectdependency [dependencyname]
        -eo     enableoption    Enable a specific software option
                                Need to be use like this:
                                ism software [softwarename] enableoption [optionname]
        -do     disableoption   Disable a specific software option
                                Need to be use like this:
                                ism software [softwarename] disableoption [optionname]
        -ap     addpatch        Add a local patch for a specific software
                                Need to be use like this:
                                ism software [softwarename-softwareversion] addpatch [patchpath]
        -dp     deletepatch     Delete a local patch for a specific software
                                Need to be use like this:
                                ism software [softwarename-softwareversion] deletepatch [patchpath]
user $ ism port
Manage ISM ports
        -o      open    Open the specified port
        -c      close   Close the specified port
        -stv    settargetversion        Set the target version for all ports, based on a ISM version
        -s      search  Search a specified port in the database
user $ ism settings
Configure ISM settings
        -s      show    Show the current settings
        -esm    enablesecuremode        Enable the secure mode which requires superuser rights
        -dsm    disablesecuremode       Disable the secure mode which requires superuser rights
        -eibc   enableinstallbychroot   Enable softwares install by chroot
        -dibc   disableinstallbychroot  Disable softwares install by chroot
        -srp    setrootpath     Set the default root path where to install softwares
        -sdm    setdefaultmirror        Set the default mirror for ISM
        -sstn   setsystemtargetname     Set the default machine target for the compiler
        -ssa    setsystemarchitecture   Set the default system architecture for the compiler
        -ssmo   setsystemmakeoptions    Set the default parallel make jobs number for the compiler
        -ssbo   setsystembuildoptions   Set the default CPU flags for the compiler
        -ssn    setsystemname   Set the name of the future installed system
        -ssfn   setsystemfullname       Set the full name of the future installed system
        -ssi    setsystemid     Set the id of the future installed system
        -ssr    setsystemrelease        Set the release of the future installed system
        -sscn   setsystemcodename       Set the code name of the future installed system
        -ssd    setsystemdescription    Set the description of the future installed system
        -ssv    setsystemversion        Set the version of the future installed system
        -ssac   setsystemansicolor      Set the ANSI color of the future installed system
        -sscpen setsystemcpename        Set the CPE name of the future installed system
        -sshu   setsystemhomeurl        Set the home url of the future installed system
        -sssu   setsystemsupporturl     Set the support url of the future installed system
        -ssbru  setsystembugreporturl   Set the bug report url of the future installed system
        -ssppu  setsystemprivacypolicyurl       Set the privacy policy url of the future installed system
        -ssbi   setsystembuildid        Set the build id of the future installed system
        -ssv    setsystemvariant        Set the variant of the future installed system
        -ssvi   setsystemvariantid      Set the variant id of the future installed system
        -sctn   setchroottargetname     Set the default chroot machine target for the compiler
        -sca    setchrootarchitecture   Set the default chroot target architecture for the compiler
        -scmo   setchrootmakeoptions    Set the default chroot parallel make jobs number for the compiler
        -scbo   setchrootbuildoptions   Set the default chroot CPU flags for the compiler
        -scn    setchrootname   Set the name of the future chroot installed system
        -scfn   setchrootfullname       Set the full name of the future chroot installed system
        -sci    setchrootid     Set the id of the future chroot installed system
        -scr    setchrootrelease        Set the release of the future chroot installed system
        -sccn   setchrootcodename       Set the code name of the future chroot installed system
        -scd    setchrootdescription    Set the description of the future chroot installed system
        -scv    setchrootversion        Set the version of the future chroot installed system
        -scac   setchrootansicolor      Set the ANSI color of the future chroot installed system
        -sccpen setchrootcpename        Set the CPE name of the future chroot installed system
        -schu   setchroothomeurl        Set the home url of the future chroot installed system
        -scsu   setchrootsupporturl     Set the support url of the future chroot installed system
        -scbru  setchrootbugreporturl   Set the bug report url of the future chroot installed system
        -scppu  setchrootprivacypolicyurl       Set the privacy policy url of the future chroot installed system
        -scbi   setchrootbuildid        Set the build id of the future chroot installed system
        -scv    setchrootvariant        Set the variant of the future chroot installed system
        -scvi   setchrootvariantid      Set the variant id of the future chroot installed system

About

The project is actually quite advanced now and most of the functionnalities are implemented yet. It is actually possible to install a full desktop environment with the provided ports.

That is not ready at the moment for a production environment. It still on test.