Fix password setting using chpasswd -R and improve screen wake lock

This commit is contained in:
2026-02-05 17:39:01 +01:00
parent ee83411333
commit 23b5f017d4
2 changed files with 23 additions and 17 deletions

View File

@@ -239,21 +239,6 @@ UUID={efi_uuid} /boot vfat defaults 0 2
# Ensure changes to /etc/passwd and /etc/shadow are flushed
run_command(["sync"])
# Set password using passwd --stdin
try:
logger.info("Setting user password...")
p = subprocess.run(
["chroot", mount_root, "passwd", "--stdin", user_info["username"]],
input=f"{user_info['password']}\n",
text=True,
check=True,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE
)
except subprocess.CalledProcessError as e:
logger.error(f"Failed to set password: {e.stderr}")
raise e
# Ensure wheel group has sudo privileges
sudoers_dir = os.path.join(mount_root, "etc/sudoers.d")
os.makedirs(sudoers_dir, exist_ok=True)
@@ -261,6 +246,21 @@ UUID={efi_uuid} /boot vfat defaults 0 2
f.write("%wheel ALL=(ALL) ALL\n")
os.chmod(os.path.join(sudoers_dir, "wheel"), 0o440)
# Set user and root password using chpasswd -R (from host side)
try:
logger.info(f"Setting passwords for {user_info['username']} and root...")
# We set both to the same password for convenience in this minimal install
pass_data = f"{user_info['username']}:{user_info['password']}\nroot:{user_info['password']}\n"
subprocess.run(
["chpasswd", "-R", mount_root],
input=pass_data,
text=True,
check=True
)
except subprocess.CalledProcessError as e:
logger.error("Failed to set passwords using chpasswd -R")
raise e
# Set hostname
with open(os.path.join(mount_root, "etc/hostname"), "w") as f:
f.write(user_info["hostname"] + "\n")