|
|
@ -7,7 +7,7 @@ pub fn partition(device: &str, mode: &str, efi: bool) {
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
log(format!("automatically partitioning {}", device));
|
|
|
|
log(format!("automatically partitioning {}", device));
|
|
|
|
if efi {
|
|
|
|
if efi {
|
|
|
|
let return_code = exec(
|
|
|
|
returncode_eval(exec(
|
|
|
|
"parted",
|
|
|
|
"parted",
|
|
|
|
vec![
|
|
|
|
vec![
|
|
|
|
String::from("-s"),
|
|
|
|
String::from("-s"),
|
|
|
@ -15,16 +15,8 @@ pub fn partition(device: &str, mode: &str, efi: bool) {
|
|
|
|
String::from("mklabel"),
|
|
|
|
String::from("mklabel"),
|
|
|
|
String::from("gpt"),
|
|
|
|
String::from("gpt"),
|
|
|
|
],
|
|
|
|
],
|
|
|
|
);
|
|
|
|
));
|
|
|
|
match return_code {
|
|
|
|
returncode_eval(exec(
|
|
|
|
Ok(_) => {
|
|
|
|
|
|
|
|
log("Created GPT label".to_string());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
Err(e) => {
|
|
|
|
|
|
|
|
crash(format!("Failed to create GPT label, Error: {}", e), 1);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
let return_code = exec(
|
|
|
|
|
|
|
|
"parted",
|
|
|
|
"parted",
|
|
|
|
vec![
|
|
|
|
vec![
|
|
|
|
String::from("-s"),
|
|
|
|
String::from("-s"),
|
|
|
@ -34,19 +26,8 @@ pub fn partition(device: &str, mode: &str, efi: bool) {
|
|
|
|
String::from("0"),
|
|
|
|
String::from("0"),
|
|
|
|
String::from("300"),
|
|
|
|
String::from("300"),
|
|
|
|
],
|
|
|
|
],
|
|
|
|
);
|
|
|
|
));
|
|
|
|
match return_code {
|
|
|
|
returncode_eval(exec(
|
|
|
|
Ok(_) => {
|
|
|
|
|
|
|
|
log("Created fat32 EFI partition".to_string());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
Err(e) => {
|
|
|
|
|
|
|
|
crash(
|
|
|
|
|
|
|
|
format!("Failed to create fat32 EFI partition, Error: {}", e),
|
|
|
|
|
|
|
|
1,
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
let return_code = exec(
|
|
|
|
|
|
|
|
"parted",
|
|
|
|
"parted",
|
|
|
|
vec![
|
|
|
|
vec![
|
|
|
|
String::from("-s"),
|
|
|
|
String::from("-s"),
|
|
|
@ -56,20 +37,9 @@ pub fn partition(device: &str, mode: &str, efi: bool) {
|
|
|
|
String::from("300"),
|
|
|
|
String::from("300"),
|
|
|
|
String::from("100%"),
|
|
|
|
String::from("100%"),
|
|
|
|
],
|
|
|
|
],
|
|
|
|
);
|
|
|
|
));
|
|
|
|
match return_code {
|
|
|
|
|
|
|
|
Ok(_) => {
|
|
|
|
|
|
|
|
log("Created btrfs root partition".to_string());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
Err(e) => {
|
|
|
|
|
|
|
|
crash(
|
|
|
|
|
|
|
|
format!("Failed to create btrfs root partition, Error: {}", e),
|
|
|
|
|
|
|
|
1,
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
let return_code = exec(
|
|
|
|
returncode_eval(exec(
|
|
|
|
"parted",
|
|
|
|
"parted",
|
|
|
|
vec![
|
|
|
|
vec![
|
|
|
|
String::from("-s"),
|
|
|
|
String::from("-s"),
|
|
|
@ -77,16 +47,8 @@ pub fn partition(device: &str, mode: &str, efi: bool) {
|
|
|
|
String::from("mklabel"),
|
|
|
|
String::from("mklabel"),
|
|
|
|
String::from("msdos"),
|
|
|
|
String::from("msdos"),
|
|
|
|
],
|
|
|
|
],
|
|
|
|
);
|
|
|
|
));
|
|
|
|
match return_code {
|
|
|
|
returncode_eval(exec(
|
|
|
|
Ok(_) => {
|
|
|
|
|
|
|
|
log("Created MSDOS label".to_string());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
Err(e) => {
|
|
|
|
|
|
|
|
crash(format!("Failed to create MSDOS label, Error: {}", e), 1);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
let return_code = exec(
|
|
|
|
|
|
|
|
"parted",
|
|
|
|
"parted",
|
|
|
|
vec![
|
|
|
|
vec![
|
|
|
|
String::from("-s"),
|
|
|
|
String::from("-s"),
|
|
|
@ -96,19 +58,8 @@ pub fn partition(device: &str, mode: &str, efi: bool) {
|
|
|
|
String::from("512MIB"),
|
|
|
|
String::from("512MIB"),
|
|
|
|
String::from("100&"),
|
|
|
|
String::from("100&"),
|
|
|
|
],
|
|
|
|
],
|
|
|
|
);
|
|
|
|
));
|
|
|
|
match return_code {
|
|
|
|
returncode_eval(exec(
|
|
|
|
Ok(_) => {
|
|
|
|
|
|
|
|
log("Created btrfs root partition".to_string());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
Err(e) => {
|
|
|
|
|
|
|
|
crash(
|
|
|
|
|
|
|
|
format!("Failed to create btrfs root partition, Error: {}", e),
|
|
|
|
|
|
|
|
1,
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
let return_code = exec(
|
|
|
|
|
|
|
|
"parted",
|
|
|
|
"parted",
|
|
|
|
vec![
|
|
|
|
vec![
|
|
|
|
String::from("-s"),
|
|
|
|
String::from("-s"),
|
|
|
@ -118,18 +69,7 @@ pub fn partition(device: &str, mode: &str, efi: bool) {
|
|
|
|
String::from("1MIB"),
|
|
|
|
String::from("1MIB"),
|
|
|
|
String::from("512MIB"),
|
|
|
|
String::from("512MIB"),
|
|
|
|
],
|
|
|
|
],
|
|
|
|
);
|
|
|
|
));
|
|
|
|
match return_code {
|
|
|
|
|
|
|
|
Ok(_) => {
|
|
|
|
|
|
|
|
log("Created ext4 boot partition".to_string());
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
Err(e) => {
|
|
|
|
|
|
|
|
crash(
|
|
|
|
|
|
|
|
format!("Failed to create ext4 boot partition, Error: {}", e),
|
|
|
|
|
|
|
|
1,
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if device.contains("nvme") {
|
|
|
|
if device.contains("nvme") {
|
|
|
|