Coder Social home page Coder Social logo

danielweber7624 / manjaroiso Goto Github PK

View Code? Open in Web Editor NEW

This project forked from manjaro/manjaroiso

0.0 2.0 0.0 96.34 MB

Build scripts for Manjaro Live-Medias

Home Page: manjaro.org

Shell 79.48% CSS 0.17% Python 1.76% Perl 12.20% Scheme 5.17% JavaScript 0.88% Makefile 0.34%

manjaroiso's Introduction

Manjaroiso For Dummies Like Me and You
-------------------------------------

- What the hell is Manjaroiso?

Manjaroiso is a small set of bash scripts that is capable of building fully
functional Manjaro GNU/Linux based live CDs. It is a very generic tool, so it
could potentially be used to generate anything from rescue systems,
to install disks, to special interest live CD systems, and who knows what
else. Simply put, if it involves Manjaro on a shiny coaster, it can do it.

- Alright, so how does one install it?

First off, Manjaroiso has some dependencies:
    - mkinitcpio
    - cdrkit
    - squashfs-tools
    - syslinux
    - nbd
    - mkinitcpio-nfs-utils
    - haveged
    - devtools

Manjaroiso itself can be installed with the handy dandy included Makefile,
and the incantation 'make install'.

- Great, so how do you use this thing?

The heart and soul of Manjaroiso is mkiso. All of its options are
documented in its usage output, so we won't go into detail here.
Instead, let's go over the general process.

The first thing you should probably do is create a directory to work
in, and cd to it. This'll help keep things organized. Next, you'll want
to create a mkinitcpio config file that suits your needs. Typically this
means modifying whatever hooks you want. A typical set of hooks for
Manjaroiso looks something like this:

HOOKS="base udev miso miso_pxe_nbd pata scsi sata usb fw pcmcia filesystems usbinput"

It's probably worth mentioning that hardware autodetection and things
of that nature do not belong here. Only what's necessary to get the system
on its feet, and out of the initcpio really belong here, fancier stuff
can be done on the booted system anyway.

You'll also want to create a list of packages you want installed on your
live CD system. A file full of package names, one-per-line, is the format
for this. Typically you'll want BASE and a kernel as a bare minimum, but
you're free to install whatever else you want. This is *great* for
special interest live CDs, just specify packages you want and gogogo.

The last item of importance is what are called addons. Basically this
means any other crap you might want to include on your live CD, including
binary package repos, special configurations, random files, we don't
know, be creative. mkiso expects them all to be put in a single
directory, with an fstab-like config file. Currently two types of addons
are supported, squashfs images that get layered onto the root union, and
plain directories which can be bind mounted anywhere under the root.

If you want to add a squashfs union layer:
- Set up whatever you want to include in a separate directory someplace,
  as if that directory was / . Then run mksquahfs on it, and copy the
  created image to your addons directory.
- Add an entry to your addons config file (which must be named 'isomounts',
  by the way). Typical squashfs entries look like this:
  live_overlay.sqfs       /                   squashfs
  Where the first component is the path to the image relative to your
  addons directory, the second is the mountpoint (irrelevant for
  squashfs, they will all get layered at /) and of course the third
  component is the type.
- Be aware that the order of entries on the config file matters! Entries will
  be layered on top of one another, later entries are mounted _UNDER_
  earlier entries (an unfortunate counterintuitive result of the way we
  have to mount the unions).

If you want to add plain directories to bind mount:
- Set up your directory somewhere, and copy it to your addon directory.
- Add an entry to your isomounts config file, example entry:
  core                    /packages           bind
  where the first component is the path to the directory relative to
  your addons directory, the second component is where you'd like it
  bind-mounted relative to the live CD's root filesystem, and the last
  component is the type.


- How can build installation mediums like provided by Manjaro GNU/Linux?

- Just follow these next steps as root.
- Note that mkroot is optional, but with it, will ensure to have
  a clean enviroment for building isos.
- This clean chroot, will take about 400MB (+130MB with all needed tools).
- After make, max space usage is about 2GB.


pacman -S base base-devel nano vi vim rsync pacman file wget
mkroot /tmp/somedir base
mkroot -r bash /tmp/somedir
# vi/nano /etc/pacman.d/mirrorlist and uncomment your prefered mirror.
pacman -S git squashfs-tools syslinux manjaroiso cdrkit make nbd mkinitcpio-nfs-utils
cd /tmp
git clone git://git.manjaro.org/core/manjaroiso.git
cd manjaroiso/src
make install
cd ../configs/xfce/
buildiso

Done!


manjaroiso's People

Contributors

philmmanjaro avatar abchk1234 avatar tulliana avatar korrode avatar guinux avatar alexandruianu avatar kirek avatar danloki avatar fluxer avatar manjaroroland avatar msumulong avatar

Watchers

James Cloos avatar  avatar

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.