Compare commits
9 Commits
ae73a16b66
...
main
Author | SHA1 | Date | |
---|---|---|---|
94d16d9a21
|
|||
ccd4aab9af
|
|||
591c34b61b
|
|||
c3772d1b93
|
|||
d4e96f0282
|
|||
2dc46f5897
|
|||
15a6af27ce
|
|||
65aa20dfe6
|
|||
04b6c5de6c
|
6
.config/containers/registries.conf.d/ai.conf
Normal file
6
.config/containers/registries.conf.d/ai.conf
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# https://github.com/containers/shortnames
|
||||||
|
# ~/.config/containers/registries.conf.d/ai.conf
|
||||||
|
unqualified-search-registries=["git.syui.ai", "docker.io", "ghcr.io"]
|
||||||
|
|
||||||
|
[aliases]
|
||||||
|
"aios"="git.syui.ai/ai/os"
|
@@ -2,12 +2,8 @@ name: build and push image
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '0 12 * * *'
|
- cron: '0 0 * * *'
|
||||||
push:
|
push:
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
paths:
|
|
||||||
- '!README.md'
|
|
||||||
|
|
||||||
env:
|
env:
|
||||||
TAG: latest
|
TAG: latest
|
||||||
@@ -21,14 +17,14 @@ jobs:
|
|||||||
name: Release
|
name: Release
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
container:
|
container:
|
||||||
image: syui/aios
|
image: ghcr.io/syui/aios
|
||||||
options: --privileged
|
options: --privileged
|
||||||
steps:
|
steps:
|
||||||
- name: Initialize
|
- name: Initialize
|
||||||
run: |
|
run: |
|
||||||
pacman -Syuu --noconfirm base-devel archiso docker git curl
|
pacman -Syuu --noconfirm base-devel archiso docker git curl
|
||||||
docker pull syui/aios
|
docker pull ghcr.io/syui/aios
|
||||||
docker tag syui/aios ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.TAG }}
|
docker tag syui/aios ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.TAG }}
|
||||||
echo "${{ env.APP_TOKEN }}" | docker login ${{ env.REGISTRY }} -u syui --password-stdin
|
echo "${{ env.APP_TOKEN }}" | docker login ${{ env.REGISTRY }} -u syui --password-stdin
|
||||||
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.TAG }}
|
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.TAG }}
|
||||||
|
|
||||||
|
6
.github/workflows/release.yml
vendored
6
.github/workflows/release.yml
vendored
@@ -2,8 +2,8 @@ name: release
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
tags:
|
||||||
- main
|
- 'v*'
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
@@ -41,7 +41,7 @@ jobs:
|
|||||||
sed -i s/CheckSpace/#CheckeSpace/ root.x86_64/etc/pacman.conf
|
sed -i s/CheckSpace/#CheckeSpace/ root.x86_64/etc/pacman.conf
|
||||||
arch-chroot root.x86_64 /bin/sh -c 'pacman-key --init'
|
arch-chroot root.x86_64 /bin/sh -c 'pacman-key --init'
|
||||||
arch-chroot root.x86_64 /bin/sh -c 'pacman-key --populate archlinux'
|
arch-chroot root.x86_64 /bin/sh -c 'pacman-key --populate archlinux'
|
||||||
arch-chroot root.x86_64 /bin/sh -c 'pacman -Syu --noconfirm base base-devel linux vim git zsh rust openssh openssl jq go nodejs docker podman'
|
arch-chroot root.x86_64 /bin/sh -c 'pacman -Syu --noconfirm base base-devel linux vim git zsh rust openssh openssl jq go nodejs docker podman bc'
|
||||||
arch-chroot root.x86_64 /bin/sh -c 'mkdir -p /etc/containers/registries.conf.d'
|
arch-chroot root.x86_64 /bin/sh -c 'mkdir -p /etc/containers/registries.conf.d'
|
||||||
arch-chroot root.x86_64 /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 /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 /bin/sh -c 'chsh -s /bin/zsh'
|
arch-chroot root.x86_64 /bin/sh -c 'chsh -s /bin/zsh'
|
||||||
|
25
README.md
25
README.md
@@ -54,20 +54,26 @@ $ docker run -it ghcr.io/syui/aios ai
|
|||||||
## podman
|
## podman
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
$ podman pull aios
|
if [ ! -d ~/ai/os/.git ];then
|
||||||
|
mkdir -p ~/ai
|
||||||
$ podman machine init
|
git clone https://git.syui.ai/ai/os ~/ai/os
|
||||||
$ podman machine start
|
fi
|
||||||
|
if [ ! -d ~/.config/containers/registries.conf.d ];then
|
||||||
|
mkdir -p ~/.config/containers/registries.conf.d
|
||||||
|
fi
|
||||||
|
ln -s ~/ai/os/.config/containers/registries.conf.d/ai.conf ~/.config/containers/registries.conf.d/ai.conf
|
||||||
```
|
```
|
||||||
|
|
||||||
https://github.com/containers/shortnames
|
```sh
|
||||||
|
$ podman pull aios
|
||||||
|
```
|
||||||
|
|
||||||
> /etc/containers/registries.conf.d/ai.conf
|
> ~/.config/containers/registries.conf.d/ai.conf
|
||||||
>
|
|
||||||
> ~/.config/containers/registries.conf
|
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
unqualified-search-registries = ['docker.io', 'git.syui.ai', 'ghcr.io']
|
# https://github.com/containers/shortnames
|
||||||
|
# ~/.config/containers/registries.conf.d/ai.conf
|
||||||
|
unqualified-search-registries = ['git.syui.ai', 'docker.io', 'ghcr.io']
|
||||||
|
|
||||||
[aliases]
|
[aliases]
|
||||||
"aios" = "git.syui.ai/ai/os"
|
"aios" = "git.syui.ai/ai/os"
|
||||||
@@ -101,3 +107,4 @@ $ ./scpt/gh-actions.zsh
|
|||||||
|
|
||||||
- https://git.syui.ai/ai/os
|
- https://git.syui.ai/ai/os
|
||||||
- https://github.com/syui/aios
|
- https://github.com/syui/aios
|
||||||
|
|
||||||
|
@@ -14,7 +14,7 @@ Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch' >> ./root.x86_64/etc/pa
|
|||||||
sed -i s/CheckSpace/#CheckeSpace/ root.x86_64/etc/pacman.conf
|
sed -i s/CheckSpace/#CheckeSpace/ root.x86_64/etc/pacman.conf
|
||||||
arch-chroot root.x86_64 /bin/sh -c 'pacman-key --init'
|
arch-chroot root.x86_64 /bin/sh -c 'pacman-key --init'
|
||||||
arch-chroot root.x86_64 /bin/sh -c 'pacman-key --populate archlinux'
|
arch-chroot root.x86_64 /bin/sh -c 'pacman-key --populate archlinux'
|
||||||
arch-chroot root.x86_64 /bin/sh -c 'pacman -Syu --noconfirm base base-devel linux vim git zsh rust openssh openssl jq go nodejs docker podman'
|
arch-chroot root.x86_64 /bin/sh -c 'pacman -Syu --noconfirm base base-devel linux vim git zsh rust openssh openssl jq go nodejs docker podman bc'
|
||||||
arch-chroot root.x86_64 /bin/sh -c 'mkdir -p /etc/containers/registries.conf.d'
|
arch-chroot root.x86_64 /bin/sh -c 'mkdir -p /etc/containers/registries.conf.d'
|
||||||
arch-chroot root.x86_64 /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 /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 /bin/sh -c 'chsh -s /bin/zsh'
|
arch-chroot root.x86_64 /bin/sh -c 'chsh -s /bin/zsh'
|
||||||
|
@@ -1,4 +1,6 @@
|
|||||||
unqualified-search-registries = ['docker.io', 'git.syui.ai', 'ghcr.io']
|
# https://github.com/containers/shortnames
|
||||||
|
# ~/.config/containers/registries.conf.d/ai.conf
|
||||||
|
unqualified-search-registries = ['git.syui.ai', 'docker.io', 'ghcr.io']
|
||||||
|
|
||||||
[aliases]
|
[aliases]
|
||||||
"aios" = "git.syui.ai/ai/os"
|
"aios" = "git.syui.ai/ai/os"
|
||||||
|
@@ -41,7 +41,7 @@ jobs:
|
|||||||
sed -i s/CheckSpace/#CheckeSpace/ root.x86_64/etc/pacman.conf
|
sed -i s/CheckSpace/#CheckeSpace/ root.x86_64/etc/pacman.conf
|
||||||
arch-chroot root.x86_64 /bin/sh -c 'pacman-key --init'
|
arch-chroot root.x86_64 /bin/sh -c 'pacman-key --init'
|
||||||
arch-chroot root.x86_64 /bin/sh -c 'pacman-key --populate archlinux'
|
arch-chroot root.x86_64 /bin/sh -c 'pacman-key --populate archlinux'
|
||||||
arch-chroot root.x86_64 /bin/sh -c 'pacman -Syu --noconfirm base base-devel linux vim git zsh rust openssh openssl jq go nodejs docker podman'
|
arch-chroot root.x86_64 /bin/sh -c 'pacman -Syu --noconfirm base base-devel linux vim git zsh rust openssh openssl jq go nodejs docker podman bc'
|
||||||
arch-chroot root.x86_64 /bin/sh -c 'mkdir -p /etc/containers/registries.conf.d'
|
arch-chroot root.x86_64 /bin/sh -c 'mkdir -p /etc/containers/registries.conf.d'
|
||||||
arch-chroot root.x86_64 /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 /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 /bin/sh -c 'chsh -s /bin/zsh'
|
arch-chroot root.x86_64 /bin/sh -c 'chsh -s /bin/zsh'
|
||||||
|
9
scpt/img.sh
Normal file
9
scpt/img.sh
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
pacman -Syuu --noconfirm git base-devel archiso
|
||||||
|
git clone https://gitlab.archlinux.org/archlinux/archiso
|
||||||
|
./archiso/archiso/mkarchiso -v -o ./ ./archiso/configs/releng/
|
||||||
|
mkdir -p work/x86_64/airootfs/var/lib/machines/arch
|
||||||
|
pacstrap -c work/x86_64/airootfs/var/lib/machines/arch base
|
||||||
|
arch-chroot work/x86_64/airootfs/ /bin/sh -c 'pacman-key --init'
|
||||||
|
arch-chroot work/x86_64/airootfs/ /bin/sh -c 'pacman-key --populate archlinux'
|
||||||
|
tar -zcvf archlinux.tar.gz -C work/x86_64/airootfs/ .
|
44
scpt/install.sh
Normal file
44
scpt/install.sh
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
# 変数定義
|
||||||
|
DISK="/dev/sda"
|
||||||
|
HOSTNAME="ai-arch"
|
||||||
|
USERNAME="ai"
|
||||||
|
|
||||||
|
# パーティション作成(自動)
|
||||||
|
parted $DISK mklabel gpt
|
||||||
|
parted $DISK mkpart ESP fat32 1MiB 1GiB
|
||||||
|
parted $DISK set 1 esp on
|
||||||
|
parted $DISK mkpart primary linux-swap 1GiB 5GiB
|
||||||
|
parted $DISK mkpart primary ext4 5GiB 100%
|
||||||
|
|
||||||
|
# ファイルシステム作成
|
||||||
|
mkfs.fat -F32 ${DISK}1
|
||||||
|
mkswap ${DISK}2
|
||||||
|
mkfs.ext4 ${DISK}3
|
||||||
|
|
||||||
|
# マウント
|
||||||
|
mount ${DISK}3 /mnt
|
||||||
|
mkdir -p /mnt/boot
|
||||||
|
mount ${DISK}1 /mnt/boot
|
||||||
|
swapon ${DISK}2
|
||||||
|
|
||||||
|
# インストール
|
||||||
|
pacstrap -K /mnt base linux linux-firmware base-devel vim networkmanager grub efibootmgr
|
||||||
|
|
||||||
|
# 設定
|
||||||
|
genfstab -U /mnt >> /mnt/etc/fstab
|
||||||
|
|
||||||
|
arch-chroot /mnt /bin/bash << EOF
|
||||||
|
ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
|
||||||
|
hwclock --systohc
|
||||||
|
echo "ja_JP.UTF-8 UTF-8" >> /etc/locale.gen
|
||||||
|
locale-gen
|
||||||
|
echo "LANG=ja_JP.UTF-8" > /etc/locale.conf
|
||||||
|
echo "$HOSTNAME" > /etc/hostname
|
||||||
|
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ARCH
|
||||||
|
grub-mkconfig -o /boot/grub/grub.cfg
|
||||||
|
systemctl enable NetworkManager
|
||||||
|
useradd -m -G wheel $USERNAME
|
||||||
|
EOF
|
Reference in New Issue
Block a user