<p>Hi, folks:</p><p><br></p><p>    I am dealing with a problem, which is to use a overlay filesystem as the new root after the root system boot up. I am freshman on systemd service, so can anyone help me on my script errors? why it's failed?</p><p><br></p><p>     My service file, i put it under /usr/lib/systemd/system:</p><p><br></p><p>>>>>>></p><p><br></p><p>[Unit]</p><p>Description=Change root to overlay</p><p>After=systemd-remount-fs.service</p><p>ConditionKernelCommandLine=|systemd.setenv</p><p> </p><p>[Service]</p><p>TimeoutStartSec=0</p><p>ExecStart=/usr/local/bin/ovl_chroot.sh</p><p> </p><p>[Install]</p><p>WantedBy=local-fs.target</p><p><br></p><p>>>>></p><p><br></p><p>   My bash script for changing root filesystem</p><p><br></p><p>>>>></p><p>#!/bin/bash</p><p> </p><p>echo "Start to mount overlay and change root to overlay"</p><p> </p><p>if [ ! -d /ovl_root/test1 ] ;</p><p>then</p><p>    mkdir -p /ovl_root</p><p>    mkdir -p /ovl_root/test1</p><p>    cd /ovl_root/test1</p><p>    mkdir -p root</p><p>    mkdir -p work</p><p>    mkdir -p upper</p><p>fi</p><p> </p><p>mount -t overlay overlay -olowerdir=/,upperdir=/ovl_root/test1/upper,workdir=/ovl_root/test1/work /ovl_root/test1/root</p><p> </p><p>cd /ovl_root/test1/root</p><p>  </p><p>/usr/sbin/chroot /ovl_root/test1/root</p><p> </p><p>>>></p><p><br></p><p> This is the output of the status </p><p><br></p><p>>>>></p><p><br></p><p>root@cr ~ # systemctl status ovl_chroot.service -l</p><p>â—?ovl_chroot.service - Change root to overlay</p><p>   Loaded: loaded (/usr/lib/systemd/system/ovl_chroot.service; enabled; vendor preset: disabled)</p><p>   Active: inactive (dead) since Tue 2015-08-25 16:26:43 UTC; 24s ago</p><p>  Process: 171 ExecStart=/usr/local/bin/ovl_chroot.sh (code=exited, status=0/SUCCESS)</p><p> Main PID: 171 (code=exited, status=0/SUCCESS)</p><p> </p><p>Aug 25 16:26:43 cr systemd[1]: Started Change root to overlay.</p><p>Aug 25 16:26:43 cr systemd[1]: Starting Change root to overlay...</p><p>Aug 25 16:26:43 cr ovl_chroot.sh[171]: Start to mount overlay and change root to overlay</p><p>Aug 25 16:26:43 cr ovl_chroot.sh[171]: sh: cannot set terminal process group (171): Inappropriate ioctl for device</p><p>Aug 25 16:26:43 cr ovl_chroot.sh[171]: sh: no job control in this shell</p><p>Aug 25 16:26:43 cr ovl_chroot.sh[171]: sh-4.3# exit</p><div><br></div><p><br></p><p>>>></p><p><br></p><p>But i run the script in the shell, it can change root to the specify directory. Anyone has any ideas?</p><p><br></p><p>Thank you very much</p><p>Xun</p><p><br></p>