87ea119
diff --git a/rtslib/root.py b/rtslib/root.py
87ea119
index 246c285..d558445 100644
87ea119
--- a/rtslib/root.py
87ea119
+++ b/rtslib/root.py
87ea119
@@ -70,6 +70,7 @@ class RTSRoot(CFSNode):
87ea119
         base kernel modules (tcm)
87ea119
         '''
87ea119
         super(RTSRoot, self).__init__()
87ea119
+        modprobe('configfs')
87ea119
         mount_configfs()
87ea119
         modprobe('target_core_mod')
87ea119
         self._create_in_cfs_ine('any')
87ea119
@@ -247,7 +248,7 @@ class RTSRoot(CFSNode):
87ea119
         if not restore_file:
87ea119
             restore_file = default_save_file
87ea119
 
87ea119
-        with open(from_file, "r") as f:
87ea119
+        with open(restore_file, "r") as f:
87ea119
             config = json.loads(f.read())
87ea119
             return self.restore(config, clear_existing=True,
87ea119
                                 abort_on_error=abort_on_error)
87ea119
diff --git a/scripts/targetctl b/scripts/targetctl
87ea119
index db8e0d2..bdf59f4 100755
87ea119
--- a/scripts/targetctl
87ea119
+++ b/scripts/targetctl
87ea119
@@ -42,8 +42,7 @@ def save(to_file):
87ea119
     RTSRoot().save_to_file(save_file=to_file)
87ea119
 
87ea119
 def restore(from_file):
87ea119
-        errors = RTSRoot().restore_from_file(restore_file=from_file,
87ea119
-                                             clear_existing=True)
87ea119
+        errors = RTSRoot().restore_from_file(restore_file=from_file)
87ea119
 
87ea119
         if errors:
87ea119
             print("Restore failed, %d errors:" % len(errors), file=err)
e44b55a
diff --git a/setup.py b/setup.py
e44b55a
index 7f41d52..5886fbc 100755
e44b55a
--- a/setup.py
e44b55a
+++ b/setup.py
e44b55a
@@ -27,5 +27,6 @@ setup (
e44b55a
     maintainer_email = 'agrover@redhat.com',
e44b55a
     url = 'http://github.com/agrover/rtslib-fb',
e44b55a
     packages = ['rtslib'],
e44b55a
+    scripts = ['scripts/targetctl'],
e44b55a
     use_2to3 = True,
e44b55a
     )