Kaydet (Commit) 802b63c4 authored tarafından root's avatar root

remove encryption and lvm

üst 6b525c00
......@@ -142,20 +142,12 @@ class InstallerWindow:
self.builder.get_object("combo_disk").add_attribute(
renderer_text, "text", 0)
self.builder.get_object("entry_passphrase").connect(
"changed", self.assign_passphrase)
self.builder.get_object("entry_passphrase2").connect(
"changed", self.assign_passphrase)
self.builder.get_object("radio_automated").connect(
"toggled", self.assign_type_options)
self.builder.get_object("radio_manual").connect(
"toggled", self.assign_type_options)
self.builder.get_object("check_badblocks").connect(
"toggled", self.assign_type_options)
self.builder.get_object("check_encrypt").connect(
"toggled", self.assign_type_options)
self.builder.get_object("check_lvm").connect(
"toggled", self.assign_type_options)
self.builder.get_object("combo_disk").connect(
"changed", self.assign_type_options)
......@@ -199,8 +191,6 @@ class InstallerWindow:
self.builder.get_object("radiobutton_passwordlogin").connect(
"toggled", self.assign_login_options)
self.builder.get_object("checkbutton_encrypt_home").connect(
"toggled", self.assign_login_options)
# link the checkbutton to the combobox
grub_check = self.builder.get_object("checkbutton_grub")
......@@ -350,8 +340,6 @@ class InstallerWindow:
("Log in automatically"))
self.builder.get_object("radiobutton_passwordlogin").set_label(
("Require my password to log in"))
self.builder.get_object("checkbutton_encrypt_home").set_label(
("Encrypt my home folder"))
# Type page
self.builder.get_object("label_automated").set_text(
......@@ -359,14 +347,6 @@ class InstallerWindow:
self.builder.get_object("label_automated2").set_text(
("Erase a disk and install Sulin on it."))
self.builder.get_object("label_disk").set_text(("Disk:"))
self.builder.get_object("label_encrypt").set_text(
("Encrypt the operating system"))
self.builder.get_object(
"entry_passphrase").set_placeholder_text(("Passphrase"))
self.builder.get_object("entry_passphrase2").set_placeholder_text(
("Confirm passphrase"))
self.builder.get_object("label_lvm").set_text(
("Use LVM (Logical Volume Management)"))
self.builder.get_object("label_manual").set_text(
("Manual Partitioning"))
self.builder.get_object("label_manual2").set_text(
......@@ -495,69 +475,26 @@ class InstallerWindow:
"radio_automated").get_active()
self.builder.get_object("check_badblocks").set_sensitive(
self.setup.automated)
self.builder.get_object("check_encrypt").set_sensitive(
self.setup.automated)
self.builder.get_object("check_lvm").set_sensitive(
self.setup.automated)
self.builder.get_object("combo_disk").set_sensitive(
self.setup.automated)
self.builder.get_object("entry_passphrase").set_sensitive(
self.setup.automated)
self.builder.get_object("entry_passphrase2").set_sensitive(
self.setup.automated)
if not self.setup.automated:
self.builder.get_object("check_badblocks").set_active(False)
self.builder.get_object("check_encrypt").set_active(False)
self.builder.get_object("check_lvm").set_active(False)
self.builder.get_object("combo_disk").set_active(-1)
self.builder.get_object("entry_passphrase").set_text("")
self.builder.get_object("entry_passphrase2").set_text("")
self.setup.lvm = self.builder.get_object("check_lvm").get_active()
if not self.setup.lvm:
# Force LVM for LUKs
self.builder.get_object("check_badblocks").set_active(False)
self.builder.get_object("check_encrypt").set_active(False)
self.builder.get_object("entry_passphrase").set_text("")
self.builder.get_object("entry_passphrase2").set_text("")
self.builder.get_object("check_badblocks").set_sensitive(False)
self.builder.get_object("check_encrypt").set_sensitive(False)
self.setup.passphrase1 = self.builder.get_object(
"entry_passphrase").get_text()
self.setup.passphrase2 = self.builder.get_object(
"entry_passphrase2").get_text()
self.setup.luks = self.builder.get_object("check_encrypt").get_active()
model = self.builder.get_object("combo_disk").get_model()
active = self.builder.get_object("combo_disk").get_active()
if(active > -1):
row = model[active]
self.setup.disk = row[1]
self.setup.diskname = row[0]
if not self.builder.get_object("check_encrypt").get_active():
self.builder.get_object("entry_passphrase").set_text("")
self.builder.get_object("entry_passphrase2").set_text("")
self.builder.get_object("entry_passphrase").set_sensitive(False)
self.builder.get_object("entry_passphrase2").set_sensitive(False)
self.builder.get_object("check_badblocks").set_active(False)
self.builder.get_object("check_badblocks").set_sensitive(False)
else:
self.builder.get_object("entry_passphrase").set_sensitive(True)
self.builder.get_object("entry_passphrase2").set_sensitive(True)
self.builder.get_object("check_badblocks").set_sensitive(True)
self.builder.get_object("check_badblocks").set_sensitive(True)
self.setup.badblocks = self.builder.get_object(
"check_badblocks").get_active()
self.setup.print_setup()
def assign_passphrase(self, widget):
self.setup.passphrase1 = self.builder.get_object(
"entry_passphrase").get_text()
self.setup.passphrase2 = self.builder.get_object(
"entry_passphrase2").get_text()
self.setup.print_setup()
def quit_cb(self, widget, data=None):
if QuestionDialog(("Quit?"), ("Are you sure you want to quit the installer?")):
Gtk.main_quit()
......@@ -745,17 +682,6 @@ class InstallerWindow:
pass
def assign_login_options(self, checkbox, data=None):
if self.builder.get_object("radiobutton_passwordlogin").get_active():
self.builder.get_object(
"checkbutton_encrypt_home").set_sensitive(True)
else:
self.builder.get_object(
"checkbutton_encrypt_home").set_active(False)
self.builder.get_object(
"checkbutton_encrypt_home").set_sensitive(False)
self.setup.ecryptfs = self.builder.get_object(
"checkbutton_encrypt_home").get_active()
self.setup.autologin = self.builder.get_object(
"radiobutton_autologin").get_active()
self.setup.print_setup()
......@@ -998,14 +924,6 @@ class InstallerWindow:
if self.setup.disk is None:
errorFound = True
errorMessage = ("Please select a disk.")
if self.setup.luks:
if (self.setup.passphrase1 is None or self.setup.passphrase1 == ""):
errorFound = True
errorMessage = (
"Please provide a passphrase for the encryption.")
elif (self.setup.passphrase1 != self.setup.passphrase1):
errorFound = True
errorMessage = ("Your passphrases do not match.")
if (errorFound):
WarningDialog(("Installer"), errorMessage)
else:
......@@ -1154,8 +1072,6 @@ class InstallerWindow:
model.append(top, (("Username: ") + bold(self.setup.username),))
model.append(top, (("Automatic login: ") + bold(("enabled")
if self.setup.autologin else ("disabled")),))
model.append(top, (("Home encryption: ") + bold(("enabled")
if self.setup.ecryptfs else ("disabled")),))
top = model.append(None, (("System settings"),))
model.append(top, (("Computer's name: ") + bold(self.setup.hostname),))
top = model.append(None, (("Filesystem operations"),))
......@@ -1167,10 +1083,6 @@ class InstallerWindow:
if self.setup.automated:
model.append(
top, (bold(("Automated installation on %s") % self.setup.diskname),))
model.append(
top, (("LVM: ") + bold(("enabled") if self.setup.lvm else ("disabled")),))
model.append(top, (("Disk Encryption: ") +
bold(("enabled") if self.setup.luks else ("disabled")),))
else:
for p in self.setup.partitions:
if p.format_as:
......
......@@ -119,8 +119,8 @@ class InstallerEngine:
False, ("Adding new user to the system"))
#TODO: support encryption
self.do_run_in_chroot('useradd {username}'.format(username=self.setup.username))
self.do_run_in_chroot("echo -ne\"{0}\\n{1}\\n\" | passwd {2}".format(self.setup.password1,self.setup.password1,self.setup.username))
self.do_run_in_chroot("echo -ne\"{0}\\n{1}\\n\" | passwd".format(self.setup.password1,self.setup.password1))
self.do_run_in_chroot("echo -ne \"{0}\\n{0}\\n\" | passwd {2}".format(self.setup.password1,self.setup.username))
self.do_run_in_chroot("echo -ne \"{0}\\n{0}\\n\" | passwd".format(self.setup.password1))
# Set LightDM to show user list by default
self.do_run_in_chroot(
......@@ -215,40 +215,6 @@ class InstallerEngine:
partitioning.full_disk_format(disk_device, create_boot=(
self.auto_boot_partition is not None), create_swap=(self.auto_swap_partition is not None))
# Encrypt root partition
if self.setup.luks:
print(" --> Encrypting root partition %s" %
self.auto_root_partition)
os.system("printf \"%s\" | cryptsetup luksFormat -c aes-xts-plain64 -h sha256 -s 512 %s" %
(self.setup.passphrase1, self.auto_root_partition))
print(" --> Opening root partition %s" % self.auto_root_partition)
os.system("printf \"%s\" | cryptsetup luksOpen %s lvmlmde" %
(self.setup.passphrase1, self.auto_root_partition))
self.auto_root_partition = "/dev/mapper/lvmlmde"
# Setup LVM
if self.setup.lvm:
print(" --> LVM: Creating PV")
os.system("pvcreate -y %s" % self.auto_root_partition)
print(" --> LVM: Creating VG")
os.system("vgcreate -y lvmlmde %s" % self.auto_root_partition)
print(" --> LVM: Creating LV root")
os.system("lvcreate -y -n root -L 1GB lvmlmde")
print(" --> LVM: Creating LV swap")
swap_size = int(round(int(subprocess.getoutput(
"awk '/^MemTotal/{ print $2 }' /proc/meminfo")) / 1024, 0))
os.system("lvcreate -y -n swap -L %dMB lvmlmde" % swap_size)
print(" --> LVM: Extending LV root")
os.system("lvextend -l 100\%FREE /dev/lvmlmde/root")
print(" --> LVM: Formatting LV root")
os.system("mkfs.ext4 /dev/mapper/lvmlmde-root -FF")
print(" --> LVM: Formatting LV swap")
os.system("mkswap -f /dev/mapper/lvmlmde-swap")
print(" --> LVM: Enabling LV swap")
os.system("swapon /dev/mapper/lvmlmde-swap")
self.auto_root_partition = "/dev/mapper/lvmlmde-root"
self.auto_swap_partition = "/dev/mapper/lvmlmde-swap"
self.do_mount(self.auto_root_partition, "/target", "ext4", None)
if (self.auto_boot_partition is not None):
os.system("mkdir -p /target/boot")
......@@ -396,18 +362,11 @@ class InstallerEngine:
fstab.write("proc\t/proc\tproc\tdefaults\t0\t0\n")
if(not self.setup.skip_mount):
if self.setup.automated:
if self.setup.lvm:
# Don't use UUIDs with LVM
fstab.write("%s / ext4 defaults 0 1\n" %
self.auto_root_partition)
fstab.write("%s none swap sw 0 0\n" %
self.auto_swap_partition)
else:
fstab.write("# %s\n" % self.auto_root_partition)
fstab.write("%s / ext4 defaults 0 1\n" %
self.get_blkid(self.auto_root_partition))
fstab.write("# %s\n" % self.auto_swap_partition)
fstab.write("%s none swap sw 0 0\n" %
fstab.write("# %s\n" % self.auto_root_partition)
fstab.write("%s / ext4 defaults 0 1\n" %
self.get_blkid(self.auto_root_partition))
fstab.write("# %s\n" % self.auto_swap_partition)
fstab.write("%s none swap sw 0 0\n" %
self.get_blkid(self.auto_swap_partition))
if (self.auto_boot_partition is not None):
fstab.write("# %s\n" % self.auto_boot_partition)
......@@ -459,12 +418,6 @@ class InstallerEngine:
partition_uuid, partition.mount_as, fs, fstab_mount_options, "0", fstab_fsck_option))
fstab.close()
if self.setup.lvm:
os.system("grep -v swap /target/etc/fstab > /target/etc/mtab")
if self.setup.luks:
os.system("echo 'lvmlmde %s none luks,tries=3' >> /target/etc/crypttab" %
self.auto_root_physical_partition)
def finish_installation(self):
# Steps:
......
......@@ -935,22 +935,6 @@
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="checkbutton_encrypt_home">
<property name="label" translatable="yes">Encrypt my home folder</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="margin_left">10</property>
<property name="margin_right">10</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">1</property>
......@@ -1095,132 +1079,6 @@
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="check_lvm">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">12</property>
<child>
<object class="GtkLabel" id="label_lvm">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="label" translatable="yes">Use LVM (Logical Volume Management)</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">12</property>
<child>
<object class="GtkCheckButton" id="check_encrypt">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="draw_indicator">True</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="spacing">12</property>
<child>
<object class="GtkLabel" id="label_encrypt">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="label" translatable="yes">Encrypt the operating system</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="spacing">12</property>
<child>
<object class="GtkEntry" id="entry_passphrase">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="visibility">False</property>
<property name="invisible_char"></property>
<property name="placeholder_text" translatable="yes">Passphrase</property>
<property name="input_purpose">password</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="entry_passphrase2">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="visibility">False</property>
<property name="placeholder_text" translatable="yes">Confirm passphrase</property>
<property name="input_purpose">password</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="check_badblocks">
<property name="visible">True</property>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment