[[PageOutline]] * archja:Installation_Guide * archja:Beginners'_Guide * archja:Install_from_SSH * archja:Installing_Arch_Linux_in_VMware * archja:Unified_Extensible_Firmware_Interface > Secure Boot 有効化でHashToolを用いてLive CDを起動可能にする方法 * archja:Gummiboot * archja:EFISTUB * archja:Microcode * archja:Network_Configuration * archja:Network_Configuration * archja:RAID * archja:Solid_State_Drives * archja:pkgfile * archja:systemd * archja:Xorg * archja:Vncserver * archja:X11vnc * arch:Headless_With_X * archja:Yaourt * [https://archlinuxarm.org/about/package-signing Package Signing | Arch Linux ARM] > Enabling Signature Checking * [http://opamp.hatenablog.jp/entry/2013/10/30/233548 UEFIでArchLinuxをインストールする - opamp_sando's blog] * [http://qiita.com/macchaberrycream/items/1dfabe8b710dc638e3f9 Arch Linux インストール から Xfce 快適環境を構築するまで - Qiita] * [http://archlinux-blogger.blogspot.jp/2014/02/arch-linux-20140201uefi-gpt-gummiboot.html 普段使いのArch Linux: Arch Linux インストール (OSインストール編) | UEFI, GPT, Gummiboot, 2014.02.01でインストール] * [http://archlinux-blogger.blogspot.jp/p/blog-page.html Arch Linuxインストール | 普段使いのArch Linux] * [http://qiita.com/masami256/items/ef0f23125cf8255e4857 Linux - systemdの*.serviceファイルの書き方 - Qiita] * [http://kernhack.hatenablog.com/entry/2014/12/08/000708 systemdでshutdown時にプロ生ちゃんに挨拶してもらう - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ] * [http://kernhack.hatenablog.com/entry/2013/11/01/083558 φ(.. )メモシテオコウ /sbin/installkernelを適当に作っておく - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ] * [http://unix.stackexchange.com/questions/75503/should-i-restart-after-a-pacman-upgrade arch linux - Should I restart after a pacman upgrade? - Unix & Linux Stack Exchange] > {{{ > sudo lsof +c 0 | grep 'DEL.*lib' | awk '1 { print $1 ": " $NF }' | sort -u > }}} * [http://unix.stackexchange.com/questions/83173/receiving-syslog-messages-with-a-systemd-arch-linux Receiving Syslog messages with a systemd Arch Linux - Unix & Linux Stack Exchange] * [https://bbs.archlinux.org/viewtopic.php?id=201804 (SOLVED) Pacman Issue: Key cannot be looked up remotely / Newbie Corner / Arch Linux Forums] > {{{ > # sudo pacman -S archlinux-keyring && sudo pacman -Syu > }}} * 長期間起動していないなどで、ずっとアップデートしていなかった場合に起きることがある * [https://www.reddit.com/r/archlinux/comments/35isw7/archlinux_unattended_installation/ Archlinux unattended installation? : archlinux] * [https://gist.github.com/Phaeilo/541f0361678ee07bf594 Archlinux VM automated installation script.] * github:justin8/fabulous I wrote a fabric script to install arch * [https://divide-et-impera.org/archives/1965 Systemdで自作スクリプトをデーモン化 | Divide et impera] * [https://www.slideshare.net/enakai/linux-27872553 Linux女子部 systemd徹底入門] * [http://malkalech.com/arch_linux_pacman Arch Linux の pacman コマンドを使うことのメモ | Jenemal Notes] = packages = * aur:raid-check * [http://d.hatena.ne.jp/hogem/20120318/1332089149 RHEL系のmdadmのraid-check を調べてみた - うまいぼうblog] * https://github.com/munin-monitoring/contrib/blob/master/plugins/disk/raid-mismatch-count > {{{#!sh > for target in $targets; do > echo $target.value $(cat /sys/devices/virtual/block/$target/md/sync_completed) > done >}}} * https://www.kernel.org/doc/Documentation/md.txt これを読む限りでは、{{{sync_completed}}}ではなく{{{mismatch_count}}}を使うべき * {{{sync_completed}}} -> ''none'' (idle時) / ''199220 / 117184878'' (check時など、数値は例) * {{{mismatch_count}}} -> ''0'' (エラーが無いとき) {{{ mismatch_count When performing 'check' and 'repair', and possibly when performing 'resync', md will count the number of errors that are found. The count in 'mismatch_cnt' is the number of sectors that were re-written, or (for 'check') would have been re-written. As most raid levels work in units of pages rather than sectors, this may be larger than the number of actual errors by a factor of the number of sectors in a page. }}} = Arch Build System = * archja:Arch_Build_System * /etc/abs.conf {{{#!diff -MIRRORLIST="/etc/pacman.d/mirrorlist" +MIRRORLIST="/etc/pacman.d/mirrorlist.jp" }}} * ミラーをmirrorlist以外のファイルに独自に追加している場合など * $ abs {{{ ==> ERROR: No mirrors found in mirrorlist file /etc/pacman.d/mirrorlist }}} * archja:Makepkg * https://www.archlinux.org/pacman/makepkg.8.html * /etc/makepkg.conf (デフォルトのインストール設定では、/tmpはtmpfsになるので注意) {{{#!diff --- a/etc/makepkg.conf +++ b/etc/makepkg.conf @@ -37,11 +37,11 @@ CHOST="x86_64-unknown-linux-gnu" # -march (or -mcpu) builds exclusively for an architecture # -mtune optimizes for an architecture, but builds for whole processor family CPPFLAGS="-D_FORTIFY_SOURCE=2" -CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4" -CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4" +CFLAGS="-march=native -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4" +CXXFLAGS="${CFLAGS}" LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro" #-- Make Flags: change this for DistCC/SMP systems -#MAKEFLAGS="-j2" +MAKEFLAGS="-j8" #-- Debugging flags DEBUG_CFLAGS="-g -fvar-tracking-assignments" DEBUG_CXXFLAGS="-g -fvar-tracking-assignments" @@ -66,7 +66,7 @@ BUILDENV=(!distcc color !ccache check !sign) #DISTCC_HOSTS="" # #-- Specify a directory for package building. -#BUILDDIR=/tmp/makepkg +BUILDDIR=/tmp/makepkg ######################################################################### # GLOBAL PACKAGE OPTIONS }}} * [archja:.SRCINFO archja:.SRCINFO] * [archja:Arch_Build_System#SVN_.E3.83.84.E3.83.AA.E3.83.BC] > 各パッケージにはサブディレクトリが存在します。サブディレクトリの中には repos と trunk ディレクトリがあります。repos はリポジトリ名 (例: core) とアーキテクチャで分かれています。公式ビルドでは repos に入っている PKGBUILD とその他ビルドファイルが使われます。trunk のファイルは開発者によって使われ、その後 repos にコピーされます。 == build kernel == * wiki:Dev/KernelHack * abs/makepkg を使う場合 * archja:カーネル/コンパイル/Arch_Build_System 1. abs/core/linux を適宜コピー 2. {{{xmlto docbook-xsl bc}}}パッケージをインストール 3. gpg keyのインポート {{{ ==> Verifying source file signatures with gpg... linux-4.0.tar ... FAILED (unknown public key 79BE3E4300411886) patch-4.0.5 ... FAILED (unknown public key 38DBBDC86092693E) ==> ERROR: One or more PGP signatures could not be verified! }}} * gpg --recv-keys 79BE3E4300411886 * gpg --recv-keys 38DBBDC86092693E * see also [https://bbs.archlinux.org/viewtopic.php?id=192347 (SOLVED) gpg cannot add pkgbuild keys / System Administration / Arch Linux Forums] * archja:GnuPG 4. makepkg * 数10分待機すると、{{{linux-custom-4.0.5-1-x86_64.pkg.tar.xz}}}が出来上がるので、適宜{{{pacman -U}}}, {{{grub-mkconfig -o /boot/grub/grub.cfg}}}する * 手動でパッチなどを当てる場合 1. {{{PKGBUILD}}}からソースのDL、展開、公式パッチ適用 * {{{makepkg -o}}} 2. 適宜ソースを修正 3. make * {{{make -j8 LOCALVERSION= bzImage modules}}}もしくは{{{makepkg --noextract --noarchive}}} * 後者だとfakeroot installされる 4. {{{makepkg -R}}}