fix: Remove claude.service and fix network settings
- Remove cfg/claude.service (claude should be run manually, not as systemd service) - Fix bind mount: change %h to /root for proper path resolution - Fix network: change to VirtualEthernet=no for internet access - Update install.sh to create proper nspawn configs for all containers - Create /root/.config/syui/ai directory in install.sh Working flow: - aios OS boot -> ai user login - machinectl login workspace - manually run 'claude' command
This commit is contained in:
2
.github/workflows/release.yml
vendored
2
.github/workflows/release.yml
vendored
@@ -46,8 +46,6 @@ jobs:
|
||||
arch-chroot root.x86_64/var/lib/machines/arch /bin/sh -c 'curl -sL -o /etc/containers/registries.conf.d/ai.conf https://git.syui.ai/ai/os/raw/branch/main/cfg/ai.conf'
|
||||
arch-chroot root.x86_64/var/lib/machines/arch /bin/sh -c 'chsh -s /bin/zsh'
|
||||
arch-chroot root.x86_64/var/lib/machines/arch /bin/sh -c 'npm i -g @anthropic-ai/claude-code'
|
||||
cp -rf ./cfg/claude.service root.x86_64/var/lib/machines/arch/etc/systemd/system/claude.service
|
||||
arch-chroot root.x86_64/var/lib/machines/arch /bin/sh -c 'systemctl enable claude'
|
||||
cp -rf ./cfg/os-release root.x86_64/var/lib/machines/arch/etc/os-release
|
||||
arch-chroot root.x86_64/var/lib/machines/arch /bin/sh -c 'useradd -m -G wheel -s /bin/zsh ai'
|
||||
arch-chroot root.x86_64/var/lib/machines/arch /bin/sh -c 'echo "ai:root" | chpasswd'
|
||||
|
||||
@@ -22,10 +22,6 @@ arch-chroot root.x86_64/var/lib/machines/arch /bin/sh -c 'chsh -s /bin/zsh'
|
||||
# Install Claude Code
|
||||
arch-chroot root.x86_64/var/lib/machines/arch /bin/sh -c 'npm i -g @anthropic-ai/claude-code'
|
||||
|
||||
# Setup Claude Code systemd service for auto-start
|
||||
cp -rf ./cfg/claude.service root.x86_64/var/lib/machines/arch/etc/systemd/system/claude.service
|
||||
arch-chroot root.x86_64/var/lib/machines/arch /bin/sh -c 'systemctl enable claude'
|
||||
|
||||
# Copy os-release
|
||||
cp -rf ./cfg/os-release root.x86_64/var/lib/machines/arch/etc/os-release
|
||||
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
[Unit]
|
||||
Description=Claude Code AI Assistant
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=ai
|
||||
WorkingDirectory=/home/ai
|
||||
Environment=HOME=/home/ai
|
||||
ExecStart=/usr/bin/claude
|
||||
Restart=on-failure
|
||||
RestartSec=5s
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -36,6 +36,8 @@ mv root.x86_64/var/lib/machines/arch /var/lib/machines/$NAME
|
||||
# Copy nspawn configuration
|
||||
echo "3. Installing systemd-nspawn configuration..."
|
||||
mkdir -p /etc/systemd/nspawn
|
||||
|
||||
# Create aios.nspawn
|
||||
cat > /etc/systemd/nspawn/$NAME.nspawn <<'EOF'
|
||||
[Exec]
|
||||
Boot=yes
|
||||
@@ -43,13 +45,43 @@ PrivateUsers=pick
|
||||
ResolvConf=copy-host
|
||||
|
||||
[Files]
|
||||
Bind=%h/.config/syui/ai:/root/.config/syui/ai
|
||||
Bind=/root/.config/syui/ai:/root/.config/syui/ai
|
||||
|
||||
[Network]
|
||||
Private=yes
|
||||
VirtualEthernet=yes
|
||||
VirtualEthernet=no
|
||||
EOF
|
||||
|
||||
# Create aiosback.nspawn
|
||||
cat > /etc/systemd/nspawn/$BACKUP.nspawn <<'EOF'
|
||||
[Exec]
|
||||
Boot=yes
|
||||
PrivateUsers=pick
|
||||
ResolvConf=copy-host
|
||||
|
||||
[Files]
|
||||
Bind=/root/.config/syui/ai:/root/.config/syui/ai
|
||||
|
||||
[Network]
|
||||
VirtualEthernet=no
|
||||
EOF
|
||||
|
||||
# Create workspace.nspawn
|
||||
cat > /etc/systemd/nspawn/workspace.nspawn <<'EOF'
|
||||
[Exec]
|
||||
Boot=yes
|
||||
PrivateUsers=pick
|
||||
ResolvConf=copy-host
|
||||
|
||||
[Files]
|
||||
Bind=/root/.config/syui/ai:/root/.config/syui/ai
|
||||
|
||||
[Network]
|
||||
VirtualEthernet=no
|
||||
EOF
|
||||
|
||||
# Create bind mount directory
|
||||
mkdir -p /root/.config/syui/ai
|
||||
|
||||
# Enable systemd-machined
|
||||
echo "4. Enabling systemd-machined..."
|
||||
systemctl enable --now systemd-machined
|
||||
|
||||
@@ -8,9 +8,8 @@ ResolvConf=copy-host
|
||||
|
||||
[Files]
|
||||
# Bind mount shared memory directory
|
||||
# Host: ~/.config/syui/ai -> Container: /root/.config/syui/ai
|
||||
Bind=%h/.config/syui/ai:/root/.config/syui/ai
|
||||
# Host: /root/.config/syui/ai -> Container: /root/.config/syui/ai
|
||||
Bind=/root/.config/syui/ai:/root/.config/syui/ai
|
||||
|
||||
[Network]
|
||||
Private=yes
|
||||
VirtualEthernet=yes
|
||||
VirtualEthernet=no
|
||||
|
||||
Reference in New Issue
Block a user