diff options
-rw-r--r-- | conf/fstab | 45 | ||||
-rw-r--r-- | conf/pkgmk.conf | 38 | ||||
-rw-r--r-- | conf/prt-get.conf | 50 | ||||
-rw-r--r-- | core/configure.html | 44 | ||||
-rw-r--r-- | core/install.html | 127 | ||||
-rw-r--r-- | core/ports.html | 233 | ||||
-rw-r--r-- | scripts/act-chroot.sh | 71 | ||||
-rw-r--r-- | scripts/chroot.sh | 9 | ||||
-rw-r--r-- | scripts/configure.sh | 6 | ||||
-rw-r--r-- | scripts/getiso.sh | 26 | ||||
-rw-r--r-- | scripts/install.sh | 102 | ||||
-rw-r--r-- | scripts/ports.sh | 84 |
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" |