about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--conf/fstab45
-rw-r--r--conf/pkgmk.conf38
-rw-r--r--conf/prt-get.conf50
-rw-r--r--core/configure.html44
-rw-r--r--core/install.html127
-rw-r--r--core/ports.html233
-rw-r--r--scripts/act-chroot.sh71
-rw-r--r--scripts/chroot.sh9
-rw-r--r--scripts/configure.sh6
-rw-r--r--scripts/getiso.sh26
-rw-r--r--scripts/install.sh102
-rw-r--r--scripts/ports.sh84
12 files changed, 623 insertions, 212 deletions
diff --git a/conf/fstab b/conf/fstab
index b3133e6..07f3c28 100644
--- a/conf/fstab
+++ b/conf/fstab
@@ -13,51 +13,50 @@
 #/dev/cdrom            /cdrom    iso9660   ro,user,noauto,unhide            0      0
 #/dev/dvd              /dvd      udf       ro,user,noauto,unhide            0      0
 #/dev/floppy/0         /floppy   vfat      user,noauto,unhide               0      0
-devpts                 /dev/pts  devpts    noexec,nosuid,gid=tty,mode=0620  0      0
+#devpts                 /dev/pts  devpts    noexec,nosuid,gid=tty,mode=0620  0      0
 #tmp                   /tmp      tmpfs     defaults                         0      0
 #shm                   /dev/shm  tmpfs     defaults                         0      0
 #usb                   /proc/bus/usb usbfs defaults                         0      0
 
 #/
 #/dev/sda3:
-UUID=f7fce1b0-5117-4b76-8c0e-00870a824ab2   /	ext4	defaults	0	1
+UUID=4ed0d5c1-d0c6-4eeb-bbbf-dc94f6f66efd   /	ext4	defaults	0	1
 
 #/boot
 #/dev/sda2:
-UUID=c8489141-7e72-4ddd-b27f-d21a6686bc23   /boot	ext4	defaults,nodev,noexec,nosuid	0	2
+UUID=c304a4a0-bb4f-4d19-be62-75aaa6b713f3   /boot	ext4	defaults,nodev,noexec,nosuid	0	2
 
 #/boot/efi
 #/dev/sda1:
-UUID=F74C-0993  /boot/efi       vfat    umask=0077      0       2
+UUID=15B2-1D41  /boot/efi       vfat    umask=0077      0       2
 
-#swap
+#/var
 #/dev/sda4:
-UUID=0ec84a34-8255-465d-83b0-091dabafeb41   none            swap    sw              0       0
+UUID=182a7038-1f14-4cea-88f8-4347a3e9c3a2   /var            ext4    defaults,nodev,noexec,nosuid        0       2
 
-#/var
+#/tmp
 #/dev/sda5:
-UUID=8a417c13-95cd-40e3-bac7-e71a5a432985   /var            ext4    defaults,nodev,noexec,nosuid        0       2
-
+UUID=1325ee41-27c9-4621-ab69-125bb6e1c63b   /tmp            ext4    defaults,nodev,nosuid,noexec        1 2
 
-#/tmp
+#/usr
 #/dev/sda6:
-UUID=2ce9a85c-fc86-4583-9146-5e23de8a000c   /tmp            ext4    defaults,nodev,nosuid,noexec        1 2
+UUID=9004d59a-310c-44cc-a0f5-b338c2619af6   /usr            ext4    defaults,nodev        0       2
 
-#/usr
-#/dev/sda7:
-UUID=c16a02a6-a1bc-4a5a-bdf3-b843a3e9b196   /usr            ext4    defaults,nodev        0       2
+#/home
+#/dev/sda7
+UUID=d1df6743-d3cb-4d5a-badb-96cef3181095   /home           ext4    defaults,nodev,nosuid,noexec        0       2
+
+#/usr/ports
+#/dev/sda8
+#UUID=d1df6743-d3cb-4d5a-badb-96cef3181095   /usr/ports       ext4    defaults,nodev,nosuid,noexec        0       2
 
-#/var/ports/work
-#pkgmk   /var/ports/work tmpfs size=20G,gid=101,uid=101,defaults 0 0
+#swap
+#/dev/sda9:
+#UUID=182a7038-1f14-4cea-88f8-4347a3e9c3a2   none            swap    sw              0       0
 
-## Home /home
-#UUID=935a4189-aea5-46c4-8e29-f9e9ace3addf /home           ext4    defaults,nodev,nosuid,noexec        0       2
+#/usr/ports/work
+#pkgmk   /usr/ports/work tmpfs size=30G,gid=101,uid=101,defaults 0 0
 
 devpts                 /dev/pts  devpts    noexec,nosuid,gid=tty,mode=0620  0      0
 
-#/dev/sda8: UUID="d2ba3926-0839-4179-b2b1-62256b51e964" TYPE="ext4" PARTUUID="71c78b3c-2898-47b7-adad-133f2b47eca8"
-#/dev/sda10: UUID="1158f1d1-71d9-4f76-a54e-538e34419d0b" TYPE="ext4" PARTUUID="b90776d1-8051-4751-acc6-7477dbb04e4e"
-#/dev/sda11: UUID="935a4189-aea5-46c4-8e29-f9e9ace3addf" TYPE="ext4" PARTUUID="6dd2492e-bd14-4177-9bc7-60bc3e330203"
-#
-
 # End of file
diff --git a/conf/pkgmk.conf b/conf/pkgmk.conf
new file mode 100644
index 0000000..220ac48
--- /dev/null
+++ b/conf/pkgmk.conf
@@ -0,0 +1,38 @@
+#
+# /etc/pkgmk.conf: pkgmk(8) configuration
+#
+
+export CFLAGS="-O2 -march=x86-64"
+export CXXFLAGS="${CFLAGS}"
+
+export MAKEFLAGS="-j4"
+
+case ${PKGMK_ARCH} in
+	"64"|"")
+		;;
+	"32")
+		export CFLAGS="${CFLAGS} -m32"
+		export CXXFLAGS="${CXXFLAGS} -m32"
+		export LDFLAGS="${LDFLAGS} -m32"
+		export PKG_CONFIG_LIBDIR="/usr/lib32/pkgconfig"
+		;;
+	*)
+		echo "Unknown architecture selected! Exiting."
+		exit 1
+		;;
+esac
+
+# PKGMK_SOURCE_MIRRORS=()
+PKGMK_SOURCE_DIR="/usr/ports/distfiles"
+PKGMK_PACKAGE_DIR="/usr/ports/packages"
+PKGMK_WORK_DIR="/usr/ports/work/$name"
+# PKGMK_DOWNLOAD="no"
+# PKGMK_IGNORE_FOOTPRINT="no"
+# PKGMK_IGNORE_NEW="no"
+# PKGMK_NO_STRIP="no"
+# PKGMK_DOWNLOAD_PROG="wget"
+# PKGMK_WGET_OPTS=""
+# PKGMK_CURL_OPTS=""
+# PKGMK_COMPRESSION_MODE="gz"
+
+# End of file
diff --git a/conf/prt-get.conf b/conf/prt-get.conf
new file mode 100644
index 0000000..6ebaa1c
--- /dev/null
+++ b/conf/prt-get.conf
@@ -0,0 +1,50 @@
+###
+### prt-get conf
+###
+
+# note: the order matters: the package found first is used
+prtdir /usr/ports/core
+prtdir /usr/ports/opt
+prtdir /usr/ports/xorg
+
+# the following line enables the multilib compat-32 collection
+#prtdir /usr/ports/compat-32
+
+# the following line enables the user maintained contrib collection
+prtdir /usr/ports/contrib
+
+### use mypackage form local directory
+# prtdir /home/packages/build:mypackage
+
+### log options:
+writelog enabled         # (enabled|disabled)
+logmode  overwrite       # (append|overwrite)
+rmlog_on_success yes     # (no|yes)
+logfile  /var/log/pkgbuild/%n.log
+                           # path, %p=path to port dir, %n=port name
+                           #       %v=version, %r=release
+
+### use alternate cache file (default: /var/lib/pkg/prt-get.cache
+# cachefile /mnt/nfs/cache
+
+### print README information:
+readme verbose           # (verbose|compact|disabled)
+
+### prefer higher versions in sysup / diff
+preferhigher yes      # (yes|no)
+
+### use regexp search
+# useregex no        # (yes|no)
+
+### run pre- and post-installs scripts; yes is equivalent to the
+### --install-scripts option
+runscripts yes            # (no|yes)
+
+
+### EXPERT SECTION ###
+
+### alternative commands
+makecommand      sudo -H -u pkgmk fakeroot pkgmk
+addcommand       pkgadd
+removecommand    pkgrm
+runscriptcommand sh
diff --git a/core/configure.html b/core/configure.html
index 744e340..c283adc 100644
--- a/core/configure.html
+++ b/core/configure.html
@@ -226,49 +226,47 @@
         #shm                   /dev/shm  tmpfs     defaults                         0      0
         #usb                   /proc/bus/usb usbfs defaults                         0      0
 
-
         #/
         #/dev/sda3:
-        UUID=f7fce1b0-5117-4b76-8c0e-00870a824ab2   /	ext4	defaults	0	1
+        UUID=4ed0d5c1-d0c6-4eeb-bbbf-dc94f6f66efd   /	ext4	defaults	0	1
 
         #/boot
         #/dev/sda2:
-        UUID=c8489141-7e72-4ddd-b27f-d21a6686bc23   /boot	ext4	defaults,nodev,noexec,nosuid	0	2
+        UUID=c304a4a0-bb4f-4d19-be62-75aaa6b713f3   /boot	ext4	defaults,nodev,noexec,nosuid	0	2
 
         #/boot/efi
         #/dev/sda1:
-        UUID=F74C-0993  /boot/efi       vfat    umask=0077      0       2
+        UUID=15B2-1D41  /boot/efi       vfat    umask=0077      0       2
 
-        #swap
+        #/var
         #/dev/sda4:
-        UUID=0ec84a34-8255-465d-83b0-091dabafeb41   none            swap    sw              0       0
+        UUID=182a7038-1f14-4cea-88f8-4347a3e9c3a2   /var            ext4    defaults,nodev,noexec,nosuid        0       2
 
-        #/var
+        #/tmp
         #/dev/sda5:
-        UUID=8a417c13-95cd-40e3-bac7-e71a5a432985   /var            ext4    defaults,nodev,noexec,nosuid        0       2
-
+        UUID=1325ee41-27c9-4621-ab69-125bb6e1c63b   /tmp            ext4    defaults,nodev,nosuid,noexec        1 2
 
-        #/tmp
+        #/usr
         #/dev/sda6:
-        UUID=2ce9a85c-fc86-4583-9146-5e23de8a000c   /tmp            ext4    defaults,nodev,nosuid,noexec        1 2
+        UUID=9004d59a-310c-44cc-a0f5-b338c2619af6   /usr            ext4    defaults,nodev        0       2
 
-        #/usr
-        #/dev/sda7:
-        UUID=c16a02a6-a1bc-4a5a-bdf3-b843a3e9b196   /usr            ext4    defaults,nodev        0       2
+        #/home
+        #/dev/sda7
+        UUID=d1df6743-d3cb-4d5a-badb-96cef3181095   /home           ext4    defaults,nodev,nosuid,noexec        0       2
+
+        #/usr/ports
+        #/dev/sda8
+        #UUID=d1df6743-d3cb-4d5a-badb-96cef3181095   /usr/ports       ext4    defaults,nodev,nosuid,noexec        0       2
 
-        #/var/ports/work
-        #pkgmk   /var/ports/work tmpfs size=20G,gid=101,uid=101,defaults 0 0
+        #swap
+        #/dev/sda9:
+        #UUID=182a7038-1f14-4cea-88f8-4347a3e9c3a2   none            swap    sw              0       0
 
-        ## Home /home
-        #UUID=935a4189-aea5-46c4-8e29-f9e9ace3addf /home           ext4    defaults,nodev,nosuid,noexec        0       2
+        #/usr/ports/work
+        #pkgmk   /usr/ports/work tmpfs size=30G,gid=101,uid=101,defaults 0 0
 
         devpts                 /dev/pts  devpts    noexec,nosuid,gid=tty,mode=0620  0      0
 
-        #/dev/sda8: UUID="d2ba3926-0839-4179-b2b1-62256b51e964" TYPE="ext4" PARTUUID="71c78b3c-2898-47b7-adad-133f2b47eca8"
-        #/dev/sda10: UUID="1158f1d1-71d9-4f76-a54e-538e34419d0b" TYPE="ext4" PARTUUID="b90776d1-8051-4751-acc6-7477dbb04e4e"
-        #/dev/sda11: UUID="935a4189-aea5-46c4-8e29-f9e9ace3addf" TYPE="ext4" PARTUUID="6dd2492e-bd14-4177-9bc7-60bc3e330203"
-        #
-
         # End of file
         </pre>
 
diff --git a/core/install.html b/core/install.html
index 93f2625..74e5cd0 100644
--- a/core/install.html
+++ b/core/install.html
@@ -33,8 +33,8 @@
 
         <p>Prepare disk or target location where new system will
         be installed. Follow steps describe how to create efi and
-        separate partitions such as; boot, root, swap, var, tmp,
-        user, home and srv.</p>
+        separate partitions such as; boot, root, var, tmp,
+        usr, ports, swap and home.</p>
 
         <h3>/boot/efi</h3>
 
@@ -42,18 +42,20 @@
         with between 500M and 100M is recommended for standard
         installations.</p>
 
-        <pre>(parted) mkpart ESP fat32 2M 514M</pre>
+        <pre>
+        (parted) mkpart ESP fat32 1MiB    120MiB
+        </pre>
 
         <pre>
-        (parted) align-check optimal 1
+        (parted) align-check opt 1
         </pre>
 
         <h3>/boot</h3>
 
-        <p>Boot partition. Partition with 2G provides
-        room for bootable ISO.</p>
+        <p>Boot partition. Partition with 1G provides
+        room for crux iso to boot directly from grub.</p>
 
-        <pre>(parted) mkpart primary ext4 516M 2524M</pre>
+        <pre>(parted) mkpart primary ext4 120MiB 1000MiB</pre>
 
         <pre>
         (parted) align-check optimal 2
@@ -61,97 +63,91 @@
 
         <h3>/</h3>
 
-        <p>Root partition with 2G is used in this example since i
-        usr and var are mounted on other partitions</p>
+        <p>Normal installation root partition uses 200MB-500MB, being
+        1G recommended. Since we have plenty of space a partition
+        with 2G will be used to host a complete backup of final installation
+        configuration.</p>
 
-        <pre>(parted) mkpart primary ext4 2548M 4564M</pre>
+        <pre>
+        (parted) mkpart primary ext4 1000MiB 3000MiB
+        </pre>
 
         <pre>
         (parted) align-check optimal 3
         </pre>
 
-        <h3>Swap (ram)</h3>
-
-        <p>Swap partition with same memory as ram, example with
-        4G. Other swap partitions can be added later for port
-        build on ram.</p>
-
-        <pre>(parted) mkpart primary linux-swap 4568M 8576M</pre>
-
         <h3>/var</h3>
 
-        <p>Var partition with 2G;</dd>
+        <p>Var partition is recommended 100MiB-500MiB, we will
+        use 1G;</dd>
 
-        <pre>(parted) mkpart primary ext4 8584M 10592M</pre>
+        <pre>
+        (parted) mkpart primary ext4 3000MiB 4000MiB
+        </pre>
 
         <pre>
-        (parted) align-check optimal 5
+        (parted) align-check optimal 4
         </pre>
 
         <h3>/tmp</h3>
 
-        <p>Temp partition with 1G;</dd>
+        <p>Temp partition with 20M-50M;</dd>
 
-        <pre>(parted) mkpart primary ext4 10640M 11648M</pre>
+        <pre>
+        (parted) mkpart primary ext4 4000MiB 4050MiB
+        </pre>
 
         <pre>
-        (parted) align-check optimal 6
+        (parted) align-check optimal 5
         </pre>
 
         <h3>/usr</h3>
 
-        <p>User partition with 8G;</dd>
+        <p>User partition with 4G is recommended for a desktop
+        setup, we will use 8G;</dd>
 
-        <pre>(parted) mkpart primary ext4 11656M 19664M</pre>
+        <pre>
+        (parted) mkpart primary ext4 4050MiB 12000MiB
+        </pre>
 
         <pre>
-        (parted) align-check optimal 7
+        (parted) align-check optimal 6
         </pre>
 
->>>        <h3>/home</h3>
+        <h3>/home</h3>
 
-        <p>Home partition with 220G;</dd>
+        <p>Home partition with 180G;</dd>
 
-        <pre>(parted) mkpart primary ext4 19672M 220000M</pre>
+        <pre>
+        (parted) mkpart primary ext4 12000MiB 192000MiB
+        </pre>
 
         <pre>
-        (parted) align-check optimal 8
+        (parted) align-check optimal 7
         </pre>
 
-        <h3>/srv</h3>
+        <h3>/usr/ports</h3>
 
-        <p>Server data partition 300G, will contain services data,
+        <p>Ports partition with 120G allows to host sources, package
         backups and ports;</dd>
 
-        <pre>(parted) mkpart primary ext4 220008M 220016M</pre>
-
         <pre>
-        (parted) align-check optimal 9
+        (parted) mkpart primary ext4 192000MiB 312000MiB
         </pre>
 
-        <p>Check partition layout;</p>
-
         <pre>
-        (parted) print
-        Model: ATA TOSHIBA MQ01ABD1 (scsi)
-        Disk /dev/sda: 1000GB
-        Sector size (logical/physical): 512B/512B
-        Partition Table: gpt
-        Disk Flags:
+        (parted) align-check optimal 8
+        </pre>
+
+        <h3>Swap (ram)</h3>
 
-        Number  Start   End     Size    File system     Name     Flags
-         1      2097kB  514MB   512MB   fat32           ESP
-         2      516MB   2524MB  2008MB  ext4            primary
-         3      2548MB  4564MB  2016MB  ext4            primary
-         4      4568MB  8576MB  4009MB  linux-swap(v1)  primary
-         5      8584MB  10.6GB  2008MB  ext4            primary
-         6      10.6GB  11.6GB  1008MB  ext4            primary
-         7      11.7GB  19.7GB  8008MB  ext4            primary
->>>         8      238GB   260GB   21.7GB  ext4                     boot, esp
-        10      260GB   277GB   17.8GB  ext4
-        11      277GB   371GB   93.7GB  ext4
+        <p>Swap partition general advice is same size as memory ram,
+        ports system configured to build on ram need at least 30G
+        to build firefox. Other swap partitions can be added later for port
+        build on ram.</p>
 
-        (parted) quit
+        <pre>
+        (parted) mkpart primary linux-swap 312000MiB 342000MiB
         </pre>
 
         <p>Create filesystems;</p>
@@ -160,12 +156,12 @@
        $ export BLK_EFI=/dev/sda1
        $ export BLK_BOOT=/dev/sda2
        $ export BLK_ROOT=/dev/sda3
-       $ export BLK_SWAP=/dev/sda4
-       $ export BLK_VAR=/dev/sda5
-       $ export BLK_TMP=/dev/sda6
-       $ export BLK_USR=/dev/sda7
->>>    $  # export BLK_HOME=/dev/sda8
-       $ export BLK_SRV=/dev/sda10
+       $ export BLK_VAR=/dev/sda4
+       $ export BLK_TMP=/dev/sda5
+       $ export BLK_USR=/dev/sda6
+       $ export BLK_HOME=/dev/sda7
+       $ export BLK_PRT=/dev/sda8
+       $ export BLK_SWAP=/dev/sda9
         </pre>
 
         <pre>
@@ -182,8 +178,8 @@
        $ sudo mkfs.ext4 $BKL_VAR
        $ sudo mkfs.ext4 $BKL_TMP
        $ sudo mkfs.ext4 $BKL_USR
->>>    $ sudo mkfs.ext4 $BKL_HOME
-       $ sudo mkfs.ext4 $BKL_SRV
+       $ sudo mkfs.ext4 $BKL_HOME
+       $ sudo mkfs.ext4 $BKL_PRT
         </pre>
 
         <h2 id="step3">1.1.3. Prepare Target</h2>
@@ -218,8 +214,9 @@
         $ sudo mkdir -p $CHROOT/var/lib/pkg
 
         $ sudo mount $BLK_USR $CHROOT/usr
+        $ sudo mount $BLK_PRT $CHROOT/usr/ports
+
         $ sudo mount $BLK_HOME $CHROOT/home
->>>
         </pre>
 
         <p>Activate Chroot;</p>
diff --git a/core/ports.html b/core/ports.html
new file mode 100644
index 0000000..9150430
--- /dev/null
+++ b/core/ports.html
@@ -0,0 +1,233 @@
+<!DOCTYPE html>
+<html dir="ltr" lang="en">
+    <head>
+        <meta charset='utf-8'>
+        <title>1.3. Ports</title>
+    </head>
+    <body>
+
+        <a href="index.html">Core OS Index</a>
+
+        <h1>1.3. Ports</h1>
+
+        <p>For more information read crux handbook:
+        <a href="https://crux.nu/Main/Handbook3-2#ntoc14">Introduction to pkgutils</a>.</p>
+
+        <dl>
+            <dt>pkgmk(8)</dt>
+
+            <dd>Makes a software package. A package is an archive of
+            files (.pkg.tar.gz, .pkg.tar.bz2 or  .pkg.tar.xz)
+            that can be installed using pkgadd(8).</dd>
+
+            <dt>pkgadd(8)</dt>
+
+            <dd>install a software package. A package is an
+            archive of files (.pkg.tar.gz).</dd>
+
+            <dt>pkginfo(8)</dt>
+
+            <dd>Displays information about software packages that
+            are installed on the system or  that  reside  in  a
+            particular directory.</dd>
+
+            <dt>pkgrm(8)</dt>
+
+            <dd>Removes/uninstalls a previously installed software
+            packages.</dd>
+
+            <dt>prt-get(8)</dt>
+
+            <dd>prt-get is a package management tool which
+            provides additional functionality to crux' package
+            management system. It works with the local ports tree
+            and is therefore fully compatible with ports(8) and
+            pkgmk(8)/pkgadd(8)</dd>
+        </dl>
+
+        <p>This instructions are done
+        <a href="configure.html#chroot">inside chroot</a>.</p>
+
+        <h2 id="fakeroot">1.3.1. Build as user</h2>
+
+        <p>Install fakeroot and create user account, read
+        <a href="https://crux.nu/Wiki/FakerootPorts">Fakeroot Ports</a>;</p>
+
+        <pre>
+        # pkgadd /media/crux/opt/fakeroot#1.20.2-1.pkg.tar.xz
+        </pre>
+
+        <p>Add a user that will be used by ports tools, this example pkgmk;</p>
+
+        <pre>
+        # useradd -U -m -d /usr/ports -s /bin/false pkgmk
+        </pre>
+
+        <p>You can add your self to group pkgmk,</p>
+
+        <pre>
+        # usermod -a -G pkgmk c9admin
+        </pre>
+
+        <pre>
+        # chmod -R 774 /usr/ports
+        # chmod 775    /usr/ports
+        </pre>
+
+        <h2 id="filesystem">1.3.2. Ports Layout</h2>
+
+        <p>This configuration will build and save files
+        inside home directory of the user pkgmk. Work directory
+        will be mounted on ram to speed up the build process and
+        added to fstab. Let's start by creating layout directories</p>
+
+        <pre>
+        # sudo -u pkgmk mkdir /usr/ports/distfiles
+        # sudo -u pkgmk mkdir /usr/ports/packages
+        # sudo -u pkgmk mkdir /usr/ports/work
+        # sudo -u pkgmk mkdir /usr/ports/pkgbuild
+        </pre>
+
+        <p>Configure to
+        <a href="https://crux.nu/Wiki/HowToSpeedUpBuildingPackages#ram">compile in ram</a>
+        average of 3GB is recommended for core while firefox need at least 30G.
+	Discover id of pkgmk user;</p>
+
+        <pre>
+        # id pkgmk
+        uid=102(pkgmk) gid=102(pkgmk) groups=102(pkgmk)
+        </pre>
+
+        <p>Edit fstab, change uid to id of pkgmk, this example 102;</p>
+
+        <pre>
+        pkgmk /usr/ports/work tmpfs size=30G,uid=102,defaults 0 0
+        </pre>
+
+
+        <h2 id="pkgmk">1.3.3. Configure pkgmk</h2>
+
+        <p>Read <a href="systemdoc/Handbook3-1.html#ntoc22">4.5. Adjust/Configure the Package Build Process</a>
+        and <a href="https://crux.nu/Wiki/HowToSpeedUpBuildingPackage">How to speed up building package</a>
+        to take advantage of your specific hardware. Packages build with
+        native flag will not run on different hardware. This is the best choice
+        if you want gcc to find the best settings based on your hardware.</p>
+
+        <p>Edit /etc/pkgmk.conf and remove pipe from compiler
+        flags;</p>
+
+        <pre>
+        export CFLAGS="-O2 -march=x86-64"
+        </pre>
+
+        <p>If you want native build change the above example to;</p>
+
+        <pre>
+        export CFLAGS="-O2 -march=native -mtune=native"
+        </pre>
+
+        <p>Discover number of cores/cpus to hard code -j option.</p>
+
+        <pre>
+        $ nproc
+        2
+        </pre>
+
+        <p>Set number of cores to use;</p>
+
+        <pre>
+        export MAKEFLAGS="-j2"
+        </pre>
+
+        <p>Set separate distribution files, packages and work directories;</p>
+
+        <pre>
+        # PKGMK_SOURCE_MIRRORS=()
+        # PKGMK_SOURCE_MIRRORS=(http://crux.nu/distfiles/)
+        PKGMK_SOURCE_DIR="/usr/ports/distfiles"
+        PKGMK_PACKAGE_DIR="/usr/ports/packages"
+        PKGMK_WORK_DIR="/usr/ports/work/$name"
+        </pre>
+
+        <h2 id="prtget">1.3.4. Configure prt-get</h2>
+
+        <p>Edit /etc/prt-get.conf and change to activate contrib port collection;</p>
+
+        <pre>
+        # the following line enables the user maintained contrib collection
+        prtdir /usr/ports/contrib
+        </pre>
+
+        <pre>
+        ### log options:
+        writelog enabled           # (enabled|disabled)
+        logmode  overwrite         # (append|overwrite)
+        rmlog_on_success yes       # (no|yes)
+        logfile  /usr/ports/pkgbuild/%n.log
+                                   # path, %p=path to port dir, %n=port name
+                                   #       %v=version, %r=release
+        </pre>
+
+        <pre>
+        ### print README information:
+        readme verbose           # (verbose|compact|disabled)
+        </pre>
+
+        <pre>
+        ### prefer higher versions in sysup / diff
+        preferhigher yes      # (yes|no)
+        </pre>
+
+        <pre>
+        ### run pre- and post-installs scripts; yes is equivalent to the
+        ### --install-scripts option
+        runscripts yes             # (no|yes)
+        </pre>
+
+        <pre>
+        ### alternative commands
+        makecommand	     sudo -H -u pkgmk fakeroot pkgmk
+        addcommand       pkgadd
+        removecommand    pkgrm
+        runscriptcommand sh
+        </pre>
+
+        <h2 id="pkginst">1.3.5. Install extra ports</h2>
+
+        <p>Install additional ports like wireless-tools and grub2</p>
+
+        <pre>
+        cp $CHROOT/media/crux/opt/* $CHROOT/usr/ports/packages
+        cp $CHROOT/media/crux/xorg/* $CHROOT/usr/ports/packages
+        </pre>
+
+        <pre>
+        pkgadd /usr/ports/packages/dbus#1.10.2-1.pkg.tar.xz
+        pkgadd /usr/ports/packages/expat#2.1.0-1.pkg.tar.xz
+        pkgadd /usr/ports/packages/libnl#3.2.27-1.pkg.tar.xz
+        pkgadd /usr/ports/packages/libpng#1.6.19-1.pkg.tar.xz
+        pkgadd /usr/ports/packages/freetype#2.6.1-1.pkg.tar.xz
+        pkgadd /usr/ports/packages/libffi#3.2.1-2.pkg.tar.xz
+        pkgadd /usr/ports/packages/sqlite3#3.9.2-1.pkg.tar.xz
+        pkgadd /usr/ports/packages/python#2.7.10-1.pkg.tar.xz
+        pkgadd /usr/ports/packages/glib#2.46.2-1.pkg.tar.xz
+        pkgadd /usr/ports/packages/grub2#2.00-7.pkg.tar.xz
+        pkgadd /usr/ports/packages/grub2-efi#2.00-4.pkg.tar.xz
+        pkgadd /usr/ports/packages/wireless-tools#29-1.pkg.tar.xz
+        pkgadd /usr/ports/packages/wpa_supplicant#2.5-2.pkg.tar.xz
+        pkgadd /usr/ports/packages/lvm2#2.02.133-1.pkg.tar.xz
+        pkgadd /usr/ports/packages/mdadm#3.3.4-1.pkg.tar.xz
+        pkgadd /usr/ports/packages/efivar#0.21-1.pkg.tar.xz
+        pkgadd /usr/ports/packages/efibootmgr#0.12-1.pkg.tar.xz
+        pkgadd /usr/ports/packages/dosfstools#3.0.26-1.pkg.tar.xz
+        </pre>
+
+        <a href="index.html">Core OS Index</a>
+        <p>
+        This is part of the SysDoc Manual.
+        Copyright (C) 2016
+        Silvino Silva.
+        See the file <a href="../fdl-1.3-standalone.html">Gnu Free Documentation License</a>
+        for copying conditions.</p>
+    </body>
+</html>
diff --git a/scripts/act-chroot.sh b/scripts/act-chroot.sh
index f07783a..16c52e8 100644
--- a/scripts/act-chroot.sh
+++ b/scripts/act-chroot.sh
@@ -1,65 +1,54 @@
 #!/bin/bash
 
-ISO_URL="https://serverop.de/crux/crux-3.2/iso/crux-3.2.iso"
-ISO_FILE="crux-3.2.iso"
-
-printf "1.1.1 Path/to crux-3.2.iso (/home/user/Downloads):"
-read ISO_PATH
-
-#prepare_iso() {
-
-    ISO_FILE=$ISO_PATH/$ISO_FILE
-
-    if [ -f $ISO_FILE ];
-    then
-        echo "File $ISO_FILE exists."
-    else
-        echo "File $ISO_FILE does not exist."
-        cd $ISO_PATH && { curl -k -O $ISO_URL ; cd -; }
-    fi
-
-#}
-
-#printf "1.1.2 EFI block; (/dev/sda1):"
+printf "1.1.2 EFI block; (/dev/sda1):"
 #read BLK_EFI
-#
+BLK_EFI="/dev/sda1"
+
 printf "1.1.2 boot block; (/dev/sda2):"
-read BLK_BOOT
-#
+#read BLK_BOOT
+BLK_BOOT="/dev/sda2"
+
 printf "1.1.2 root block; (/dev/sda3):"
-read BLK_ROOT
+#read BLK_ROOT
+BLK_ROOT="/dev/sda3"
 #
-printf "1.1.2 var block; (/dev/sda5):"
-read BLK_VAR
+printf "1.1.2 var block; (/dev/sda4):"
+#read BLK_VAR
+BLK_VAR="/dev/sda4"
 #
-printf "1.1.2 usr block; (/dev/sda7):"
-read BLK_USR
+printf "1.1.2 usr block; (/dev/sda6):"
+#read BLK_USR
+BLK_USR="/dev/sda6"
 #
-#printf "1.1.2 home block; (/dev/sda8):"
+printf "1.1.2 home block; (/dev/sda7):"
 #read BLK_HOME
+BLK_HOME="/dev/sda7"
 #
-## printf "1.1.2 srv block; (/dev/sda8):"
-## read BLK_SRV
+printf "1.1.2 ports block; (/dev/sda8):\n"
+#read BLK_PRT
+BLK_PRT="/dev/sda8"
+
+printf "1.1.2 swap block; (/dev/sda9):\n"
+#read BLK_SWP
+BLK_SWP="/dev/sda9"
 
 printf "1.1.3 mount point to chroot (/mnt):"
-read CHROOT
+#read CHROOT
+CHROOT="/mnt"
+
+
 mount $BLK_ROOT $CHROOT
 
 mount $BLK_BOOT $CHROOT/boot
-##mount $BLK_EFI $CHROOT/boot/efi
+#mount $BLK_EFI $CHROOT/boot/efi
 
 mount $BLK_VAR $CHROOT/var
 mount $BLK_USR $CHROOT/usr
-
-#mount $BLK_HOME $CHROOT/home
-#mount $BLK_HOME $CHROOT/usr/ports
+#mount $BLK_PRT $CHROOT/usr/ports
+mount $BLK_HOME $CHROOT/home
 
 mount --bind /dev $CHROOT/dev
 mount -vt devpts devpts $CHROOT/dev/pts
 mount -vt tmpfs shm $CHROOT/dev/shm
 mount -vt proc proc $CHROOT/proc
 mount -vt sysfs sysfs $CHROOT/sys
-
-modprobe isofs
-modprobe loop
-mount -o loop $ISO_FILE $CHROOT/media
diff --git a/scripts/chroot.sh b/scripts/chroot.sh
new file mode 100644
index 0000000..00fbd78
--- /dev/null
+++ b/scripts/chroot.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+CHROOT=/mnt
+
+chroot $CHROOT /usr/bin/env -i \
+  HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
+  PATH=/bin:/usr/bin:/sbin:/usr/sbin \
+  /bin/bash --login
+
diff --git a/scripts/configure.sh b/scripts/configure.sh
index e812bda..d65ce58 100644
--- a/scripts/configure.sh
+++ b/scripts/configure.sh
@@ -1,17 +1,17 @@
 #!/bin/bash
 
 ADMIN_USER=c9admin
+CHROOT=/mnt
 #ADMIN_PASS=
 
 DIR=$(dirname "$PWD");
 DIR_CONF=$DIR"/conf"
 
-printf "DIR_CONF="$DIR"\n";
+printf "CHROOT="$CHROOT"\n";
+printf "DIR="$DIR"\n";
 printf "DIR_CONF="$DIR_CONF"\n";
 printf "ADMIN_USER="$ADMIN_USER"\n"
 
-printf "1.1.3 mount point to chroot (/mnt):"
-read CHROOT
 
 #configure_crux() {
 
diff --git a/scripts/getiso.sh b/scripts/getiso.sh
new file mode 100644
index 0000000..18f1ad1
--- /dev/null
+++ b/scripts/getiso.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+ISO_URL="https://serverop.de/crux/crux-3.2/iso/crux-3.2.iso"
+ISO_FILE="crux-3.2.iso"
+
+printf "1.1.1 Path/to crux-3.2.iso (/home/user/Downloads):"
+read ISO_PATH
+
+
+#prepare_iso() {
+
+    ISO_FILE=$ISO_PATH/$ISO_FILE
+
+    if [ -f $ISO_FILE ];
+    then
+        echo "File $ISO_FILE exists."
+    else
+        echo "File $ISO_FILE does not exist."
+        cd $ISO_PATH && { curl -k -O $ISO_URL ; cd -; }
+    fi
+
+#}
+
+modprobe isofs
+modprobe loop
+mount -o loop $ISO_FILE $CHROOT/media
diff --git a/scripts/install.sh b/scripts/install.sh
index 8a4be55..20be4d3 100644
--- a/scripts/install.sh
+++ b/scripts/install.sh
@@ -1,77 +1,67 @@
 #!/bin/bash
 # Set Global Vars
-ISO_URL="https://serverop.de/crux/crux-3.2/iso/crux-3.2.iso"
-ISO_FILE="crux-3.2.iso"
 
-printf "1.1.1 Path/to crux-3.2.iso (/home/user/Downloads):"
-read ISO_PATH
-
-#prepare_iso() {
-
-    ISO_FILE=$ISO_PATH/$ISO_FILE
-
-    if [ -f $ISO_FILE ];
-    then
-        echo "File $ISO_FILE exists."
-    else
-        echo "File $ISO_FILE does not exist."
-        cd $ISO_PATH && { curl -k -O $ISO_URL ; cd -; }
-    fi
-
-#}
+printf "1.1.2 EFI block; (/dev/sda1):"
+#read BLK_EFI
+BLK_EFI="/dev/sda1"
+
+printf "1.1.2 boot block; (/dev/sda2):"
+#read BLK_BOOT
+BLK_BOOT="/dev/sda2"
+
+printf "1.1.2 root block; (/dev/sda3):"
+#read BLK_ROOT
+BLK_ROOT="/dev/sda3"
+#
+printf "1.1.2 var block; (/dev/sda4):"
+#read BLK_VAR
+BLK_VAR="/dev/sda4"
+#
+printf "1.1.2 usr block; (/dev/sda6):"
+#read BLK_USR
+BLK_USR="/dev/sda6"
+#
+printf "1.1.2 home block; (/dev/sda7):"
+#read BLK_HOME
+BLK_HOME="/dev/sda7"
+#
+printf "1.1.2 ports block; (/dev/sda8):"
+#read BLK_PRT
+BLK_PRT="/dev/sda8"
+
+printf "1.1.2 swap block; (/dev/sda9):"
+#read BLK_SWP
+BLK_SWP="/dev/sda9"
+
+printf "1.1.3 mount point to chroot (/mnt):"
+#read CHROOT
+CHROOT="/mnt"
 
 #manual_install() {
 
-    printf "1.1.2 EFI block; (/dev/sda1):"
-    read BLK_EFI
-
-    printf "1.1.2 boot block; (/dev/sda2):"
-    read BLK_BOOT
-
-    printf "1.1.2 root block; (/dev/sda3):"
-    read BLK_ROOT
-
-    printf "1.1.2 swap; (/dev/sda4):"
-    read BLK_SWAP
-
-    printf "1.1.2 var block; (/dev/sda5):"
-    read BLK_VAR
-
-    printf "1.1.2 tmp block; (/dev/sda6):"
-    read BLK_TMP
-
-    printf "1.1.2 usr block; (/dev/sda7):"
-    read BLK_USR
-
-    printf "1.1.2 home block; (/dev/sda8):"
-    read BLK_HOME
-
-    printf "1.1.2 srv block; (/dev/sda8):"
-    read BLK_SRV
-
     echo "1.1.2 Creating File System on $BLK_EFI with fat32:"
     mkfs.fat -F 32 $BLK_EFI
     echo "1.1.2 Creating File System on $BLK_BOOT with ext4:"
     mkfs.ext4 $BLK_BOOT
     echo "1.1.2 Creating File System on $BLK_ROOT with ext4:"
     mkfs.ext4 $BLK_ROOT
-    echo "1.1.2 Creating Swap File System on $BLK_SWAP:"
-    mkswap $BLK_SWAP
     echo "1.1.2 Creating File System on $BLK_VAR with ext4:"
     mkfs.ext4 $BLK_VAR
     echo "1.1.2 Creating File System on $BLK_USR with ext4:"
     mkfs.ext4 $BLK_USR
-#    echo "1.1.2 Creating File System on $BLK_HOME with ext4:"
-#    mkfs.ext4 $BLK_HOME
-#    echo "1.1.2 Creating File System on $BLK_SRV with ext4:"
-#    mkfs.ext4 $BLK_SRV
+    echo "1.1.2 Creating File System on $BLK_HOME with ext4:"
+    mkfs.ext4 $BLK_HOME
+#    echo "1.1.2 Creating File System on $BLK_PRT with ext4:"
+#    mkfs.ext4 $BLK_PRT
+    echo "1.1.2 Creating Swap File System on $BLK_SWP:"
+    #mkswap $BLK_SWP
+
 #}
 
 
 #prepare_target(){
 
     printf "1.1.3 mount point to chroot (/mnt):"
-    read CHROOT
     mount $BLK_ROOT $CHROOT
 
     mkdir -p $CHROOT/boot
@@ -93,7 +83,9 @@ read ISO_PATH
     mkdir -p $CHROOT/var/lib/pkg
 
     mount $BLK_USR $CHROOT/usr
-#    mount $BLK_HOME $CHROOT/home
+    mkdir -p $CHROOT/usr/ports
+#    mount $BLK_PRT $CHROOT/usr/ports
+    mount $BLK_HOME $CHROOT/home
 
     mount --bind /dev $CHROOT/dev
     mount -vt devpts devpts $CHROOT/dev/pts
@@ -101,10 +93,6 @@ read ISO_PATH
     mount -vt proc proc $CHROOT/proc
     mount -vt sysfs sysfs $CHROOT/sys
 
-    modprobe isofs
-    modprobe loop
-    mount -o loop $ISO_FILE $CHROOT/media
-
 #install_crux() {
 
     echo "1.1.4 Create core.lst and install pkgadd"
diff --git a/scripts/ports.sh b/scripts/ports.sh
new file mode 100644
index 0000000..4d796b6
--- /dev/null
+++ b/scripts/ports.sh
@@ -0,0 +1,84 @@
+#!/bin/bash
+
+ADMIN_USER=c9admin
+CHROOT=/mnt
+
+DIR=$(dirname "$PWD");
+DIR_CONF=$DIR"/conf"
+
+printf "CHROOT="$CHROOT"\n";
+printf "DIR_CONF="$DIR_CONF"\n";
+
+echo "1.3.1. Build as unprivileged user;"
+
+chroot $CHROOT /bin/bash -c "useradd -U -m -d /usr/ports -s /bin/false pkgmk"
+chroot $CHROOT /bin/bash -c "usermod -a -G pkgmk $ADMIN_USER"
+chroot $CHROOT /bin/bash -c "chown -R root:pkgmk /usr/ports"
+chroot $CHROOT /bin/bash -c "chmod -R 774 /usr/ports"
+chroot $CHROOT /bin/bash -c "chmod 775 /usr/ports"
+
+echo "1.3.2. Ports Layout;"
+
+chroot --userspec=pkgmk:pkgmk $CHROOT /bin/bash -c "mkdir /usr/ports/packages"
+chroot --userspec=pkgmk:pkgmk $CHROOT /bin/bash -c "mkdir /usr/ports/work"
+chroot --userspec=pkgmk:pkgmk $CHROOT /bin/bash -c "mkdir /usr/ports/pkgbuild"
+chroot --userspec=pkgmk:pkgmk $CHROOT /bin/bash -c "mkdir /usr/ports/distfiles"
+
+chroot $CHROOT /bin/bash -c "id pkgmk"
+read PAUSE
+vim $CHROOT/etc/fstab
+
+echo "1.3.3 Configure pkgmk;"
+cp $DIR_CONF/pkgmk.conf $CHROOT/etc/
+#vim $CHROOT/etc/pkgmk.conf
+
+echo "1.3.4 Configure prt-get;"
+mv $CHROOT/etc/ports/contrib.rsync.inactive $CHROOT/etc/ports/contrib.rsync
+cp $DIR_CONF/prt-get.conf $CHROOT/etc/
+#vim $CHROOT/etc/prt-get.conf
+
+echo "1.3.5. Install extra ports;"
+
+cp /media/crux/opt/* $CHROOT/usr/ports/packages
+cp /media/crux/xorg/* $CHROOT/usr/ports/packages
+
+echo "Installing $CHROOT/usr/ports/packages/fakeroot#1.20.2-1.pkg.tar.xz"
+$CHROOT/usr/bin/pkgadd -f -r $CHROOT "$CHROOT/usr/ports/packages/fakeroot#1.20.2-1.pkg.tar.xz"
+echo "Installing $CHROOT/usr/ports/packages/dbus#1.10.2-1.pkg.tar.xz"
+$CHROOT/usr/bin/pkgadd -f -r $CHROOT "$CHROOT/usr/ports/packages/dbus#1.10.2-1.pkg.tar.xz"
+echo "Installing $CHROOT/usr/ports/packages/expat#2.1.0-1.pkg.tar.xz"
+$CHROOT/usr/bin/pkgadd -f -r $CHROOT "$CHROOT/usr/ports/packages/expat#2.1.0-1.pkg.tar.xz"
+echo "Installing $CHROOT/usr/ports/packages/libnl#3.2.27-1.pkg.tar.xz"
+$CHROOT/usr/bin/pkgadd -f -r $CHROOT "$CHROOT/usr/ports/packages/libnl#3.2.27-1.pkg.tar.xz"
+echo "Installing $CHROOT/usr/ports/packages/libpng#1.6.19-1.pkg.tar.xz"
+$CHROOT/usr/bin/pkgadd -f -r $CHROOT "$CHROOT/usr/ports/packages/libpng#1.6.19-1.pkg.tar.xz"
+echo "Installing $CHROOT/usr/ports/packages/freetype#2.6.1-1.pkg.tar.xz"
+$CHROOT/usr/bin/pkgadd -f -r $CHROOT "$CHROOT/usr/ports/packages/freetype#2.6.1-1.pkg.tar.xz"
+echo "Installing $CHROOT/usr/ports/packages/libffi#3.2.1-2.pkg.tar.xz"
+$CHROOT/usr/bin/pkgadd -f -r $CHROOT "$CHROOT/usr/ports/packages/libffi#3.2.1-2.pkg.tar.xz"
+echo "Installing $CHROOT/usr/ports/packages/sqlite3#3.9.2-1.pkg.tar.xz"
+$CHROOT/usr/bin/pkgadd -f -r $CHROOT "$CHROOT/usr/ports/packages/sqlite3#3.9.2-1.pkg.tar.xz"
+echo "Installing $CHROOT/usr/ports/packages/python#2.7.10-1.pkg.tar.xz"
+$CHROOT/usr/bin/pkgadd -f -r $CHROOT "$CHROOT/usr/ports/packages/python#2.7.10-1.pkg.tar.xz"
+echo "Installing $CHROOT/usr/ports/packages/glib#2.46.2-1.pkg.tar.xz"
+$CHROOT/usr/bin/pkgadd -f -r $CHROOT "$CHROOT/usr/ports/packages/glib#2.46.2-1.pkg.tar.xz"
+echo "Installing $CHROOT/usr/ports/packages/grub2#2.00-7.pkg.tar.xz"
+$CHROOT/usr/bin/pkgadd -f -r $CHROOT "$CHROOT/usr/ports/packages/grub2#2.00-7.pkg.tar.xz"
+echo "Installing $CHROOT/usr/ports/packages/grub2-efi#2.00-4.pkg.tar.xz"
+$CHROOT/usr/bin/pkgadd -f -r $CHROOT "$CHROOT/usr/ports/packages/grub2-efi#2.00-4.pkg.tar.xz"
+echo "Installing $CHROOT/usr/ports/packages/wireless-tools#29-1.pkg.tar.xz"
+$CHROOT/usr/bin/pkgadd -f -r $CHROOT "$CHROOT/usr/ports/packages/wireless-tools#29-1.pkg.tar.xz"
+echo "Installing $CHROOT/usr/ports/packages/wpa_supplicant#2.5-2.pkg.tar.xz"
+$CHROOT/usr/bin/pkgadd -f -r $CHROOT "$CHROOT/usr/ports/packages/wpa_supplicant#2.5-2.pkg.tar.xz"
+echo "Installing $CHROOT/usr/ports/packages/lvm2#2.02.133-1.pkg.tar.xz"
+$CHROOT/usr/bin/pkgadd -f -r $CHROOT "$CHROOT/usr/ports/packages/lvm2#2.02.133-1.pkg.tar.xz"
+echo "Installing $CHROOT/usr/ports/packages/mdadm#3.3.4-1.pkg.tar.xz"
+$CHROOT/usr/bin/pkgadd -f -r $CHROOT "$CHROOT/usr/ports/packages/mdadm#3.3.4-1.pkg.tar.xz"
+echo "Installing $CHROOT/usr/ports/packages/mdadm#3.3.4-1.pkg.tar.xz"
+$CHROOT/usr/bin/pkgadd -f -r $CHROOT "$CHROOT/usr/ports/packages/mdadm#3.3.4-1.pkg.tar.xz"
+echo "Installing $CHROOT/usr/ports/packages/efivar#0.21-1.pkg.tar.xz"
+$CHROOT/usr/bin/pkgadd -f -r $CHROOT "$CHROOT/usr/ports/packages/efivar#0.21-1.pkg.tar.xz"
+echo "Installing $CHROOT/usr/ports/packages/efibootmgr#0.12-1.pkg.tar.xz"
+$CHROOT/usr/bin/pkgadd -f -r $CHROOT "$CHROOT/usr/ports/packages/efibootmgr#0.12-1.pkg.tar.xz"
+echo "Installing $CHROOT/usr/ports/packages/dosfstools#3.0.26-1.pkg.tar.xz"
+$CHROOT/usr/bin/pkgadd -f -r $CHROOT "$CHROOT/usr/ports/packages/dosfstools#3.0.26-1.pkg.tar.xz"