fix(devuan): Add console getty for LXC autologin
LXC containers use /dev/console, not tty1! - pct console connects to /dev/console device - Added explicit console entry in inittab for LXC - tty1 autologin still works for direct access - Fixes autologin not working in Devuan containers
This commit is contained in:
parent
3d6a5f58b0
commit
82773d7b8b
@ -900,26 +900,24 @@ EOF
|
|||||||
sysvinit)
|
sysvinit)
|
||||||
# Devuan/older systems - modify inittab for auto-login
|
# Devuan/older systems - modify inittab for auto-login
|
||||||
# Devuan 5 (daedalus) uses SysVinit with various inittab formats
|
# Devuan 5 (daedalus) uses SysVinit with various inittab formats
|
||||||
|
# CRITICAL: LXC uses /dev/console, NOT tty1! pct console connects to console device
|
||||||
if [[ -f /etc/inittab ]]; then
|
if [[ -f /etc/inittab ]]; then
|
||||||
# Backup original inittab
|
# Backup original inittab
|
||||||
cp /etc/inittab /etc/inittab.bak 2>/dev/null || true
|
cp /etc/inittab /etc/inittab.bak 2>/dev/null || true
|
||||||
|
|
||||||
# Try multiple patterns to catch different inittab formats
|
# First, enable autologin on tty1 (for direct access)
|
||||||
# Pattern 1: Standard format "1:2345:respawn:/sbin/getty..."
|
|
||||||
sed -i 's|^1:[0-9]*:respawn:.*/\(a\?getty\).*|1:2345:respawn:/sbin/agetty --autologin root --noclear tty1 38400 linux|' /etc/inittab
|
sed -i 's|^1:[0-9]*:respawn:.*/\(a\?getty\).*|1:2345:respawn:/sbin/agetty --autologin root --noclear tty1 38400 linux|' /etc/inittab
|
||||||
|
|
||||||
# Pattern 2: With console instead of tty1
|
# CRITICAL: Add console entry for LXC - this is what pct console uses!
|
||||||
sed -i 's|^c1:[0-9]*:respawn:.*/\(a\?getty\).*console.*|c1:2345:respawn:/sbin/agetty --autologin root --noclear console 38400 linux|' /etc/inittab
|
# Check if there's already a console getty entry
|
||||||
|
if ! grep -qE '^[^#].*respawn.*console' /etc/inittab; then
|
||||||
# Pattern 3: Devuan specific "co:2345:respawn:/sbin/getty..."
|
# Add new console entry for LXC
|
||||||
sed -i 's|^co:[0-9]*:respawn:.*/\(a\?getty\).*|co:2345:respawn:/sbin/agetty --autologin root --noclear console 38400 linux|' /etc/inittab
|
echo "" >> /etc/inittab
|
||||||
|
echo "# LXC console autologin (added by community-scripts)" >> /etc/inittab
|
||||||
# Pattern 4: LXC console pattern
|
echo "co:2345:respawn:/sbin/agetty --autologin root --noclear console 115200,38400,9600 linux" >> /etc/inittab
|
||||||
if ! grep -q 'autologin root' /etc/inittab; then
|
else
|
||||||
# If no autologin was set, add a new console entry
|
# Enable autologin on existing console entry
|
||||||
if ! grep -qE '^c[o1]:.*autologin' /etc/inittab; then
|
sed -i 's|^[^#]*:[0-9]*:respawn:.*/\(a\?getty\).*console.*|co:2345:respawn:/sbin/agetty --autologin root --noclear console 115200,38400,9600 linux|' /etc/inittab
|
||||||
echo "co:2345:respawn:/sbin/agetty --autologin root --noclear console 38400 linux" >>/etc/inittab
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Force a reload of inittab - try multiple methods
|
# Force a reload of inittab - try multiple methods
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user