1
edit
Changes
→Setting up environment
{{Pidora}}[[Category:Pidora 18 (Raspberry Pi Fedora Remix)]][[Category:OSTEP SOP]]
{{Admon/important|Seneca-Specific SOP|This SOP is specific to the environment at Seneca CDOT since it refers to specific hosts, configurations, and tools. It is intended solely as a reference for the OSTEP team at CDOT, but the content may be useful to readers in other contexts.}}
= Intro =
This page covers how one can manage the various needed parts of a complete release process. This includes the other SOP pages containing file configurations and/or quick command line references for the following procedures:
# Setting up environment
# Building packages
# Signing packages
# Creating repositories
# Composing images
= Setting up environment =
Follow the instructions on Chris's blog post: http://blog.chris.tylers.info/index.php?/archives/272-Acessing-the-armv6hl-Koji-Buildsystem.html
For Fedora 21 or later, you need to enable MD5 verification before using koji commands (according to [https://bugzilla.redhat.com/show_bug.cgi?id=1157260 here]):
<pre>
export OPENSSL_ENABLE_MD5_VERIFY=1
</pre>
= Building Packages =
== Post Commands ==
* Repo analysis: <pre>repoclosure --arch=armv6hl --arch=noarch --repofrompath=v6,http://japan.proximity.on.ca/repos/f18f20-build/latest/armv6hl/ -r v6 | tee /tmp/reporeport.log</pre>
= Sign, Mash, and Rsync Together! =
== Prerequisites ==
* Must setup passwordless passphraseless logins from root@japan to all users in the script
* Must have a working mash configuration: [[Pidora_SOP#Creating_Repositories | See mash below]]
* Must have a configured sigul user with access to the signing key
* Make sure that any externally called scripts are in the correct locations
== Running pidora-update.py ==
* ssh japan
* run as root : pidora-smr* script location /root/pidora-update/pidora-update.py
<pre>
-m, --mash start a mash run
-r, --rsync perform a rsync of the mash repos
-f, --force can force some options
-l, --list-unsigned list unsigned rpms
--pidora=PIDORA specify version of pidora = 18, 19
--auto enables logging and emails logs
--koji-tag=KOJITAG specify the koji tag to sign
--email=andrew.oatley-willisemail@senecacollege.ca
specify the email to send logs to
--sigul-user=agreene USER specify the user for sigul --sigul-host=england.proximity.on.caHOSTNAME
specify the host for sigul
--mash-user=root USER specify the user for mash --mash-host=japan.proximity.on.caHOSTNAME
specify the host for mash
--rsync-user=pidoraprUSER
specify the user for rsync
--rsync-host=pidora.proximity.on.caHOSTNAME
specify the host for rsync
--log-dir=/var/log/pidora-smr/
** Can change which koji tag will be used for signing
** Can change the version of pidora to ssign, mash, rsync
== Examples runs ==
* Check which hosts can connect successfully
** Also shows default configurations
[Connection]
sigulhost = england.proximity.on.ca
siguluser = agreeneuser
mashhost = japan.proximity.on.ca
mashuser = rootuser
rsynchost = pidora.proximity.on.ca
rsyncuser = pidorapruser
[General]
* Get a list of unsigned packages
** Can check a single tag with --koji-tag=<tag-name>
<pre>
pidora-smr --list-unsigned--pidora 18pidora-smr --list-unsigned --pidora 19pidora-smr --list-unsigned --pidora 20
</pre>
<pre>
pidora-smr --all--pidora 20
</pre>
<pre>
pidora-smr --all --sigul-user=oatley--pidora 20
</pre>
<pre>
pidora-smr --sign--pidora 20pidora-smr --mash--pidora 20pidora-smr --rsync--pidora 20
</pre>
* Changing the configurations with command line options
** Sign using a different user, on a single koji tag
<pre>
pidora-smr --sign --koji-tag=f18-updates-testing--pidora 20
</pre>
<pre>
sigulhost = england.proximity.on.ca
siguluser = agreeneuser
mashhost = japan.proximity.on.ca
mashuser = rootuser
rsynchost = pidora.proximity.on.ca
rsyncuser = pidorapruser
[General]
== Source Code ==
[[https://github.com/oatley/pidora-smr/tree/master Pidora-Update-Source | pidora-update.py]smr source code]
= Signing Packages =
= Composing Images =
<s>Before you can attempt to run a compose you should check to make sure that the following packages are installed:
* anaconda
* lorax</s> Because livemedia-tools is not stable software for creating pidora images we have a modified version of livemedia-creator that works well however this software is currently out of date, so we have decided to keep using this version of livemedia to produce future images. You can accessing our custom version of livemedia which is located on the host machine cal-7-2 within a chroot log onto the host machine iraq.proximity.on.ca then ssh into the compose node host machine cal-7-2.*ssh user@iraq.proximity.on.ca*ssh root@cal-7-2 *Note if you restart or the node is shutdown you will need to bind mount /proc, /dev, /sys to f17v6/proc, f17v6/dev, f17v6/sys with the following command before you chroot.*mount -o bind /proc/ f17v6/proc*mount -o bind /dev/ f17v6/dev*mount -o bind /sys/ f17v6/sys
chroot into the armv6hl directory on the arm device.
* chroot /root/f17v6
cd into the livemedia directory or where ever your kickstart file is located.
* cd /livemedia/f20
Run the provided Livemedia-Creator command provided below to start the compose process.
== Example Livemedia-Creator Command ==
* livemedia-creator --make-disk --no-virt --image-only --keep-image --ks=pidora-f20.ks
Estimated time for compilation (15mins)
== Example Kickstart File ==
Pidora 18 kickstart: http://scotlandzenit.proximitysenecac.on.ca/raspberrypiwiki/index.php/Pidora_kickstart Pidora 2014 kickstart: http://test-releaseszenit.senecac.on.ca/rpfr18v6wiki/latestindex.php/pidoraPidora-18.ks2014-kickStart== Example Livemedia-Creator Command Package List File ==* livemedia-creator Pidora 2014 Package List kickstart: http://zenit.senecac.on.ca/wiki/index.php/Pidora-2014-makePackagelist-disk --no-virt --image-only --keep-image --ks=rpfr-18.ks Estimated time for compilation (27mins)kickStart
* command details
<br>EOF
== Details About Ansible Preparing The Final Image ==
== How To Use Ansible Vfat Reformating Script ==This script copies the boot partition to a temporary folder then reformat's that partition to vfat from ext4 it also removes the swap partition that is created by live-media-creator the swap partition is created during the firstboot process by the user.
Example usage* Change to the ansible directory<pre>cd /etc/ansible</pre>revfat disk_image.img
* Copy over all configurations required and start the koji servicefdisk -l disk_image.img
<pre>
</pre>
== Change Builder Configurations Shrinking The Image ==Script to take an SD card image (such as for a Raspberry Pi) with a dos disklabel and two partitions (boot vfat and rootfs extX), and shrink it so that the rootfs (2nd partition) is as short as possible plus a small free space allowance. Pidora 2014 Shrink Script: http://zenit.senecac.on.ca/wiki/index.php/Pidora-2014-Shrink-Script
* The ansible modules can be found here: [http:Note sometimes this script does not unmount the tmp directory it mounts /tmp/wwwtmp.ansibleworksv9ADZEWeP2.com/docs/modules.html/ Ansible Modules]
</pre>
=== Services =Preparing Pidora Noobs distribution ==* Initially change services on This script extracts and compresses the boot and rootfs of a Pidora image. It also generates and updates all the buildernecessary json files, since ansible needs to gain access to images and release notes required by the builder there are a few things that need to be doneNoobs distribution.* NetworkManager - If it is a static address, stop this service, or if you have already setup DHCP Pidora 2014 Noobs Script: http://zenit.senecac.on japan, start network manager<pre>systemctl start NetworkManager<.ca/wiki/pre>or<pre>systemctl stop NetworkManager<index.php/pre>* sshd Pidora- Start this service<pre>systemctl start sshd</pre>* firewalld 2014- Stop this service<pre>systemctl stop firewalld</pre>* selinux Noobs- Stop selinux for now as it interferes with ansible ssh<pre>setenforce 0</pre>Script