--- title: "aiosを作り直した" slug: "aios" date: 2025-07-05 tags: ["os"] draft: false --- `aios`とは自作osのことで、archlinuxをベースにしていました。 ```sh #!/bin/zsh git clone https://gitlab.archlinux.org/archlinux/archiso cp -rf ./cfg/profiledef.sh ./archiso/configs/releng/profiledef.sh cp -rf ./cfg/profiledef.sh ./archiso/configs/baseline/profiledef.sh cp -rf ./scpt/mkarchiso ./archiso/archiso/mkarchiso ./archiso/archiso/mkarchiso -v -o ./ ./archiso/configs/releng/ tar xf aios-bootstrap*.tar.gz mkdir -p root.x86_64/var/lib/machines/arch pacstrap -c root.x86_64/var/lib/machines/arch base echo -e 'Server = http://mirrors.cat.net/archlinux/$repo/os/$arch Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch' >> ./root.x86_64/etc/pacman.d/mirrorlist 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 --populate archlinux' arch-chroot root.x86_64 /bin/sh -c 'pacman -Syu --noconfirm base base-devel linux' tar -zcvf aios-bootstrap.tar.gz root.x86_64/ ``` ```sh:./cfg/profiledef.sh #!/usr/bin/env bash # shellcheck disable=SC2034 iso_name="aios" iso_label="AI_$(date --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y%m)" iso_publisher="ai os " iso_application="ai os Live/Rescue DVD" iso_version="$(date --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y.%m.%d)" install_dir="ai" #buildmodes=('iso') buildmodes=('bootstrap') bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito' 'uefi-ia32.grub.esp' 'uefi-x64.grub.esp' 'uefi-ia32.grub.eltorito' 'uefi-x64.grub.eltorito') arch="x86_64" pacman_conf="pacman.conf" airootfs_image_type="squashfs" airootfs_image_tool_options=('-comp' 'xz' '-Xbcj' 'x86' '-b' '1M' '-Xdict-size' '1M') file_permissions=( ["/etc/shadow"]="0:0:400" ["/root"]="0:0:750" ["/root/.automated_script.sh"]="0:0:755" ["/root/.gnupg"]="0:0:700" ["/usr/local/bin/choose-mirror"]="0:0:755" ["/usr/local/bin/Installation_guide"]="0:0:755" ["/usr/local/bin/livecd-sound"]="0:0:755" ) ``` ## rust + unix 一からosを作りたいと思っていたので、rustでunixのosを作り始めました。 ![](/img/aios_v0201.png) 名前は`Aios`にして、今回は`syui`のprojectとして作り始めました。 後に`ai/os`と統合するかもしれません。 1. [https://git.syui.ai/ai/os](https://git.syui.ai/ai/os) 2. [https://git.syui.ai/syui/aios](https://git.syui.ai/syui/aios) ```sh #!/bin/zsh d=${0:a:h:h} cd $d/kernel cargo bootimage --release BOOT_IMAGE="../target/x86_64-unknown-none/release/bootimage-aios-kernel.bin" qemu-system-x86_64 -drive format=raw,file="$BOOT_IMAGE" ```