155 lines
3.8 KiB
ReStructuredText
155 lines
3.8 KiB
ReStructuredText
.. post:: 2019.08.10
|
|
:tags: howto,ubuntu,gnu/linux,installation
|
|
:category: gnu/linux
|
|
:author: vladan
|
|
:location: Belgrade
|
|
|
|
===========================
|
|
AutomaticCRM Ubuntu Desktop
|
|
===========================
|
|
|
|
Below are the steps taken to create the Ubuntu 18.04.2 installer for the needs
|
|
of AutomaticCRM according to the requirements ...
|
|
|
|
Operating system
|
|
|
|
* Only one domain is allowed ( dev.automaticcrm.ai ) in network adapter
|
|
* No print screen functionality
|
|
* No usb memory functionality
|
|
* No access to the filesystem
|
|
* No apps except browser
|
|
|
|
|
|
|
|
Steps to set up the build environment
|
|
=====================================
|
|
|
|
|
|
.. code-block:: bash
|
|
|
|
mkdir disk
|
|
sudo mount -o ubuntu-18.04.2-desktop-amd64.iso disk
|
|
rsync --exclude=/casper/filesystem.squashfs -av disk/ livecd/
|
|
|
|
|
|
Set up the rootfs
|
|
=================
|
|
|
|
.. code-block:: bash
|
|
|
|
unsquashfs disk/casper/filesystem.squashfs
|
|
sudo systemd-nspawn \
|
|
--directory squashfs-root/ \
|
|
--bind ~/dev/automaticcrm/deb:/opt/deb
|
|
--bind /etc/resolv.conf /bin/bash
|
|
|
|
Once in the shell, run these commands:
|
|
|
|
.. code-block:: bash
|
|
|
|
apt-get update
|
|
apt-get -y purge \
|
|
usb-creator-common \
|
|
usb-creator-gtk \
|
|
thunderbird-gnome-support \
|
|
thunderbird \
|
|
remmina-common \
|
|
remmina \
|
|
remmina-plugin-rdp \
|
|
remmina-plugin-vnc \
|
|
firefox* \
|
|
libreoffice* \
|
|
alsa* \
|
|
cups* \
|
|
gnome-screenshot \
|
|
evince \
|
|
gedit
|
|
|
|
dpkg -i /opt/deb/google-chrome-stable_current_amd64.deb
|
|
|
|
|
|
Restrict domains
|
|
================
|
|
|
|
To redirect all domains to localhost, except dev.automaticcrm.ai, create the
|
|
file ``/etc/dnsmasq.d/autocrm.conf`` with these lines:
|
|
|
|
.. code-block:: ini
|
|
|
|
address=/#/127.0.0.1
|
|
server=/dev.automaticcrm.ai/8.8.8.8
|
|
|
|
Add this line to /etc/dnsmasq.conf
|
|
|
|
.. code-block:: ini
|
|
|
|
conf-dir=/etc/dnsmasq.d
|
|
|
|
|
|
Run Chrome ONLY
|
|
===============
|
|
|
|
Override the path for all users.
|
|
|
|
Edit the desktop entry in ``/usr/share/xsessions/ubuntu.desktop`` so it starts
|
|
Chrome in fullscreen mode:
|
|
|
|
.. code-block:: ini
|
|
|
|
[Desktop Entry]
|
|
Name=Ubuntu
|
|
Comment=This session logs you into Ubuntu
|
|
Exec=env GNOME_SHELL_SESSION_MODE=ubuntu /usr/bin/google-chrome --kiosk https://dev.automaticcrm.ai
|
|
Type=Application
|
|
DesktopNames=ubuntu:AutomaticCRM
|
|
X-Ubuntu-Gettext-Domain=gnome-session-3.0
|
|
|
|
.. note::
|
|
|
|
If you want to change the domain, edit this file and also enable it in the
|
|
dnsmqsq config above.
|
|
|
|
Remove USB drivers
|
|
==================
|
|
|
|
.. code-block:: bash
|
|
|
|
printf "\n#AutomaticCRM disabled modules\nblacklist uas\nblacklist usb_storage\n" >> /etc/modprobe.d/blacklist.conf
|
|
|
|
|
|
Create the ISO
|
|
==============
|
|
|
|
Pack the squashfs image and copy it to casper.
|
|
|
|
.. code-block:: bash
|
|
|
|
sudo mksquashfs squashfs-root/ livecd/casper/filesystem.squashfs
|
|
|
|
|
|
Recreate installation files and pack the ISO.
|
|
|
|
.. code-block:: bash
|
|
|
|
printf $(sudo du -sx --block-size=1 squashfs-root | cut -f1) > livecd/casper/filesystem.size
|
|
sudo systemd-nspawn --directory squashfs-root/ dpkg-query -W --showformat='${Package} ${Version}\n' > livecd/casper/filesystem.manifest
|
|
sudo cp livecd/casper/filesystem.manifest{,-desktop}
|
|
sudo rm livecd/md5sum.txt && sudo find livecd/ -type f -print0 | sudo xargs -0 md5sum | grep -v isolinux/boot.cat | sudo tee livecd/md5sum.txt
|
|
|
|
mkisofs -r \
|
|
-V "AutomaticCRM Ubuntu Linux" \
|
|
-cache-inodes \
|
|
-J -l -b isolinux/isolinux.bin \
|
|
-c isolinux/boot.cat -no-emul-boot \
|
|
-boot-load-size 4 \
|
|
-boot-info-table \
|
|
-o automaticcrm-ubuntu-18.04.2.iso livecd/
|
|
|
|
Test the installation in a vm
|
|
=============================
|
|
|
|
.. code-block:: bash
|
|
|
|
rm -f ubuntu.qcow2
|
|
qemu-img create -f qcow2 ubuntu.qcow2 40G
|
|
virsh define ./autocrm.xml && virsh start ubuntu18.04
|