<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://wiki.gentoo-kr.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Alchemist</id>
	<title>Gentoo Korea Wiki - 사용자 기여 [ko]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.gentoo-kr.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Alchemist"/>
	<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=%ED%8A%B9%EC%88%98:%EA%B8%B0%EC%97%AC/Alchemist"/>
	<updated>2026-04-24T14:12:51Z</updated>
	<subtitle>사용자 기여</subtitle>
	<generator>MediaWiki 1.34.0</generator>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=ZFS_Fun&amp;diff=1608</id>
		<title>ZFS Fun</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=ZFS_Fun&amp;diff=1608"/>
		<updated>2014-03-16T05:12:40Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: /* IO 성능 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==주의 및 한계==&lt;br /&gt;
{{fancywarning|이 가이드는 작성이 완료되지 않았다. 따라서 많은 내용이 변동 될 수 있다.}}&lt;br /&gt;
&lt;br /&gt;
ZFS는 현재 최신 커널, 버전 3.13.6에 filesystem 옵션으로 포함되어있지 않다. 또한&lt;br /&gt;
현재 작성하는 시점에서 젠투 공식 포티지트리에서 배포되는 ebuild 스크립트로&lt;br /&gt;
커널 3.13.x 버전의 커널모듈을 빌드할 수 없다.&lt;br /&gt;
&lt;br /&gt;
ZFS는 64비트 시스템을 염두하고 설계되었다. 따라서 32비트 플랫폼에서는 정상적으로&lt;br /&gt;
작동하지 않을 수 있다. 또한 RAM 2GB 미만의 저사양 컴퓨터에서는 시스템 전체적으로 심각한 성능저하를 가져올 수 있다.&lt;br /&gt;
&lt;br /&gt;
문서 타이틀에서 알수 있듯이, 재미를 목적으로 작성되었고 따라서 안정적인 서비스 운용을 보장하지 않는다.&lt;br /&gt;
&lt;br /&gt;
==설치==&lt;br /&gt;
다음 설치과정은 [3.13.x 버전의 커널에서 ZFS를 사용하고 싶다] 또한 [ZFS 커널모듈 소스를 리눅스 소스트리에 이식해서, ZFS를 built-in 커널모듈로 사용하고 싶다]를 가정했다.&lt;br /&gt;
&lt;br /&gt;
===리눅스 소스 설정===&lt;br /&gt;
먼저 리눅스 소스부터 설치한다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# emerge -av vanilla-sources&lt;br /&gt;
# eselect kernel list&lt;br /&gt;
# cd /usr/src/linux&lt;br /&gt;
# grep CRYPTO_DEFLATE=y arch/x86/configs/x86_64_defconfig || \&lt;br /&gt;
echo CONFIG_CRYPTO_DEFLATE=y &amp;gt;&amp;gt;arch/x86/configs/x86_64_defconfig&lt;br /&gt;
# grep DEVTMPFS=y arch/x86/configs/x86_64_defconfig || \&lt;br /&gt;
echo CONFIG_DEVTMPFS=y &amp;gt;&amp;gt;arch/x86/configs/x86_64_defconfig&lt;br /&gt;
# make x86_64_defconfig&lt;br /&gt;
# make scripts prepare&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{fancywarning|리눅스 소스빌드 변수 KBUILD_OUTPUT의 기본값을 사용하지 않는다면 다음 과정을 성공적으로 마칠 수 없다.}}&lt;br /&gt;
&lt;br /&gt;
===ZFS 소스이식===&lt;br /&gt;
이제 ZFS 커널모듈 소스를 리눅스 소스트리에 이식하고, ZFS 유틸리티를 설치한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo ACCEPT_KEYWORDS=\&amp;quot;\~amd64\&amp;quot; &amp;gt;&amp;gt;/etc/portage/make.conf&lt;br /&gt;
# echo =sys-fs/zfs-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo =sys-fs/zfs-kmod-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo =sys-kernel/spl-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo sys-fs/zfs-kmod rootfs &amp;gt;&amp;gt;/etc/portage/package.use&lt;br /&gt;
# echo sys-fs/zfs rootfs kernel-builtin &amp;gt;&amp;gt;/etc/portage/package.use&lt;br /&gt;
# env EXTRA_ECONF='--enable-linux-builtin --with-linux=/usr/src/linux' \&lt;br /&gt;
ebuild /usr/portage/sys-kernel/spl/spl-9999.ebuild clean configure&lt;br /&gt;
# (cd /var/tmp/portage/sys-kernel/spl-9999/work/spl-9999 &amp;amp;&amp;amp; ./copy-builtin /usr/src/linux)&lt;br /&gt;
# env EXTRA_ECONF='--enable-linux-builtin --with-linux=/usr/src/linux --with-spl=/usr/src/linux' \&lt;br /&gt;
ebuild /usr/portage/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild clean configure&lt;br /&gt;
# (cd /var/tmp/portage/sys-fs/zfs-kmod-9999/work/zfs-kmod-9999 &amp;amp;&amp;amp; ./copy-builtin /usr/src/linux)&lt;br /&gt;
# emerge -1av =sys-fs/zfs-9999&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
9999의 불안전성이 불안하다면 [https://bugs.gentoo.org/show_bug.cgi?id=499672]를 참고한다. 그런다 해도 현재 포티지트리에 등록된 ZFS 버전 전부가 unstable하기 때문에 ZFS를 사용하고 싶다면 ACCEPT_KEYWORDS에 ~amd64는 필요하다.&lt;br /&gt;
&lt;br /&gt;
===리눅스 빌드 및 initramfs===&lt;br /&gt;
===테스트===&lt;br /&gt;
kexec을 사용하면 현재 실행중인 커널위에서 새로운 커널을 로드할 수 있다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# kexec -l /boot/vmlinuz-3.13.6-LOCALVERSION --initrd=/boot/initramfs-genkernel-x86_64-3.13.6-LOCALVERSION --append=&amp;quot;real_root=ZFS=rpool/ROOT/funtoo&amp;quot;&lt;br /&gt;
# kexec -e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
또한 ZFS/커널 디버깅을 안전하고, 효율적으로 하려한다면 rpool/ROOT/funtoo와 별도의 파일시스템 rpool/ROOT/funtoox를 만들어서 작업하는 시나리오를 세울 수 있다. rpool/FUNTOO/portage fs와 그 descendent는 rpool/ROOT의 descendent와 별개로, 공유해서 사용해도 무방하다.&lt;br /&gt;
&lt;br /&gt;
==디스크 편집==&lt;br /&gt;
&lt;br /&gt;
==ZVOL==&lt;br /&gt;
흔히 ZFS를 소개하는 문서에서 ZFS는 파일시스템과 볼륨매니저가 통합되어 있다고 말한다. ZVOL이란 ZFS에서 제공하는 볼륨매니저가 관리하는 볼륨을 가리킨다고 할 수 있다. 따라서 ZFS에 내장된 ZVOL-layer는 LVM을 대체할 수 있다. 참고로 작성자는 LVM을 한번도 사용해 본 적이 없고, 오래된 문서를 통해서만 접할 수 있었다. ZFS 명령 한줄이 달성할 수 있는 내용에서 LVM은 보통 6-7줄 가량을 소요했다.&lt;br /&gt;
&lt;br /&gt;
ZVOL을 생성하는 것은 보통 ZPOOL에 ZFS를 만들던 때 처럼 zfs command를 사용한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# zfs create -V 10G pool/ext4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
따라서 ZFS에 발을 들여놨다면, 더 이상 LVM은 시스템 상에서 필요하지 않다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# rc-update del lvm boot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ZVOL-layer를 통해 블록수준의 장치를 유연하게 제작할 수 있고, 따라서 virtual machine의 스토리지 병목현상을 해소할 수 있다.&lt;br /&gt;
&lt;br /&gt;
==IO 성능==&lt;br /&gt;
zpool io 상황을 확인한다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# zpool iostat [-v] pool [INTERVAL(sec)]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Synchronous write 성능을 개선하려면 ZIL(ZFS Intent Log) device를 pool에 추가한다. ZIL device는 현재 pool을 구성하는 저장장치보다 빠른 저장장치일때 의미가 있다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# zpool add [-n] [-o ashift=12] [-f] log &amp;lt;vdev&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pool에 존재하는 vdev 구성을 편집하는것은 신중을 기해야하므로 가급적 -n 옵션을 첨가하여, zfs 명령 전후의 차이를 미리 확인해가면서 작업하는 것이 안전한다.&lt;br /&gt;
&lt;br /&gt;
ZFS L2ARC(Level 2 Adjustable Replacement Cache)를 추가하면 pool의 읽기성능을 개선할 수 있다. ZFS L2ARC의 캐싱 알고리듬은 다른 많은 문서에서 자세하게 기술되어있다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# zpool add cache &amp;lt;vdev&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ZPOOL version 18 이후부터는 ZIL removal 기능이 추가되었다. ZIL과 ZFS L2ARC device를 pool에서 제거하려면 zpool remove 명령을 사용한다.&lt;br /&gt;
&lt;br /&gt;
==참고문서==&lt;br /&gt;
* [http://www.funtoo.org/ZFS_Install_Guide http://www.funtoo.org/ZFS_Install_Guide] 이 곳에 ZFS root 설치전반을 설명하는 동영상이 있다.&lt;br /&gt;
* [http://www.funtoo.org/ZFS_Fun http://www.funtoo.org/ZFS_Fun]&lt;br /&gt;
&lt;br /&gt;
[[Category:GentooKRDoc]]&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=ZFS_Fun&amp;diff=1607</id>
		<title>ZFS Fun</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=ZFS_Fun&amp;diff=1607"/>
		<updated>2014-03-16T05:12:09Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: /* IO 성능 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==주의 및 한계==&lt;br /&gt;
{{fancywarning|이 가이드는 작성이 완료되지 않았다. 따라서 많은 내용이 변동 될 수 있다.}}&lt;br /&gt;
&lt;br /&gt;
ZFS는 현재 최신 커널, 버전 3.13.6에 filesystem 옵션으로 포함되어있지 않다. 또한&lt;br /&gt;
현재 작성하는 시점에서 젠투 공식 포티지트리에서 배포되는 ebuild 스크립트로&lt;br /&gt;
커널 3.13.x 버전의 커널모듈을 빌드할 수 없다.&lt;br /&gt;
&lt;br /&gt;
ZFS는 64비트 시스템을 염두하고 설계되었다. 따라서 32비트 플랫폼에서는 정상적으로&lt;br /&gt;
작동하지 않을 수 있다. 또한 RAM 2GB 미만의 저사양 컴퓨터에서는 시스템 전체적으로 심각한 성능저하를 가져올 수 있다.&lt;br /&gt;
&lt;br /&gt;
문서 타이틀에서 알수 있듯이, 재미를 목적으로 작성되었고 따라서 안정적인 서비스 운용을 보장하지 않는다.&lt;br /&gt;
&lt;br /&gt;
==설치==&lt;br /&gt;
다음 설치과정은 [3.13.x 버전의 커널에서 ZFS를 사용하고 싶다] 또한 [ZFS 커널모듈 소스를 리눅스 소스트리에 이식해서, ZFS를 built-in 커널모듈로 사용하고 싶다]를 가정했다.&lt;br /&gt;
&lt;br /&gt;
===리눅스 소스 설정===&lt;br /&gt;
먼저 리눅스 소스부터 설치한다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# emerge -av vanilla-sources&lt;br /&gt;
# eselect kernel list&lt;br /&gt;
# cd /usr/src/linux&lt;br /&gt;
# grep CRYPTO_DEFLATE=y arch/x86/configs/x86_64_defconfig || \&lt;br /&gt;
echo CONFIG_CRYPTO_DEFLATE=y &amp;gt;&amp;gt;arch/x86/configs/x86_64_defconfig&lt;br /&gt;
# grep DEVTMPFS=y arch/x86/configs/x86_64_defconfig || \&lt;br /&gt;
echo CONFIG_DEVTMPFS=y &amp;gt;&amp;gt;arch/x86/configs/x86_64_defconfig&lt;br /&gt;
# make x86_64_defconfig&lt;br /&gt;
# make scripts prepare&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{fancywarning|리눅스 소스빌드 변수 KBUILD_OUTPUT의 기본값을 사용하지 않는다면 다음 과정을 성공적으로 마칠 수 없다.}}&lt;br /&gt;
&lt;br /&gt;
===ZFS 소스이식===&lt;br /&gt;
이제 ZFS 커널모듈 소스를 리눅스 소스트리에 이식하고, ZFS 유틸리티를 설치한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo ACCEPT_KEYWORDS=\&amp;quot;\~amd64\&amp;quot; &amp;gt;&amp;gt;/etc/portage/make.conf&lt;br /&gt;
# echo =sys-fs/zfs-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo =sys-fs/zfs-kmod-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo =sys-kernel/spl-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo sys-fs/zfs-kmod rootfs &amp;gt;&amp;gt;/etc/portage/package.use&lt;br /&gt;
# echo sys-fs/zfs rootfs kernel-builtin &amp;gt;&amp;gt;/etc/portage/package.use&lt;br /&gt;
# env EXTRA_ECONF='--enable-linux-builtin --with-linux=/usr/src/linux' \&lt;br /&gt;
ebuild /usr/portage/sys-kernel/spl/spl-9999.ebuild clean configure&lt;br /&gt;
# (cd /var/tmp/portage/sys-kernel/spl-9999/work/spl-9999 &amp;amp;&amp;amp; ./copy-builtin /usr/src/linux)&lt;br /&gt;
# env EXTRA_ECONF='--enable-linux-builtin --with-linux=/usr/src/linux --with-spl=/usr/src/linux' \&lt;br /&gt;
ebuild /usr/portage/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild clean configure&lt;br /&gt;
# (cd /var/tmp/portage/sys-fs/zfs-kmod-9999/work/zfs-kmod-9999 &amp;amp;&amp;amp; ./copy-builtin /usr/src/linux)&lt;br /&gt;
# emerge -1av =sys-fs/zfs-9999&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
9999의 불안전성이 불안하다면 [https://bugs.gentoo.org/show_bug.cgi?id=499672]를 참고한다. 그런다 해도 현재 포티지트리에 등록된 ZFS 버전 전부가 unstable하기 때문에 ZFS를 사용하고 싶다면 ACCEPT_KEYWORDS에 ~amd64는 필요하다.&lt;br /&gt;
&lt;br /&gt;
===리눅스 빌드 및 initramfs===&lt;br /&gt;
===테스트===&lt;br /&gt;
kexec을 사용하면 현재 실행중인 커널위에서 새로운 커널을 로드할 수 있다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# kexec -l /boot/vmlinuz-3.13.6-LOCALVERSION --initrd=/boot/initramfs-genkernel-x86_64-3.13.6-LOCALVERSION --append=&amp;quot;real_root=ZFS=rpool/ROOT/funtoo&amp;quot;&lt;br /&gt;
# kexec -e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
또한 ZFS/커널 디버깅을 안전하고, 효율적으로 하려한다면 rpool/ROOT/funtoo와 별도의 파일시스템 rpool/ROOT/funtoox를 만들어서 작업하는 시나리오를 세울 수 있다. rpool/FUNTOO/portage fs와 그 descendent는 rpool/ROOT의 descendent와 별개로, 공유해서 사용해도 무방하다.&lt;br /&gt;
&lt;br /&gt;
==디스크 편집==&lt;br /&gt;
&lt;br /&gt;
==ZVOL==&lt;br /&gt;
흔히 ZFS를 소개하는 문서에서 ZFS는 파일시스템과 볼륨매니저가 통합되어 있다고 말한다. ZVOL이란 ZFS에서 제공하는 볼륨매니저가 관리하는 볼륨을 가리킨다고 할 수 있다. 따라서 ZFS에 내장된 ZVOL-layer는 LVM을 대체할 수 있다. 참고로 작성자는 LVM을 한번도 사용해 본 적이 없고, 오래된 문서를 통해서만 접할 수 있었다. ZFS 명령 한줄이 달성할 수 있는 내용에서 LVM은 보통 6-7줄 가량을 소요했다.&lt;br /&gt;
&lt;br /&gt;
ZVOL을 생성하는 것은 보통 ZPOOL에 ZFS를 만들던 때 처럼 zfs command를 사용한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# zfs create -V 10G pool/ext4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
따라서 ZFS에 발을 들여놨다면, 더 이상 LVM은 시스템 상에서 필요하지 않다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# rc-update del lvm boot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ZVOL-layer를 통해 블록수준의 장치를 유연하게 제작할 수 있고, 따라서 virtual machine의 스토리지 병목현상을 해소할 수 있다.&lt;br /&gt;
&lt;br /&gt;
==IO 성능==&lt;br /&gt;
zpool io 상황을 확인한다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# zpool iostat [-v] pool [INTERVAL(sec)]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Synchronous write 성능을 개선하려면 ZIL(ZFS Intent Log) device를 pool에 추가한다. ZIL device는 현재 pool을 구성하는 저장장치보다 빠른 저장장치일때 의미가 있다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# zpool add -o ashift=12 [-f] log &amp;lt;vdev&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pool에 존재하는 vdev 구성을 편집하는것은 신중을 기해야하므로 가급적 -n 옵션을 첨가하여, zfs 명령 전후의 차이를 미리 확인해가면서 작업하는 것이 안전한다.&lt;br /&gt;
&lt;br /&gt;
ZFS L2ARC(Level 2 Adjustable Replacement Cache)를 추가하면 pool의 읽기성능을 개선할 수 있다. ZFS L2ARC의 캐싱 알고리듬은 다른 많은 문서에서 자세하게 기술되어있다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# zpool add cache &amp;lt;vdev&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ZPOOL version 18 이후부터는 ZIL removal 기능이 추가되었다. ZIL과 ZFS L2ARC device를 pool에서 제거하려면 zpool remove 명령을 사용한다.&lt;br /&gt;
&lt;br /&gt;
==참고문서==&lt;br /&gt;
* [http://www.funtoo.org/ZFS_Install_Guide http://www.funtoo.org/ZFS_Install_Guide] 이 곳에 ZFS root 설치전반을 설명하는 동영상이 있다.&lt;br /&gt;
* [http://www.funtoo.org/ZFS_Fun http://www.funtoo.org/ZFS_Fun]&lt;br /&gt;
&lt;br /&gt;
[[Category:GentooKRDoc]]&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=ZFS_Fun&amp;diff=1606</id>
		<title>ZFS Fun</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=ZFS_Fun&amp;diff=1606"/>
		<updated>2014-03-16T04:13:10Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: /* IO 성능 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==주의 및 한계==&lt;br /&gt;
{{fancywarning|이 가이드는 작성이 완료되지 않았다. 따라서 많은 내용이 변동 될 수 있다.}}&lt;br /&gt;
&lt;br /&gt;
ZFS는 현재 최신 커널, 버전 3.13.6에 filesystem 옵션으로 포함되어있지 않다. 또한&lt;br /&gt;
현재 작성하는 시점에서 젠투 공식 포티지트리에서 배포되는 ebuild 스크립트로&lt;br /&gt;
커널 3.13.x 버전의 커널모듈을 빌드할 수 없다.&lt;br /&gt;
&lt;br /&gt;
ZFS는 64비트 시스템을 염두하고 설계되었다. 따라서 32비트 플랫폼에서는 정상적으로&lt;br /&gt;
작동하지 않을 수 있다. 또한 RAM 2GB 미만의 저사양 컴퓨터에서는 시스템 전체적으로 심각한 성능저하를 가져올 수 있다.&lt;br /&gt;
&lt;br /&gt;
문서 타이틀에서 알수 있듯이, 재미를 목적으로 작성되었고 따라서 안정적인 서비스 운용을 보장하지 않는다.&lt;br /&gt;
&lt;br /&gt;
==설치==&lt;br /&gt;
다음 설치과정은 [3.13.x 버전의 커널에서 ZFS를 사용하고 싶다] 또한 [ZFS 커널모듈 소스를 리눅스 소스트리에 이식해서, ZFS를 built-in 커널모듈로 사용하고 싶다]를 가정했다.&lt;br /&gt;
&lt;br /&gt;
===리눅스 소스 설정===&lt;br /&gt;
먼저 리눅스 소스부터 설치한다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# emerge -av vanilla-sources&lt;br /&gt;
# eselect kernel list&lt;br /&gt;
# cd /usr/src/linux&lt;br /&gt;
# grep CRYPTO_DEFLATE=y arch/x86/configs/x86_64_defconfig || \&lt;br /&gt;
echo CONFIG_CRYPTO_DEFLATE=y &amp;gt;&amp;gt;arch/x86/configs/x86_64_defconfig&lt;br /&gt;
# grep DEVTMPFS=y arch/x86/configs/x86_64_defconfig || \&lt;br /&gt;
echo CONFIG_DEVTMPFS=y &amp;gt;&amp;gt;arch/x86/configs/x86_64_defconfig&lt;br /&gt;
# make x86_64_defconfig&lt;br /&gt;
# make scripts prepare&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{fancywarning|리눅스 소스빌드 변수 KBUILD_OUTPUT의 기본값을 사용하지 않는다면 다음 과정을 성공적으로 마칠 수 없다.}}&lt;br /&gt;
&lt;br /&gt;
===ZFS 소스이식===&lt;br /&gt;
이제 ZFS 커널모듈 소스를 리눅스 소스트리에 이식하고, ZFS 유틸리티를 설치한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo ACCEPT_KEYWORDS=\&amp;quot;\~amd64\&amp;quot; &amp;gt;&amp;gt;/etc/portage/make.conf&lt;br /&gt;
# echo =sys-fs/zfs-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo =sys-fs/zfs-kmod-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo =sys-kernel/spl-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo sys-fs/zfs-kmod rootfs &amp;gt;&amp;gt;/etc/portage/package.use&lt;br /&gt;
# echo sys-fs/zfs rootfs kernel-builtin &amp;gt;&amp;gt;/etc/portage/package.use&lt;br /&gt;
# env EXTRA_ECONF='--enable-linux-builtin --with-linux=/usr/src/linux' \&lt;br /&gt;
ebuild /usr/portage/sys-kernel/spl/spl-9999.ebuild clean configure&lt;br /&gt;
# (cd /var/tmp/portage/sys-kernel/spl-9999/work/spl-9999 &amp;amp;&amp;amp; ./copy-builtin /usr/src/linux)&lt;br /&gt;
# env EXTRA_ECONF='--enable-linux-builtin --with-linux=/usr/src/linux --with-spl=/usr/src/linux' \&lt;br /&gt;
ebuild /usr/portage/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild clean configure&lt;br /&gt;
# (cd /var/tmp/portage/sys-fs/zfs-kmod-9999/work/zfs-kmod-9999 &amp;amp;&amp;amp; ./copy-builtin /usr/src/linux)&lt;br /&gt;
# emerge -1av =sys-fs/zfs-9999&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
9999의 불안전성이 불안하다면 [https://bugs.gentoo.org/show_bug.cgi?id=499672]를 참고한다. 그런다 해도 현재 포티지트리에 등록된 ZFS 버전 전부가 unstable하기 때문에 ZFS를 사용하고 싶다면 ACCEPT_KEYWORDS에 ~amd64는 필요하다.&lt;br /&gt;
&lt;br /&gt;
===리눅스 빌드 및 initramfs===&lt;br /&gt;
===테스트===&lt;br /&gt;
kexec을 사용하면 현재 실행중인 커널위에서 새로운 커널을 로드할 수 있다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# kexec -l /boot/vmlinuz-3.13.6-LOCALVERSION --initrd=/boot/initramfs-genkernel-x86_64-3.13.6-LOCALVERSION --append=&amp;quot;real_root=ZFS=rpool/ROOT/funtoo&amp;quot;&lt;br /&gt;
# kexec -e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
또한 ZFS/커널 디버깅을 안전하고, 효율적으로 하려한다면 rpool/ROOT/funtoo와 별도의 파일시스템 rpool/ROOT/funtoox를 만들어서 작업하는 시나리오를 세울 수 있다. rpool/FUNTOO/portage fs와 그 descendent는 rpool/ROOT의 descendent와 별개로, 공유해서 사용해도 무방하다.&lt;br /&gt;
&lt;br /&gt;
==디스크 편집==&lt;br /&gt;
&lt;br /&gt;
==ZVOL==&lt;br /&gt;
흔히 ZFS를 소개하는 문서에서 ZFS는 파일시스템과 볼륨매니저가 통합되어 있다고 말한다. ZVOL이란 ZFS에서 제공하는 볼륨매니저가 관리하는 볼륨을 가리킨다고 할 수 있다. 따라서 ZFS에 내장된 ZVOL-layer는 LVM을 대체할 수 있다. 참고로 작성자는 LVM을 한번도 사용해 본 적이 없고, 오래된 문서를 통해서만 접할 수 있었다. ZFS 명령 한줄이 달성할 수 있는 내용에서 LVM은 보통 6-7줄 가량을 소요했다.&lt;br /&gt;
&lt;br /&gt;
ZVOL을 생성하는 것은 보통 ZPOOL에 ZFS를 만들던 때 처럼 zfs command를 사용한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# zfs create -V 10G pool/ext4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
따라서 ZFS에 발을 들여놨다면, 더 이상 LVM은 시스템 상에서 필요하지 않다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# rc-update del lvm boot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ZVOL-layer를 통해 블록수준의 장치를 유연하게 제작할 수 있고, 따라서 virtual machine의 스토리지 병목현상을 해소할 수 있다.&lt;br /&gt;
&lt;br /&gt;
==IO 성능==&lt;br /&gt;
zpool io 상황을 확인한다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# zpool iostat [-v] pool [INTERVAL(sec)]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Synchronous write 성능을 개선하려면 ZIL(ZFS Intent Log) device를 pool에 추가한다. ZIL device는 현재 pool을 구성하는 저장장치보다 빠른 저장장치일때 의미가 있다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# zpool add -o ashift=12 [-f] log &amp;lt;vdev&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pool에 존재하는 vdev 구성을 편집하는것은 신중을 기해야하므로 가급적 -n 옵션을 첨가하여, zfs 명령 전후의 차이를 미리 확인해가면서 작업하는 것이 안전한다.&lt;br /&gt;
&lt;br /&gt;
ZFS L2ARC(Level 2 Adjustable Replacement Cache)를 추가하면 pool의 읽기성능을 개선할 수 있다. ZFS L2ARC의 캐싱 알고리듬은 많은 다른 문서에 자세하게 기술되어있다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# zpool add cache &amp;lt;vdev&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ZPOOL version 18 이후부터는 ZIL removal 기능이 추가되었다. ZIL과 ZFS L2ARC device를 pool에서 제거하려면 zpool remove 명령을 사용한다.&lt;br /&gt;
&lt;br /&gt;
==참고문서==&lt;br /&gt;
* [http://www.funtoo.org/ZFS_Install_Guide http://www.funtoo.org/ZFS_Install_Guide] 이 곳에 ZFS root 설치전반을 설명하는 동영상이 있다.&lt;br /&gt;
* [http://www.funtoo.org/ZFS_Fun http://www.funtoo.org/ZFS_Fun]&lt;br /&gt;
&lt;br /&gt;
[[Category:GentooKRDoc]]&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=ZFS_Fun&amp;diff=1605</id>
		<title>ZFS Fun</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=ZFS_Fun&amp;diff=1605"/>
		<updated>2014-03-16T04:12:34Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==주의 및 한계==&lt;br /&gt;
{{fancywarning|이 가이드는 작성이 완료되지 않았다. 따라서 많은 내용이 변동 될 수 있다.}}&lt;br /&gt;
&lt;br /&gt;
ZFS는 현재 최신 커널, 버전 3.13.6에 filesystem 옵션으로 포함되어있지 않다. 또한&lt;br /&gt;
현재 작성하는 시점에서 젠투 공식 포티지트리에서 배포되는 ebuild 스크립트로&lt;br /&gt;
커널 3.13.x 버전의 커널모듈을 빌드할 수 없다.&lt;br /&gt;
&lt;br /&gt;
ZFS는 64비트 시스템을 염두하고 설계되었다. 따라서 32비트 플랫폼에서는 정상적으로&lt;br /&gt;
작동하지 않을 수 있다. 또한 RAM 2GB 미만의 저사양 컴퓨터에서는 시스템 전체적으로 심각한 성능저하를 가져올 수 있다.&lt;br /&gt;
&lt;br /&gt;
문서 타이틀에서 알수 있듯이, 재미를 목적으로 작성되었고 따라서 안정적인 서비스 운용을 보장하지 않는다.&lt;br /&gt;
&lt;br /&gt;
==설치==&lt;br /&gt;
다음 설치과정은 [3.13.x 버전의 커널에서 ZFS를 사용하고 싶다] 또한 [ZFS 커널모듈 소스를 리눅스 소스트리에 이식해서, ZFS를 built-in 커널모듈로 사용하고 싶다]를 가정했다.&lt;br /&gt;
&lt;br /&gt;
===리눅스 소스 설정===&lt;br /&gt;
먼저 리눅스 소스부터 설치한다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# emerge -av vanilla-sources&lt;br /&gt;
# eselect kernel list&lt;br /&gt;
# cd /usr/src/linux&lt;br /&gt;
# grep CRYPTO_DEFLATE=y arch/x86/configs/x86_64_defconfig || \&lt;br /&gt;
echo CONFIG_CRYPTO_DEFLATE=y &amp;gt;&amp;gt;arch/x86/configs/x86_64_defconfig&lt;br /&gt;
# grep DEVTMPFS=y arch/x86/configs/x86_64_defconfig || \&lt;br /&gt;
echo CONFIG_DEVTMPFS=y &amp;gt;&amp;gt;arch/x86/configs/x86_64_defconfig&lt;br /&gt;
# make x86_64_defconfig&lt;br /&gt;
# make scripts prepare&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{fancywarning|리눅스 소스빌드 변수 KBUILD_OUTPUT의 기본값을 사용하지 않는다면 다음 과정을 성공적으로 마칠 수 없다.}}&lt;br /&gt;
&lt;br /&gt;
===ZFS 소스이식===&lt;br /&gt;
이제 ZFS 커널모듈 소스를 리눅스 소스트리에 이식하고, ZFS 유틸리티를 설치한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo ACCEPT_KEYWORDS=\&amp;quot;\~amd64\&amp;quot; &amp;gt;&amp;gt;/etc/portage/make.conf&lt;br /&gt;
# echo =sys-fs/zfs-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo =sys-fs/zfs-kmod-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo =sys-kernel/spl-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo sys-fs/zfs-kmod rootfs &amp;gt;&amp;gt;/etc/portage/package.use&lt;br /&gt;
# echo sys-fs/zfs rootfs kernel-builtin &amp;gt;&amp;gt;/etc/portage/package.use&lt;br /&gt;
# env EXTRA_ECONF='--enable-linux-builtin --with-linux=/usr/src/linux' \&lt;br /&gt;
ebuild /usr/portage/sys-kernel/spl/spl-9999.ebuild clean configure&lt;br /&gt;
# (cd /var/tmp/portage/sys-kernel/spl-9999/work/spl-9999 &amp;amp;&amp;amp; ./copy-builtin /usr/src/linux)&lt;br /&gt;
# env EXTRA_ECONF='--enable-linux-builtin --with-linux=/usr/src/linux --with-spl=/usr/src/linux' \&lt;br /&gt;
ebuild /usr/portage/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild clean configure&lt;br /&gt;
# (cd /var/tmp/portage/sys-fs/zfs-kmod-9999/work/zfs-kmod-9999 &amp;amp;&amp;amp; ./copy-builtin /usr/src/linux)&lt;br /&gt;
# emerge -1av =sys-fs/zfs-9999&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
9999의 불안전성이 불안하다면 [https://bugs.gentoo.org/show_bug.cgi?id=499672]를 참고한다. 그런다 해도 현재 포티지트리에 등록된 ZFS 버전 전부가 unstable하기 때문에 ZFS를 사용하고 싶다면 ACCEPT_KEYWORDS에 ~amd64는 필요하다.&lt;br /&gt;
&lt;br /&gt;
===리눅스 빌드 및 initramfs===&lt;br /&gt;
===테스트===&lt;br /&gt;
kexec을 사용하면 현재 실행중인 커널위에서 새로운 커널을 로드할 수 있다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# kexec -l /boot/vmlinuz-3.13.6-LOCALVERSION --initrd=/boot/initramfs-genkernel-x86_64-3.13.6-LOCALVERSION --append=&amp;quot;real_root=ZFS=rpool/ROOT/funtoo&amp;quot;&lt;br /&gt;
# kexec -e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
또한 ZFS/커널 디버깅을 안전하고, 효율적으로 하려한다면 rpool/ROOT/funtoo와 별도의 파일시스템 rpool/ROOT/funtoox를 만들어서 작업하는 시나리오를 세울 수 있다. rpool/FUNTOO/portage fs와 그 descendent는 rpool/ROOT의 descendent와 별개로, 공유해서 사용해도 무방하다.&lt;br /&gt;
&lt;br /&gt;
==디스크 편집==&lt;br /&gt;
&lt;br /&gt;
==ZVOL==&lt;br /&gt;
흔히 ZFS를 소개하는 문서에서 ZFS는 파일시스템과 볼륨매니저가 통합되어 있다고 말한다. ZVOL이란 ZFS에서 제공하는 볼륨매니저가 관리하는 볼륨을 가리킨다고 할 수 있다. 따라서 ZFS에 내장된 ZVOL-layer는 LVM을 대체할 수 있다. 참고로 작성자는 LVM을 한번도 사용해 본 적이 없고, 오래된 문서를 통해서만 접할 수 있었다. ZFS 명령 한줄이 달성할 수 있는 내용에서 LVM은 보통 6-7줄 가량을 소요했다.&lt;br /&gt;
&lt;br /&gt;
ZVOL을 생성하는 것은 보통 ZPOOL에 ZFS를 만들던 때 처럼 zfs command를 사용한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# zfs create -V 10G pool/ext4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
따라서 ZFS에 발을 들여놨다면, 더 이상 LVM은 시스템 상에서 필요하지 않다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# rc-update del lvm boot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ZVOL-layer를 통해 블록수준의 장치를 유연하게 제작할 수 있고, 따라서 virtual machine의 스토리지 병목현상을 해소할 수 있다.&lt;br /&gt;
&lt;br /&gt;
==IO 성능==&lt;br /&gt;
zpool io 상황을 확인한다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# zpool iostat [-v] pool [INTERVAL(sec)]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Synchronous write 성능을 개선하려면 ZIL(ZFS Intent Log) device를 pool에 추가한다. ZIL device는 pool을 구성하는 스토리지보다 빠른 저장장치일때 의미가 있다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# zpool add -o ashift=12 [-f] log &amp;lt;vdev&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pool에 존재하는 vdev 구성을 편집하는것은 신중을 기해야하므로 가급적 -n 옵션을 첨가하여, zfs 명령 전후의 차이를 미리 확인해가면서 작업하는 것이 안전한다.&lt;br /&gt;
&lt;br /&gt;
ZFS L2ARC(Level 2 Adjustable Replacement Cache)를 추가하면 pool의 읽기성능을 개선할 수 있다. ZFS L2ARC의 캐싱 알고리듬은 많은 다른 문서에 자세하게 기술되어있다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# zpool add cache &amp;lt;vdev&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ZPOOL version 18 이후부터는 ZIL removal 기능이 추가되었다. ZIL과 ZFS L2ARC device를 pool에서 제거하려면 zpool remove 명령을 사용한다.&lt;br /&gt;
&lt;br /&gt;
==참고문서==&lt;br /&gt;
* [http://www.funtoo.org/ZFS_Install_Guide http://www.funtoo.org/ZFS_Install_Guide] 이 곳에 ZFS root 설치전반을 설명하는 동영상이 있다.&lt;br /&gt;
* [http://www.funtoo.org/ZFS_Fun http://www.funtoo.org/ZFS_Fun]&lt;br /&gt;
&lt;br /&gt;
[[Category:GentooKRDoc]]&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=B:GentooKRPublishDoc&amp;diff=1582</id>
		<title>B:GentooKRPublishDoc</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=B:GentooKRPublishDoc&amp;diff=1582"/>
		<updated>2014-03-14T01:20:40Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: /* 자체 제작 문서 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;; Gentoo Korea 국내 제작문서&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== from KLDP문서 (정리중) ==&lt;br /&gt;
&lt;br /&gt;
[[OpenAFS-Gentoo-HOWTO|OpenAFS-Gentoo-HOWTO]] 원문주소 :: http://wiki.kldp.org/wiki.php/OpenAFS-Gentoo-HOWTO&lt;br /&gt;
&lt;br /&gt;
[[Gentoo_Postfix|Postfix를 이용한 가상 메일 호스팅 시스템 가이드]] - 원문주소 :: http://wiki.kldp.org/wiki.php/GentooPostfix&lt;br /&gt;
&lt;br /&gt;
[[PostfixOnGentoo-HOWTO|Postfix를 젠투에 설치하기]] - 원문주소 :: http://wiki.kldp.org/wiki.php/PostfixOnGentoo-HOWTO&lt;br /&gt;
&lt;br /&gt;
[[PostgreSQL_On_Gentoo|PostgreSQL On Gentoo]] - 원문주소 :: http://wiki.kldp.org/wiki.php/PostgreSQLOnGentoo&lt;br /&gt;
&lt;br /&gt;
[[Oracle11g_For_Gentoo|Oracle11g For Gentoo]] - 원문주소 :: http://wiki.kldp.org/wiki.php/Oracle11g_For_Gentoo&lt;br /&gt;
&lt;br /&gt;
[[Oracle92_For_Gentoo|Oracle 9.2 For Gentoo]] - 원문주소 :: http://wiki.kldp.org/wiki.php/Oracle9.2%20For%20Gentoo&lt;br /&gt;
&lt;br /&gt;
[[Gentoo_IP_bonding|Gentoo Linux 에서의 IP bonding구축]] - 원문주소 :: http://wiki.kldp.org/wiki.php/GentooIPBonding&lt;br /&gt;
&lt;br /&gt;
== 자체 제작 문서==&lt;br /&gt;
&lt;br /&gt;
* [[gentoo_redmine_nginix_git|Gentoo linux에서 redmine과 nginx, 그리고 git를 같이 사용하기]]&lt;br /&gt;
&lt;br /&gt;
* [[Gentoo_mwlib|Gentoo-MediaWiki에서 사용할 수 있는 Collection Extension에 대한 렌더서버 구축하기]]&lt;br /&gt;
&lt;br /&gt;
* [[Gentoo_mwmath|Gentoo-MediaWiki에서 사용할 수 있는 Math Extension 솔루션 구축]]&lt;br /&gt;
&lt;br /&gt;
* [[Gentoo_Korean_Env|Gentoo Linux 에서 한글 환경 만들기]]&lt;br /&gt;
&lt;br /&gt;
* [[Gentoo_DateTime_HowTo|Gentoo Linux 에서 날짜 시간 올바르게 설정하기]]&lt;br /&gt;
&lt;br /&gt;
* [[Gentoo_postfix_dovecot_sqlite|Gentoo Linux 에서 postfix + dovecot + sqlite 사용하기]]&lt;br /&gt;
&lt;br /&gt;
* [[Gentoo_on_UEFI-based_computer|Gentoo on UEFI-based computer]]&lt;br /&gt;
&lt;br /&gt;
* [[ZFS_Fun|ZFS Fun]]&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=ZFS_Fun&amp;diff=1581</id>
		<title>ZFS Fun</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=ZFS_Fun&amp;diff=1581"/>
		<updated>2014-03-14T01:19:27Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: /* 주의 및 한계 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==주의 및 한계==&lt;br /&gt;
{{fancywarning|이 가이드는 작성이 완료되지 않았다. 따라서 많은 내용이 변동 될 수 있다.}}&lt;br /&gt;
&lt;br /&gt;
ZFS는 현재 최신 커널, 버전 3.13.6에 filesystem 옵션으로 포함되어있지 않다. 또한&lt;br /&gt;
현재 작성하는 시점에서 젠투 공식 포티지트리에서 배포되는 ebuild 스크립트로&lt;br /&gt;
커널 3.13.x 버전의 커널모듈을 빌드할 수 없다.&lt;br /&gt;
&lt;br /&gt;
ZFS는 64비트 시스템을 염두하고 설계되었다. 따라서 32비트 플랫폼에서는 정상적으로&lt;br /&gt;
작동하지 않을 수 있다. 또한 RAM 2GB 미만의 저사양 컴퓨터에서는 시스템 전체적으로 심각한 성능저하를 가져올 수 있다.&lt;br /&gt;
&lt;br /&gt;
문서 타이틀에서 알수 있듯이, 재미를 목적으로 작성되었고 따라서 안정적인 서비스 운용을 보장하지 않는다.&lt;br /&gt;
&lt;br /&gt;
==설치==&lt;br /&gt;
다음 설치과정은 [3.13.x 버전의 커널에서 ZFS를 사용하고 싶다] 또한 [ZFS 커널모듈 소스를 리눅스 소스트리에 이식해서, ZFS를 built-in 커널모듈로 사용하고 싶다]를 가정했다.&lt;br /&gt;
&lt;br /&gt;
===리눅스 소스 설정===&lt;br /&gt;
먼저 리눅스 소스부터 설치한다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# emerge -av vanilla-sources&lt;br /&gt;
# eselect kernel list&lt;br /&gt;
# cd /usr/src/linux&lt;br /&gt;
# grep CRYPTO_DEFLATE=y arch/x86/configs/x86_64_defconfig || \&lt;br /&gt;
echo CONFIG_CRYPTO_DEFLATE=y &amp;gt;&amp;gt;arch/x86/configs/x86_64_defconfig&lt;br /&gt;
# grep DEVTMPFS=y arch/x86/configs/x86_64_defconfig || \&lt;br /&gt;
echo CONFIG_DEVTMPFS=y &amp;gt;&amp;gt;arch/x86/configs/x86_64_defconfig&lt;br /&gt;
# make x86_64_defconfig&lt;br /&gt;
# make scripts prepare&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{fancywarning|리눅스 소스빌드 변수 KBUILD_OUTPUT의 기본값을 사용하지 않는다면 다음 과정을 성공적으로 마칠 수 없다.}}&lt;br /&gt;
&lt;br /&gt;
===ZFS 소스이식===&lt;br /&gt;
이제 ZFS 커널모듈 소스를 리눅스 소스트리에 이식하고, ZFS 유틸리티를 설치한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo ACCEPT_KEYWORDS=\&amp;quot;\~amd64\&amp;quot; &amp;gt;&amp;gt;/etc/portage/make.conf&lt;br /&gt;
# echo =sys-fs/zfs-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo =sys-fs/zfs-kmod-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo =sys-kernel/spl-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo sys-fs/zfs-kmod rootfs &amp;gt;&amp;gt;/etc/portage/package.use&lt;br /&gt;
# echo sys-fs/zfs rootfs kernel-builtin &amp;gt;&amp;gt;/etc/portage/package.use&lt;br /&gt;
# env EXTRA_ECONF='--enable-linux-builtin --with-linux=/usr/src/linux' \&lt;br /&gt;
ebuild /usr/portage/sys-kernel/spl/spl-9999.ebuild clean configure&lt;br /&gt;
# (cd /var/tmp/portage/sys-kernel/spl-9999/work/spl-9999 &amp;amp;&amp;amp; ./copy-builtin /usr/src/linux)&lt;br /&gt;
# env EXTRA_ECONF='--enable-linux-builtin --with-linux=/usr/src/linux --with-spl=/usr/src/linux' \&lt;br /&gt;
ebuild /usr/portage/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild clean configure&lt;br /&gt;
# (cd /var/tmp/portage/sys-fs/zfs-kmod-9999/work/zfs-kmod-9999 &amp;amp;&amp;amp; ./copy-builtin /usr/src/linux)&lt;br /&gt;
# emerge -1av =sys-fs/zfs-9999&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
9999의 불안전성이 불안하다면 [https://bugs.gentoo.org/show_bug.cgi?id=499672]를 참고한다. 그런다 해도 현재 포티지트리에 등록된 ZFS 버전 전부가 unstable하기 때문에 ZFS를 사용하고 싶다면 ACCEPT_KEYWORDS에 ~amd64는 필요하다.&lt;br /&gt;
&lt;br /&gt;
===리눅스 빌드 및 initramfs===&lt;br /&gt;
===테스트===&lt;br /&gt;
kexec을 사용하면 현재 실행중인 커널위에서 새로운 커널을 로드할 수 있다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# kexec -l /boot/vmlinuz-3.13.6-LOCALVERSION --initrd=/boot/initramfs-genkernel-x86_64-3.13.6-LOCALVERSION --append=&amp;quot;real_root=ZFS=rpool/ROOT/funtoo&amp;quot;&lt;br /&gt;
# kexec -e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
또한 ZFS/커널 디버깅을 안전하고, 효율적으로 하려한다면 rpool/ROOT/funtoo와 별도의 파일시스템 rpool/ROOT/funtoox를 만들어서 작업하는 시나리오를 세울 수 있다. rpool/FUNTOO/portage fs와 그 descendent는 rpool/ROOT의 descendent와 별개로, 공유해서 사용해도 무방하다.&lt;br /&gt;
&lt;br /&gt;
==디스크 편집==&lt;br /&gt;
&lt;br /&gt;
==ZVOL==&lt;br /&gt;
흔히 ZFS를 소개하는 문서에서 ZFS는 파일시스템과 볼륨매니저가 통합되어 있다고 말한다. ZVOL이란 ZFS에서 제공하는 볼륨매니저가 관리하는 볼륨을 가리킨다고 할 수 있다. 따라서 ZFS에 내장된 ZVOL-layer는 LVM을 대체할 수 있다. 참고로 작성자는 LVM을 한번도 사용해 본 적이 없고, 오래된 문서를 통해서만 접할 수 있었다. ZFS 명령 한줄이 달성할 수 있는 내용에서 LVM은 보통 6-7줄 가량을 소요했다.&lt;br /&gt;
&lt;br /&gt;
ZVOL을 생성하는 것은 보통 ZPOOL에 ZFS를 만들던 때 처럼 zfs command를 사용한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# zfs create -V 10G pool/ext4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
따라서 ZFS에 발을 들여놨다면, 더 이상 LVM은 시스템 상에서 필요하지 않다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# rc-update del lvm boot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ZVOL-layer를 통해 블록수준의 장치를 유연하게 제작할 수 있고, 따라서 virtual machine의 스토리지 병목현상을 해소할 수 있다.&lt;br /&gt;
&lt;br /&gt;
==참고문서==&lt;br /&gt;
* [http://www.funtoo.org/ZFS_Install_Guide http://www.funtoo.org/ZFS_Install_Guide] 이 곳에 ZFS root 설치전반을 설명하는 동영상이 있다.&lt;br /&gt;
* [http://www.funtoo.org/ZFS_Fun http://www.funtoo.org/ZFS_Fun]&lt;br /&gt;
&lt;br /&gt;
[[Category:GentooKRDoc]]&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=ZFS_Fun&amp;diff=1580</id>
		<title>ZFS Fun</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=ZFS_Fun&amp;diff=1580"/>
		<updated>2014-03-14T01:18:23Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: /* ZFS 소스이식 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==주의 및 한계==&lt;br /&gt;
{{fancywarning|이 가이드는 작성이 완료되지 않았다. 따라서 많은 내용이 변동 될 수 있다.}}&lt;br /&gt;
&lt;br /&gt;
ZFS는 현재 최신 커널, 버전 3.13.6에 filesystem 옵션으로 포함되어있지 않다. 또한&lt;br /&gt;
현재 작성하는 시점에서 젠투 공식 포티지트리에서 배포되는 ebuild 스크립트로&lt;br /&gt;
커널 3.13.x 버전의 커널모듈을 빌드할 수 없다.&lt;br /&gt;
&lt;br /&gt;
ZFS는 64비트 시스템을 염두해서 설계되었다. 따라서 32비트 플랫폼에서는 정상적으로&lt;br /&gt;
작동하지 않을 수 있다. 또한 RAM 2GB 미만의 저사양 컴퓨터에서는 시스템 전체적으로 심각한 성능저하를 가져올 수 있다.&lt;br /&gt;
&lt;br /&gt;
문서 타이틀에서 알수 있듯이, 재미를 목적으로 작성되었고 따라서 안정적인 서비스 운용을 보장하지 않는다.&lt;br /&gt;
&lt;br /&gt;
==설치==&lt;br /&gt;
다음 설치과정은 [3.13.x 버전의 커널에서 ZFS를 사용하고 싶다] 또한 [ZFS 커널모듈 소스를 리눅스 소스트리에 이식해서, ZFS를 built-in 커널모듈로 사용하고 싶다]를 가정했다.&lt;br /&gt;
&lt;br /&gt;
===리눅스 소스 설정===&lt;br /&gt;
먼저 리눅스 소스부터 설치한다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# emerge -av vanilla-sources&lt;br /&gt;
# eselect kernel list&lt;br /&gt;
# cd /usr/src/linux&lt;br /&gt;
# grep CRYPTO_DEFLATE=y arch/x86/configs/x86_64_defconfig || \&lt;br /&gt;
echo CONFIG_CRYPTO_DEFLATE=y &amp;gt;&amp;gt;arch/x86/configs/x86_64_defconfig&lt;br /&gt;
# grep DEVTMPFS=y arch/x86/configs/x86_64_defconfig || \&lt;br /&gt;
echo CONFIG_DEVTMPFS=y &amp;gt;&amp;gt;arch/x86/configs/x86_64_defconfig&lt;br /&gt;
# make x86_64_defconfig&lt;br /&gt;
# make scripts prepare&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{fancywarning|리눅스 소스빌드 변수 KBUILD_OUTPUT의 기본값을 사용하지 않는다면 다음 과정을 성공적으로 마칠 수 없다.}}&lt;br /&gt;
&lt;br /&gt;
===ZFS 소스이식===&lt;br /&gt;
이제 ZFS 커널모듈 소스를 리눅스 소스트리에 이식하고, ZFS 유틸리티를 설치한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo ACCEPT_KEYWORDS=\&amp;quot;\~amd64\&amp;quot; &amp;gt;&amp;gt;/etc/portage/make.conf&lt;br /&gt;
# echo =sys-fs/zfs-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo =sys-fs/zfs-kmod-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo =sys-kernel/spl-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo sys-fs/zfs-kmod rootfs &amp;gt;&amp;gt;/etc/portage/package.use&lt;br /&gt;
# echo sys-fs/zfs rootfs kernel-builtin &amp;gt;&amp;gt;/etc/portage/package.use&lt;br /&gt;
# env EXTRA_ECONF='--enable-linux-builtin --with-linux=/usr/src/linux' \&lt;br /&gt;
ebuild /usr/portage/sys-kernel/spl/spl-9999.ebuild clean configure&lt;br /&gt;
# (cd /var/tmp/portage/sys-kernel/spl-9999/work/spl-9999 &amp;amp;&amp;amp; ./copy-builtin /usr/src/linux)&lt;br /&gt;
# env EXTRA_ECONF='--enable-linux-builtin --with-linux=/usr/src/linux --with-spl=/usr/src/linux' \&lt;br /&gt;
ebuild /usr/portage/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild clean configure&lt;br /&gt;
# (cd /var/tmp/portage/sys-fs/zfs-kmod-9999/work/zfs-kmod-9999 &amp;amp;&amp;amp; ./copy-builtin /usr/src/linux)&lt;br /&gt;
# emerge -1av =sys-fs/zfs-9999&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
9999의 불안전성이 불안하다면 [https://bugs.gentoo.org/show_bug.cgi?id=499672]를 참고한다. 그런다 해도 현재 포티지트리에 등록된 ZFS 버전 전부가 unstable하기 때문에 ZFS를 사용하고 싶다면 ACCEPT_KEYWORDS에 ~amd64는 필요하다.&lt;br /&gt;
&lt;br /&gt;
===리눅스 빌드 및 initramfs===&lt;br /&gt;
===테스트===&lt;br /&gt;
kexec을 사용하면 현재 실행중인 커널위에서 새로운 커널을 로드할 수 있다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# kexec -l /boot/vmlinuz-3.13.6-LOCALVERSION --initrd=/boot/initramfs-genkernel-x86_64-3.13.6-LOCALVERSION --append=&amp;quot;real_root=ZFS=rpool/ROOT/funtoo&amp;quot;&lt;br /&gt;
# kexec -e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
또한 ZFS/커널 디버깅을 안전하고, 효율적으로 하려한다면 rpool/ROOT/funtoo와 별도의 파일시스템 rpool/ROOT/funtoox를 만들어서 작업하는 시나리오를 세울 수 있다. rpool/FUNTOO/portage fs와 그 descendent는 rpool/ROOT의 descendent와 별개로, 공유해서 사용해도 무방하다.&lt;br /&gt;
&lt;br /&gt;
==디스크 편집==&lt;br /&gt;
&lt;br /&gt;
==ZVOL==&lt;br /&gt;
흔히 ZFS를 소개하는 문서에서 ZFS는 파일시스템과 볼륨매니저가 통합되어 있다고 말한다. ZVOL이란 ZFS에서 제공하는 볼륨매니저가 관리하는 볼륨을 가리킨다고 할 수 있다. 따라서 ZFS에 내장된 ZVOL-layer는 LVM을 대체할 수 있다. 참고로 작성자는 LVM을 한번도 사용해 본 적이 없고, 오래된 문서를 통해서만 접할 수 있었다. ZFS 명령 한줄이 달성할 수 있는 내용에서 LVM은 보통 6-7줄 가량을 소요했다.&lt;br /&gt;
&lt;br /&gt;
ZVOL을 생성하는 것은 보통 ZPOOL에 ZFS를 만들던 때 처럼 zfs command를 사용한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# zfs create -V 10G pool/ext4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
따라서 ZFS에 발을 들여놨다면, 더 이상 LVM은 시스템 상에서 필요하지 않다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# rc-update del lvm boot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ZVOL-layer를 통해 블록수준의 장치를 유연하게 제작할 수 있고, 따라서 virtual machine의 스토리지 병목현상을 해소할 수 있다.&lt;br /&gt;
&lt;br /&gt;
==참고문서==&lt;br /&gt;
* [http://www.funtoo.org/ZFS_Install_Guide http://www.funtoo.org/ZFS_Install_Guide] 이 곳에 ZFS root 설치전반을 설명하는 동영상이 있다.&lt;br /&gt;
* [http://www.funtoo.org/ZFS_Fun http://www.funtoo.org/ZFS_Fun]&lt;br /&gt;
&lt;br /&gt;
[[Category:GentooKRDoc]]&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=ZFS_Fun&amp;diff=1564</id>
		<title>ZFS Fun</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=ZFS_Fun&amp;diff=1564"/>
		<updated>2014-03-13T12:56:56Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: /* 테스트 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==주의 및 한계==&lt;br /&gt;
{{fancywarning|이 가이드는 작성이 완료되지 않았다. 따라서 많은 내용이 변동 될 수 있다.}}&lt;br /&gt;
&lt;br /&gt;
ZFS는 현재 최신 커널, 버전 3.13.6에 filesystem 옵션으로 포함되어있지 않다. 또한&lt;br /&gt;
현재 작성하는 시점에서 젠투 공식 포티지트리에서 배포되는 ebuild 스크립트로&lt;br /&gt;
커널 3.13.x 버전의 커널모듈을 빌드할 수 없다.&lt;br /&gt;
&lt;br /&gt;
ZFS는 64비트 시스템을 염두해서 설계되었다. 따라서 32비트 플랫폼에서는 정상적으로&lt;br /&gt;
작동하지 않을 수 있다. 또한 RAM 2GB 미만의 저사양 컴퓨터에서는 시스템 전체적으로 심각한 성능저하를 가져올 수 있다.&lt;br /&gt;
&lt;br /&gt;
문서 타이틀에서 알수 있듯이, 재미를 목적으로 작성되었고 따라서 안정적인 서비스 운용을 보장하지 않는다.&lt;br /&gt;
&lt;br /&gt;
==설치==&lt;br /&gt;
다음 설치과정은 [3.13.x 버전의 커널에서 ZFS를 사용하고 싶다] 또한 [ZFS 커널모듈 소스를 리눅스 소스트리에 이식해서, ZFS를 built-in 커널모듈로 사용하고 싶다]를 가정했다.&lt;br /&gt;
&lt;br /&gt;
===리눅스 소스 설정===&lt;br /&gt;
먼저 리눅스 소스부터 설치한다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# emerge -av vanilla-sources&lt;br /&gt;
# eselect kernel list&lt;br /&gt;
# cd /usr/src/linux&lt;br /&gt;
# grep CRYPTO_DEFLATE=y arch/x86/configs/x86_64_defconfig || \&lt;br /&gt;
echo CONFIG_CRYPTO_DEFLATE=y &amp;gt;&amp;gt;arch/x86/configs/x86_64_defconfig&lt;br /&gt;
# grep DEVTMPFS=y arch/x86/configs/x86_64_defconfig || \&lt;br /&gt;
echo CONFIG_DEVTMPFS=y &amp;gt;&amp;gt;arch/x86/configs/x86_64_defconfig&lt;br /&gt;
# make x86_64_defconfig&lt;br /&gt;
# make scripts prepare&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{fancywarning|리눅스 소스빌드 변수 KBUILD_OUTPUT의 기본값을 사용하지 않는다면 다음 과정을 성공적으로 마칠 수 없다.}}&lt;br /&gt;
&lt;br /&gt;
===ZFS 소스이식===&lt;br /&gt;
이제 ZFS 커널모듈 소스를 리눅스 소스트리에 이식하고, ZFS 유틸리티를 설치한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo ACCEPT_KEYWORDS=\&amp;quot;\~amd64\&amp;quot; &amp;gt;&amp;gt; /etc/portage/make.conf&lt;br /&gt;
# echo =sys-fs/zfs-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo =sys-fs/zfs-kmod-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo =sys-kernel/spl-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo sys-fs/zfs-kmod rootfs &amp;gt;&amp;gt; /etc/portage/package.use&lt;br /&gt;
# echo sys-fs/zfs rootfs &amp;gt;&amp;gt; /etc/portage/package.use&lt;br /&gt;
# env EXTRA_ECONF='--enable-linux-builtin --with-linux=/usr/src/linux' \&lt;br /&gt;
ebuild /usr/portage/sys-kernel/spl/spl-9999.ebuild clean configure&lt;br /&gt;
# (cd /var/tmp/portage/sys-kernel/spl-9999/work/spl-9999 &amp;amp;&amp;amp; ./copy-builtin /usr/src/linux)&lt;br /&gt;
# env EXTRA_ECONF='--enable-linux-builtin --with-linux=/usr/src/linux --with-spl=/usr/src/linux' \&lt;br /&gt;
ebuild /usr/portage/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild clean configure&lt;br /&gt;
# (cd /var/tmp/portage/sys-fs/zfs-kmod-9999/work/zfs-kmod-9999 &amp;amp;&amp;amp; ./copy-builtin /usr/src/linux)&lt;br /&gt;
# emerge -1av =sys-fs/zfs-9999&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
9999의 불안전성이 불안하다면 [https://bugs.gentoo.org/show_bug.cgi?id=499672]를 참고한다. 그런다 해도 현재 포티지트리에 등록된 ZFS 버전 전부가 unstable하기 때문에 ZFS를 사용하고 싶다면 ACCEPT_KEYWORDS에 ~amd64는 필요하다.&lt;br /&gt;
&lt;br /&gt;
===리눅스 빌드 및 initramfs===&lt;br /&gt;
===테스트===&lt;br /&gt;
kexec을 사용하면 현재 실행중인 커널위에서 새로운 커널을 로드할 수 있다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# kexec -l /boot/vmlinuz-3.13.6-LOCALVERSION --initrd=/boot/initramfs-genkernel-x86_64-3.13.6-LOCALVERSION --append=&amp;quot;real_root=ZFS=rpool/ROOT/funtoo&amp;quot;&lt;br /&gt;
# kexec -e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
또한 ZFS/커널 디버깅을 안전하고, 효율적으로 하려한다면 rpool/ROOT/funtoo와 별도의 파일시스템 rpool/ROOT/funtoox를 만들어서 작업하는 시나리오를 세울 수 있다. rpool/FUNTOO/portage fs와 그 descendent는 rpool/ROOT의 descendent와 별개로, 공유해서 사용해도 무방하다.&lt;br /&gt;
&lt;br /&gt;
==디스크 편집==&lt;br /&gt;
&lt;br /&gt;
==ZVOL==&lt;br /&gt;
흔히 ZFS를 소개하는 문서에서 ZFS는 파일시스템과 볼륨매니저가 통합되어 있다고 말한다. ZVOL이란 ZFS에서 제공하는 볼륨매니저가 관리하는 볼륨을 가리킨다고 할 수 있다. 따라서 ZFS에 내장된 ZVOL-layer는 LVM을 대체할 수 있다. 참고로 작성자는 LVM을 한번도 사용해 본 적이 없고, 오래된 문서를 통해서만 접할 수 있었다. ZFS 명령 한줄이 달성할 수 있는 내용에서 LVM은 보통 6-7줄 가량을 소요했다.&lt;br /&gt;
&lt;br /&gt;
ZVOL을 생성하는 것은 보통 ZPOOL에 ZFS를 만들던 때 처럼 zfs command를 사용한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# zfs create -V 10G pool/ext4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
따라서 ZFS에 발을 들여놨다면, 더 이상 LVM은 시스템 상에서 필요하지 않다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# rc-update del lvm boot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ZVOL-layer를 통해 블록수준의 장치를 유연하게 제작할 수 있고, 따라서 virtual machine의 스토리지 병목현상을 해소할 수 있다.&lt;br /&gt;
&lt;br /&gt;
==참고문서==&lt;br /&gt;
* [http://www.funtoo.org/ZFS_Install_Guide http://www.funtoo.org/ZFS_Install_Guide] 이 곳에 ZFS root 설치전반을 설명하는 동영상이 있다.&lt;br /&gt;
* [http://www.funtoo.org/ZFS_Fun http://www.funtoo.org/ZFS_Fun]&lt;br /&gt;
&lt;br /&gt;
[[Category:GentooKRDoc]]&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=ZFS_Fun&amp;diff=1563</id>
		<title>ZFS Fun</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=ZFS_Fun&amp;diff=1563"/>
		<updated>2014-03-13T06:35:18Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: /* ZVOL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==주의 및 한계==&lt;br /&gt;
{{fancywarning|이 가이드는 작성이 완료되지 않았다. 따라서 많은 내용이 변동 될 수 있다.}}&lt;br /&gt;
&lt;br /&gt;
ZFS는 현재 최신 커널, 버전 3.13.6에 filesystem 옵션으로 포함되어있지 않다. 또한&lt;br /&gt;
현재 작성하는 시점에서 젠투 공식 포티지트리에서 배포되는 ebuild 스크립트로&lt;br /&gt;
커널 3.13.x 버전의 커널모듈을 빌드할 수 없다.&lt;br /&gt;
&lt;br /&gt;
ZFS는 64비트 시스템을 염두해서 설계되었다. 따라서 32비트 플랫폼에서는 정상적으로&lt;br /&gt;
작동하지 않을 수 있다. 또한 RAM 2GB 미만의 저사양 컴퓨터에서는 시스템 전체적으로 심각한 성능저하를 가져올 수 있다.&lt;br /&gt;
&lt;br /&gt;
문서 타이틀에서 알수 있듯이, 재미를 목적으로 작성되었고 따라서 안정적인 서비스 운용을 보장하지 않는다.&lt;br /&gt;
&lt;br /&gt;
==설치==&lt;br /&gt;
다음 설치과정은 [3.13.x 버전의 커널에서 ZFS를 사용하고 싶다] 또한 [ZFS 커널모듈 소스를 리눅스 소스트리에 이식해서, ZFS를 built-in 커널모듈로 사용하고 싶다]를 가정했다.&lt;br /&gt;
&lt;br /&gt;
===리눅스 소스 설정===&lt;br /&gt;
먼저 리눅스 소스부터 설치한다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# emerge -av vanilla-sources&lt;br /&gt;
# eselect kernel list&lt;br /&gt;
# cd /usr/src/linux&lt;br /&gt;
# grep CRYPTO_DEFLATE=y arch/x86/configs/x86_64_defconfig || \&lt;br /&gt;
echo CONFIG_CRYPTO_DEFLATE=y &amp;gt;&amp;gt;arch/x86/configs/x86_64_defconfig&lt;br /&gt;
# grep DEVTMPFS=y arch/x86/configs/x86_64_defconfig || \&lt;br /&gt;
echo CONFIG_DEVTMPFS=y &amp;gt;&amp;gt;arch/x86/configs/x86_64_defconfig&lt;br /&gt;
# make x86_64_defconfig&lt;br /&gt;
# make scripts prepare&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{fancywarning|리눅스 소스빌드 변수 KBUILD_OUTPUT의 기본값을 사용하지 않는다면 다음 과정을 성공적으로 마칠 수 없다.}}&lt;br /&gt;
&lt;br /&gt;
===ZFS 소스이식===&lt;br /&gt;
이제 ZFS 커널모듈 소스를 리눅스 소스트리에 이식하고, ZFS 유틸리티를 설치한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo ACCEPT_KEYWORDS=\&amp;quot;\~amd64\&amp;quot; &amp;gt;&amp;gt; /etc/portage/make.conf&lt;br /&gt;
# echo =sys-fs/zfs-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo =sys-fs/zfs-kmod-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo =sys-kernel/spl-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo sys-fs/zfs-kmod rootfs &amp;gt;&amp;gt; /etc/portage/package.use&lt;br /&gt;
# echo sys-fs/zfs rootfs &amp;gt;&amp;gt; /etc/portage/package.use&lt;br /&gt;
# env EXTRA_ECONF='--enable-linux-builtin --with-linux=/usr/src/linux' \&lt;br /&gt;
ebuild /usr/portage/sys-kernel/spl/spl-9999.ebuild clean configure&lt;br /&gt;
# (cd /var/tmp/portage/sys-kernel/spl-9999/work/spl-9999 &amp;amp;&amp;amp; ./copy-builtin /usr/src/linux)&lt;br /&gt;
# env EXTRA_ECONF='--enable-linux-builtin --with-linux=/usr/src/linux --with-spl=/usr/src/linux' \&lt;br /&gt;
ebuild /usr/portage/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild clean configure&lt;br /&gt;
# (cd /var/tmp/portage/sys-fs/zfs-kmod-9999/work/zfs-kmod-9999 &amp;amp;&amp;amp; ./copy-builtin /usr/src/linux)&lt;br /&gt;
# emerge -1av =sys-fs/zfs-9999&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
9999의 불안전성이 불안하다면 [https://bugs.gentoo.org/show_bug.cgi?id=499672]를 참고한다. 그런다 해도 현재 포티지트리에 등록된 ZFS 버전 전부가 unstable하기 때문에 ZFS를 사용하고 싶다면 ACCEPT_KEYWORDS에 ~amd64는 필요하다.&lt;br /&gt;
&lt;br /&gt;
===리눅스 빌드 및 initramfs===&lt;br /&gt;
===테스트===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# kexec -l /boot/vmlinuz-3.13.6-LOCALVERSION --initrd=/boot/initramfs-genkernel-x86_64-3.13.6-LOCALVERSION --append=&amp;quot;real_root=ZFS=rpool/ROOT/funtoo&amp;quot;&lt;br /&gt;
# kexec -e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==디스크 편집==&lt;br /&gt;
&lt;br /&gt;
==ZVOL==&lt;br /&gt;
흔히 ZFS를 소개하는 문서에서 ZFS는 파일시스템과 볼륨매니저가 통합되어 있다고 말한다. ZVOL이란 ZFS에서 제공하는 볼륨매니저가 관리하는 볼륨을 가리킨다고 할 수 있다. 따라서 ZFS에 내장된 ZVOL-layer는 LVM을 대체할 수 있다. 참고로 작성자는 LVM을 한번도 사용해 본 적이 없고, 오래된 문서를 통해서만 접할 수 있었다. ZFS 명령 한줄이 달성할 수 있는 내용에서 LVM은 보통 6-7줄 가량을 소요했다.&lt;br /&gt;
&lt;br /&gt;
ZVOL을 생성하는 것은 보통 ZPOOL에 ZFS를 만들던 때 처럼 zfs command를 사용한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# zfs create -V 10G pool/ext4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
따라서 ZFS에 발을 들여놨다면, 더 이상 LVM은 시스템 상에서 필요하지 않다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# rc-update del lvm boot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ZVOL-layer를 통해 블록수준의 장치를 유연하게 제작할 수 있고, 따라서 virtual machine의 스토리지 병목현상을 해소할 수 있다.&lt;br /&gt;
&lt;br /&gt;
==참고문서==&lt;br /&gt;
* [http://www.funtoo.org/ZFS_Install_Guide http://www.funtoo.org/ZFS_Install_Guide] 이 곳에 ZFS root 설치전반을 설명하는 동영상이 있다.&lt;br /&gt;
* [http://www.funtoo.org/ZFS_Fun http://www.funtoo.org/ZFS_Fun]&lt;br /&gt;
&lt;br /&gt;
[[Category:GentooKRDoc]]&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=ZFS_Fun&amp;diff=1562</id>
		<title>ZFS Fun</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=ZFS_Fun&amp;diff=1562"/>
		<updated>2014-03-13T06:31:30Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: /* ZVOL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==주의 및 한계==&lt;br /&gt;
{{fancywarning|이 가이드는 작성이 완료되지 않았다. 따라서 많은 내용이 변동 될 수 있다.}}&lt;br /&gt;
&lt;br /&gt;
ZFS는 현재 최신 커널, 버전 3.13.6에 filesystem 옵션으로 포함되어있지 않다. 또한&lt;br /&gt;
현재 작성하는 시점에서 젠투 공식 포티지트리에서 배포되는 ebuild 스크립트로&lt;br /&gt;
커널 3.13.x 버전의 커널모듈을 빌드할 수 없다.&lt;br /&gt;
&lt;br /&gt;
ZFS는 64비트 시스템을 염두해서 설계되었다. 따라서 32비트 플랫폼에서는 정상적으로&lt;br /&gt;
작동하지 않을 수 있다. 또한 RAM 2GB 미만의 저사양 컴퓨터에서는 시스템 전체적으로 심각한 성능저하를 가져올 수 있다.&lt;br /&gt;
&lt;br /&gt;
문서 타이틀에서 알수 있듯이, 재미를 목적으로 작성되었고 따라서 안정적인 서비스 운용을 보장하지 않는다.&lt;br /&gt;
&lt;br /&gt;
==설치==&lt;br /&gt;
다음 설치과정은 [3.13.x 버전의 커널에서 ZFS를 사용하고 싶다] 또한 [ZFS 커널모듈 소스를 리눅스 소스트리에 이식해서, ZFS를 built-in 커널모듈로 사용하고 싶다]를 가정했다.&lt;br /&gt;
&lt;br /&gt;
===리눅스 소스 설정===&lt;br /&gt;
먼저 리눅스 소스부터 설치한다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# emerge -av vanilla-sources&lt;br /&gt;
# eselect kernel list&lt;br /&gt;
# cd /usr/src/linux&lt;br /&gt;
# grep CRYPTO_DEFLATE=y arch/x86/configs/x86_64_defconfig || \&lt;br /&gt;
echo CONFIG_CRYPTO_DEFLATE=y &amp;gt;&amp;gt;arch/x86/configs/x86_64_defconfig&lt;br /&gt;
# grep DEVTMPFS=y arch/x86/configs/x86_64_defconfig || \&lt;br /&gt;
echo CONFIG_DEVTMPFS=y &amp;gt;&amp;gt;arch/x86/configs/x86_64_defconfig&lt;br /&gt;
# make x86_64_defconfig&lt;br /&gt;
# make scripts prepare&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{fancywarning|리눅스 소스빌드 변수 KBUILD_OUTPUT의 기본값을 사용하지 않는다면 다음 과정을 성공적으로 마칠 수 없다.}}&lt;br /&gt;
&lt;br /&gt;
===ZFS 소스이식===&lt;br /&gt;
이제 ZFS 커널모듈 소스를 리눅스 소스트리에 이식하고, ZFS 유틸리티를 설치한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo ACCEPT_KEYWORDS=\&amp;quot;\~amd64\&amp;quot; &amp;gt;&amp;gt; /etc/portage/make.conf&lt;br /&gt;
# echo =sys-fs/zfs-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo =sys-fs/zfs-kmod-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo =sys-kernel/spl-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo sys-fs/zfs-kmod rootfs &amp;gt;&amp;gt; /etc/portage/package.use&lt;br /&gt;
# echo sys-fs/zfs rootfs &amp;gt;&amp;gt; /etc/portage/package.use&lt;br /&gt;
# env EXTRA_ECONF='--enable-linux-builtin --with-linux=/usr/src/linux' \&lt;br /&gt;
ebuild /usr/portage/sys-kernel/spl/spl-9999.ebuild clean configure&lt;br /&gt;
# (cd /var/tmp/portage/sys-kernel/spl-9999/work/spl-9999 &amp;amp;&amp;amp; ./copy-builtin /usr/src/linux)&lt;br /&gt;
# env EXTRA_ECONF='--enable-linux-builtin --with-linux=/usr/src/linux --with-spl=/usr/src/linux' \&lt;br /&gt;
ebuild /usr/portage/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild clean configure&lt;br /&gt;
# (cd /var/tmp/portage/sys-fs/zfs-kmod-9999/work/zfs-kmod-9999 &amp;amp;&amp;amp; ./copy-builtin /usr/src/linux)&lt;br /&gt;
# emerge -1av =sys-fs/zfs-9999&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
9999의 불안전성이 불안하다면 [https://bugs.gentoo.org/show_bug.cgi?id=499672]를 참고한다. 그런다 해도 현재 포티지트리에 등록된 ZFS 버전 전부가 unstable하기 때문에 ZFS를 사용하고 싶다면 ACCEPT_KEYWORDS에 ~amd64는 필요하다.&lt;br /&gt;
&lt;br /&gt;
===리눅스 빌드 및 initramfs===&lt;br /&gt;
===테스트===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# kexec -l /boot/vmlinuz-3.13.6-LOCALVERSION --initrd=/boot/initramfs-genkernel-x86_64-3.13.6-LOCALVERSION --append=&amp;quot;real_root=ZFS=rpool/ROOT/funtoo&amp;quot;&lt;br /&gt;
# kexec -e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==디스크 편집==&lt;br /&gt;
&lt;br /&gt;
==ZVOL==&lt;br /&gt;
흔히 ZFS를 소개하는 문서에서 ZFS는 파일시스템과 볼륨매니저가 통합되어 있다고 말한다. ZVOL이란 ZFS에서 제공하는 볼륨매니저가 관리하는 볼륨을 가리킨다고 할 수 있다. 따라서 ZFS에 내장된 ZVOL-layer는 LVM을 대체할 수 있다. 참고로 작성자는 LVM을 한번도 사용해 본 적이 없고, 오래된 문서를 통해서만 접할 수 있었다. ZFS 명령 한줄이 달성할 수 있는 내용에서 LVM은 보통 6-7줄 가량을 소요했다.&lt;br /&gt;
&lt;br /&gt;
ZVOL을 생성하는 것은 보통 ZPOOL에 ZFS를 만들던 때 처럼 zfs command를 사용한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# zfs create -V 10G pool/ext4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
따라서 ZFS에 발을 들여놨다면, 더 이상 LVM은 시스템 상에서 필요하지 않다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# rc-update del lvm boot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==참고문서==&lt;br /&gt;
* [http://www.funtoo.org/ZFS_Install_Guide http://www.funtoo.org/ZFS_Install_Guide] 이 곳에 ZFS root 설치전반을 설명하는 동영상이 있다.&lt;br /&gt;
* [http://www.funtoo.org/ZFS_Fun http://www.funtoo.org/ZFS_Fun]&lt;br /&gt;
&lt;br /&gt;
[[Category:GentooKRDoc]]&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=ZFS_Fun&amp;diff=1561</id>
		<title>ZFS Fun</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=ZFS_Fun&amp;diff=1561"/>
		<updated>2014-03-13T05:53:03Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==주의 및 한계==&lt;br /&gt;
{{fancywarning|이 가이드는 작성이 완료되지 않았다. 따라서 많은 내용이 변동 될 수 있다.}}&lt;br /&gt;
&lt;br /&gt;
ZFS는 현재 최신 커널, 버전 3.13.6에 filesystem 옵션으로 포함되어있지 않다. 또한&lt;br /&gt;
현재 작성하는 시점에서 젠투 공식 포티지트리에서 배포되는 ebuild 스크립트로&lt;br /&gt;
커널 3.13.x 버전의 커널모듈을 빌드할 수 없다.&lt;br /&gt;
&lt;br /&gt;
ZFS는 64비트 시스템을 염두해서 설계되었다. 따라서 32비트 플랫폼에서는 정상적으로&lt;br /&gt;
작동하지 않을 수 있다. 또한 RAM 2GB 미만의 저사양 컴퓨터에서는 시스템 전체적으로 심각한 성능저하를 가져올 수 있다.&lt;br /&gt;
&lt;br /&gt;
문서 타이틀에서 알수 있듯이, 재미를 목적으로 작성되었고 따라서 안정적인 서비스 운용을 보장하지 않는다.&lt;br /&gt;
&lt;br /&gt;
==설치==&lt;br /&gt;
다음 설치과정은 [3.13.x 버전의 커널에서 ZFS를 사용하고 싶다] 또한 [ZFS 커널모듈 소스를 리눅스 소스트리에 이식해서, ZFS를 built-in 커널모듈로 사용하고 싶다]를 가정했다.&lt;br /&gt;
&lt;br /&gt;
===리눅스 소스 설정===&lt;br /&gt;
먼저 리눅스 소스부터 설치한다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# emerge -av vanilla-sources&lt;br /&gt;
# eselect kernel list&lt;br /&gt;
# cd /usr/src/linux&lt;br /&gt;
# grep CRYPTO_DEFLATE=y arch/x86/configs/x86_64_defconfig || \&lt;br /&gt;
echo CONFIG_CRYPTO_DEFLATE=y &amp;gt;&amp;gt;arch/x86/configs/x86_64_defconfig&lt;br /&gt;
# grep DEVTMPFS=y arch/x86/configs/x86_64_defconfig || \&lt;br /&gt;
echo CONFIG_DEVTMPFS=y &amp;gt;&amp;gt;arch/x86/configs/x86_64_defconfig&lt;br /&gt;
# make x86_64_defconfig&lt;br /&gt;
# make scripts prepare&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{fancywarning|리눅스 소스빌드 변수 KBUILD_OUTPUT의 기본값을 사용하지 않는다면 다음 과정을 성공적으로 마칠 수 없다.}}&lt;br /&gt;
&lt;br /&gt;
===ZFS 소스이식===&lt;br /&gt;
이제 ZFS 커널모듈 소스를 리눅스 소스트리에 이식하고, ZFS 유틸리티를 설치한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo ACCEPT_KEYWORDS=\&amp;quot;\~amd64\&amp;quot; &amp;gt;&amp;gt; /etc/portage/make.conf&lt;br /&gt;
# echo =sys-fs/zfs-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo =sys-fs/zfs-kmod-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo =sys-kernel/spl-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo sys-fs/zfs-kmod rootfs &amp;gt;&amp;gt; /etc/portage/package.use&lt;br /&gt;
# echo sys-fs/zfs rootfs &amp;gt;&amp;gt; /etc/portage/package.use&lt;br /&gt;
# env EXTRA_ECONF='--enable-linux-builtin --with-linux=/usr/src/linux' \&lt;br /&gt;
ebuild /usr/portage/sys-kernel/spl/spl-9999.ebuild clean configure&lt;br /&gt;
# (cd /var/tmp/portage/sys-kernel/spl-9999/work/spl-9999 &amp;amp;&amp;amp; ./copy-builtin /usr/src/linux)&lt;br /&gt;
# env EXTRA_ECONF='--enable-linux-builtin --with-linux=/usr/src/linux --with-spl=/usr/src/linux' \&lt;br /&gt;
ebuild /usr/portage/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild clean configure&lt;br /&gt;
# (cd /var/tmp/portage/sys-fs/zfs-kmod-9999/work/zfs-kmod-9999 &amp;amp;&amp;amp; ./copy-builtin /usr/src/linux)&lt;br /&gt;
# emerge -1av =sys-fs/zfs-9999&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
9999의 불안전성이 불안하다면 [https://bugs.gentoo.org/show_bug.cgi?id=499672]를 참고한다. 그런다 해도 현재 포티지트리에 등록된 ZFS 버전 전부가 unstable하기 때문에 ZFS를 사용하고 싶다면 ACCEPT_KEYWORDS에 ~amd64는 필요하다.&lt;br /&gt;
&lt;br /&gt;
===리눅스 빌드 및 initramfs===&lt;br /&gt;
===테스트===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# kexec -l /boot/vmlinuz-3.13.6-LOCALVERSION --initrd=/boot/initramfs-genkernel-x86_64-3.13.6-LOCALVERSION --append=&amp;quot;real_root=ZFS=rpool/ROOT/funtoo&amp;quot;&lt;br /&gt;
# kexec -e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==디스크 편집==&lt;br /&gt;
&lt;br /&gt;
==ZVOL==&lt;br /&gt;
흔히 ZFS를 소개하는 문서에서 ZFS는 파일시스템과 볼륨매니저가 통합되어 있다고 말한다. ZVOL이란 ZFS에서 제공하는 볼륨매니저가 관리하는 볼륨을 가리킨다고 할 수 있다.&lt;br /&gt;
&lt;br /&gt;
==참고문서==&lt;br /&gt;
* [http://www.funtoo.org/ZFS_Install_Guide http://www.funtoo.org/ZFS_Install_Guide] 이 곳에 ZFS root 설치전반을 설명하는 동영상이 있다.&lt;br /&gt;
* [http://www.funtoo.org/ZFS_Fun http://www.funtoo.org/ZFS_Fun]&lt;br /&gt;
&lt;br /&gt;
[[Category:GentooKRDoc]]&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=ZFS_Fun&amp;diff=1560</id>
		<title>ZFS Fun</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=ZFS_Fun&amp;diff=1560"/>
		<updated>2014-03-13T05:42:21Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==주의 및 한계==&lt;br /&gt;
{{fancywarning|이 가이드는 작성이 완료되지 않았다. 따라서 많은 내용이 변동 될 수 있다.}}&lt;br /&gt;
&lt;br /&gt;
ZFS는 현재 최신 커널, 버전 3.13.6에 filesystem 옵션으로 포함되어있지 않다. 또한&lt;br /&gt;
현재 작성하는 시점에서 젠투 공식 포티지트리에서 배포되는 ebuild 스크립트로&lt;br /&gt;
커널 3.13.x 버전의 커널모듈을 빌드할 수 없다.&lt;br /&gt;
&lt;br /&gt;
ZFS는 64비트 시스템을 염두해서 설계되었다. 따라서 32비트 플랫폼에서는 정상적으로&lt;br /&gt;
작동하지 않을 수 있다. 또한 RAM 2GB 미만의 저사양 컴퓨터에서는 시스템 전체적으로 심각한 성능저하를 가져올 수 있다.&lt;br /&gt;
&lt;br /&gt;
문서 타이틀에서 알수 있듯이, 재미를 목적으로 작성되었고 따라서 안정적인 서비스 운용을 보장하지 않는다.&lt;br /&gt;
&lt;br /&gt;
==설치==&lt;br /&gt;
다음 설치과정은 [3.13.x 버전의 커널에서 ZFS를 사용하고 싶다] 또한 [ZFS 커널모듈 소스를 리눅스 소스트리에 이식해서, ZFS를 built-in 커널모듈로 사용하고 싶다]를 가정했다.&lt;br /&gt;
&lt;br /&gt;
===리눅스 소스 설정===&lt;br /&gt;
먼저 리눅스 소스부터 설치한다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# emerge -av vanilla-sources&lt;br /&gt;
# eselect kernel list&lt;br /&gt;
# cd /usr/src/linux&lt;br /&gt;
# grep CRYPTO_DEFLATE=y arch/x86/configs/x86_64_defconfig || \&lt;br /&gt;
echo CONFIG_CRYPTO_DEFLATE=y &amp;gt;&amp;gt;arch/x86/configs/x86_64_defconfig&lt;br /&gt;
# grep DEVTMPFS=y arch/x86/configs/x86_64_defconfig || \&lt;br /&gt;
echo CONFIG_DEVTMPFS=y &amp;gt;&amp;gt;arch/x86/configs/x86_64_defconfig&lt;br /&gt;
# make x86_64_defconfig&lt;br /&gt;
# make scripts prepare&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{fancywarning|리눅스 소스빌드 변수 KBUILD_OUTPUT의 기본값을 사용하지 않는다면 다음 과정을 성공적으로 마칠 수 없다.}}&lt;br /&gt;
&lt;br /&gt;
===ZFS 소스이식===&lt;br /&gt;
이제 ZFS 커널모듈 소스를 리눅스 소스트리에 이식하고, ZFS 유틸리티를 설치한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo ACCEPT_KEYWORDS=\&amp;quot;\~amd64\&amp;quot; &amp;gt;&amp;gt; /etc/portage/make.conf&lt;br /&gt;
# echo =sys-fs/zfs-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo =sys-fs/zfs-kmod-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo =sys-kernel/spl-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo sys-fs/zfs-kmod rootfs &amp;gt;&amp;gt; /etc/portage/package.use&lt;br /&gt;
# echo sys-fs/zfs rootfs &amp;gt;&amp;gt; /etc/portage/package.use&lt;br /&gt;
# env EXTRA_ECONF='--enable-linux-builtin --with-linux=/usr/src/linux' \&lt;br /&gt;
ebuild /usr/portage/sys-kernel/spl/spl-9999.ebuild clean configure&lt;br /&gt;
# (cd /var/tmp/portage/sys-kernel/spl-9999/work/spl-9999 &amp;amp;&amp;amp; ./copy-builtin /usr/src/linux)&lt;br /&gt;
# env EXTRA_ECONF='--enable-linux-builtin --with-linux=/usr/src/linux --with-spl=/usr/src/linux' \&lt;br /&gt;
ebuild /usr/portage/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild clean configure&lt;br /&gt;
# (cd /var/tmp/portage/sys-fs/zfs-kmod-9999/work/zfs-kmod-9999 &amp;amp;&amp;amp; ./copy-builtin /usr/src/linux)&lt;br /&gt;
# emerge -1av =sys-fs/zfs-9999&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
9999의 불안전성이 불안하다면 [https://bugs.gentoo.org/show_bug.cgi?id=499672]를 참고한다. 그런다 해도 현재 포티지트리에 등록된 ZFS 버전 전부가 unstable하기 때문에 ZFS를 사용하고 싶다면 ACCEPT_KEYWORDS에 ~amd64는 필요하다.&lt;br /&gt;
&lt;br /&gt;
===리눅스 빌드 및 initramfs===&lt;br /&gt;
&lt;br /&gt;
==디스크 편집==&lt;br /&gt;
==참고문서==&lt;br /&gt;
* [http://www.funtoo.org/ZFS_Install_Guide http://www.funtoo.org/ZFS_Install_Guide] 이 곳에 ZFS root 설치전반을 설명하는 동영상이 있다.&lt;br /&gt;
* [http://www.funtoo.org/ZFS_Fun http://www.funtoo.org/ZFS_Fun]&lt;br /&gt;
&lt;br /&gt;
[[Category:GentooKRDoc]]&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=ZFS_Fun&amp;diff=1559</id>
		<title>ZFS Fun</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=ZFS_Fun&amp;diff=1559"/>
		<updated>2014-03-13T05:03:57Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==주의 및 한계==&lt;br /&gt;
{{fancywarning|이 가이드는 작성이 완료되지 않았다. 따라서 많은 내용이 변동 될 수 있다.}}&lt;br /&gt;
&lt;br /&gt;
ZFS는 현재 최신 커널, 버전 3.13.6에 filesystem 옵션으로 포함되어있지 않다. 또한&lt;br /&gt;
현재 작성하는 시점에서 젠투 공식 포티지트리에서 배포되는 ebuild 스크립트로&lt;br /&gt;
커널 3.13.x 버전의 커널모듈을 빌드할 수 없다.&lt;br /&gt;
&lt;br /&gt;
ZFS는 64비트 시스템을 염두해서 설계되었다. 따라서 32비트 플랫폼에서는 정상적으로&lt;br /&gt;
작동하지 않을 수 있다. 또한 RAM 2GB 미만의 저사양 컴퓨터에서는 시스템 전체적으로 심각한 성능저하를 가져올 수 있다.&lt;br /&gt;
&lt;br /&gt;
문서 타이틀에서 알수 있듯이, 재미를 목적으로 작성되었고 따라서 안정적인 서비스 운용을 보장하지 않는다.&lt;br /&gt;
&lt;br /&gt;
==설치==&lt;br /&gt;
다음 설치과정은 [3.13.x 버전의 커널에서 ZFS를 사용하고 싶다] 또한 [ZFS 커널모듈 소스를 리눅스 소스트리에 이식해서, ZFS를 built-in 커널모듈로 사용하고 싶다]를 가정했다.&lt;br /&gt;
&lt;br /&gt;
먼저 리눅스 소스부터 설치한다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# emerge -av vanilla-sources&lt;br /&gt;
# eselect kernel list&lt;br /&gt;
# cd /usr/src/linux&lt;br /&gt;
# grep CRYPTO_DEFLATE=y arch/x86/configs/x86_64_defconfig || \&lt;br /&gt;
echo CONFIG_CRYPTO_DEFLATE=y &amp;gt;&amp;gt;arch/x86/configs/x86_64_defconfig&lt;br /&gt;
# grep DEVTMPFS=y arch/x86/configs/x86_64_defconfig || \&lt;br /&gt;
echo CONFIG_DEVTMPFS=y &amp;gt;&amp;gt;arch/x86/configs/x86_64_defconfig&lt;br /&gt;
# make x86_64_defconfig&lt;br /&gt;
# make scripts prepare&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{fancywarning|리눅스 소스빌드 변수 KBUILD_OUTPUT의 기본값을 사용하지 않는다면 다음 과정을 성공적으로 마칠 수 없다.}}&lt;br /&gt;
이제 ZFS 커널모듈 소스를 리눅스 소스트리에 이식하고, ZFS 유틸리티를 설치한다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo ACCEPT_KEYWORDS=\&amp;quot;\~amd64\&amp;quot; &amp;gt;&amp;gt; /etc/portage/make.conf&lt;br /&gt;
# echo =sys-fs/zfs-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo =sys-fs/zfs-kmod-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo =sys-kernel/spl-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo sys-fs/zfs-kmod rootfs &amp;gt;&amp;gt; /etc/portage/package.use&lt;br /&gt;
# echo sys-fs/zfs rootfs &amp;gt;&amp;gt; /etc/portage/package.use&lt;br /&gt;
# env EXTRA_ECONF='--enable-linux-builtin --with-linux=/usr/src/linux' \&lt;br /&gt;
ebuild /usr/portage/sys-kernel/spl/spl-9999.ebuild clean configure&lt;br /&gt;
# (cd /var/tmp/portage/sys-kernel/spl-9999/work/spl-9999 &amp;amp;&amp;amp; ./copy-builtin /usr/src/linux)&lt;br /&gt;
# env EXTRA_ECONF='--enable-linux-builtin --with-linux=/usr/src/linux --with-spl=/usr/src/linux' \&lt;br /&gt;
ebuild /usr/portage/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild clean configure&lt;br /&gt;
# (cd /var/tmp/portage/sys-fs/zfs-kmod-9999/work/zfs-kmod-9999 &amp;amp;&amp;amp; ./copy-builtin /usr/src/linux)&lt;br /&gt;
# emerge -1av =sys-fs/zfs-9999&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
9999의 불안전성이 불안하다면 [https://bugs.gentoo.org/show_bug.cgi?id=499672]를 참고한다. 그런다 해도 현재 포티지트리에 등록된 ZFS 버전 전부가 unstable하기 때문에 ZFS를 사용하고 싶다면 ACCEPT_KEYWORDS에 ~amd64는 필요하다.&lt;br /&gt;
&lt;br /&gt;
==디스크 편집==&lt;br /&gt;
==참고문서==&lt;br /&gt;
* [http://www.funtoo.org/ZFS_Fun http://www.funtoo.org/ZFS_Fun]&lt;br /&gt;
&lt;br /&gt;
[[Category:GentooKRDoc]]&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=ZFS_Fun&amp;diff=1558</id>
		<title>ZFS Fun</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=ZFS_Fun&amp;diff=1558"/>
		<updated>2014-03-13T04:46:16Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: /* 주의 및 한계 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==주의 및 한계==&lt;br /&gt;
{{fancywarning|이 가이드는 작성이 완료되지 않았다. 따라서 많은 내용이 변동 될 수 있다.}}&lt;br /&gt;
&lt;br /&gt;
ZFS는 현재 최신 커널, 버전 3.13.6에 filesystem 옵션으로 포함되어있지 않다. 또한&lt;br /&gt;
현재 작성하는 시점에서 젠투 공식 포티지트리에서 배포되는 ebuild 스크립트로&lt;br /&gt;
커널 3.13.x 버전의 커널모듈을 빌드할 수 없다.&lt;br /&gt;
&lt;br /&gt;
ZFS는 64비트 시스템을 염두해서 설계되었다. 따라서 32비트 플랫폼에서는 정상적으로&lt;br /&gt;
작동하지 않을 수 있다. 또한 RAM 2GB 미만의 저사양 컴퓨터에서는 시스템 전체적으로 심각한 성능저하를 가져올 수 있다.&lt;br /&gt;
&lt;br /&gt;
문서 타이틀에서 알수 있듯이, 재미를 목적으로 작성되었고 따라서 안정적인 서비스 운용을 보장하지 않는다.&lt;br /&gt;
&lt;br /&gt;
==설치==&lt;br /&gt;
다음 설치과정은 [3.13.x 버전의 커널에서 ZFS를 사용하고 싶다] 또한 [ZFS 커널모듈 소스를 리눅스 소스트리에 이식해서, ZFS를 built-in 커널모듈로 사용하고 싶다]를 가정했다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo ACCEPT_KEYWORDS=\&amp;quot;\~amd64\&amp;quot; &amp;gt;&amp;gt; /etc/portage/make.conf&lt;br /&gt;
# echo =sys-fs/zfs-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo =sys-fs/zfs-kmod-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo =sys-kernel/spl-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo sys-fs/zfs-kmod rootfs &amp;gt;&amp;gt; /etc/portage/package.use&lt;br /&gt;
# echo sys-fs/zfs rootfs &amp;gt;&amp;gt; /etc/portage/package.use&lt;br /&gt;
# env EXTRA_ECONF='--enable-linux-builtin --with-linux=/usr/src/linux' \&lt;br /&gt;
ebuild /usr/portage/sys-kernel/spl/spl-9999.ebuild clean configure&lt;br /&gt;
# (cd /var/tmp/portage/sys-kernel/spl-9999/work/spl-9999 &amp;amp;&amp;amp; ./copy-builtin /usr/src/linux)&lt;br /&gt;
# env EXTRA_ECONF='--enable-linux-builtin --with-linux=/usr/src/linux --with-spl=/usr/src/linux' \&lt;br /&gt;
ebuild /usr/portage/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild clean configure&lt;br /&gt;
# (cd /var/tmp/portage/sys-fs/zfs-kmod-9999/work/zfs-kmod-9999 &amp;amp;&amp;amp; ./copy-builtin /usr/src/linux)&lt;br /&gt;
# emerge -1av =sys-fs/zfs-9999&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
9999의 불안전성이 불안하다면 [https://bugs.gentoo.org/show_bug.cgi?id=499672]를 참고한다. 그런다 해도 현재 포티지트리에 등록된 ZFS 버전 전부가 unstable하기 때문에 ZFS를 사용하고 싶다면 ACCEPT_KEYWORDS에 ~amd64는 필요하다.&lt;br /&gt;
&lt;br /&gt;
[[Category:GentooKRDoc]]&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=ZFS_Fun&amp;diff=1557</id>
		<title>ZFS Fun</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=ZFS_Fun&amp;diff=1557"/>
		<updated>2014-03-13T04:37:06Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: /* 설치 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==주의 및 한계==&lt;br /&gt;
{{fancywarning|이 가이드는 작성이 완료되지 않았다. 따라서 많은 내용이 변동 될 수 있다.}}&lt;br /&gt;
&lt;br /&gt;
ZFS는 현재 최신 커널, 버전 3.13.6에 filesystem 옵션으로 포함되어있지 않다. 또한&lt;br /&gt;
현재 작성하는 시점에서 젠투 공식 포티지트리에서 배포되는 ebuild 스크립트로&lt;br /&gt;
커널 3.13.x 버전의 커널모듈을 빌드할 수 없다.&lt;br /&gt;
&lt;br /&gt;
ZFS는 64비트 시스템을 염두해서 설계되었다. 따라서 32비트 플랫폼에서는 정상적으로&lt;br /&gt;
작동하지 않을 수 있다.&lt;br /&gt;
&lt;br /&gt;
문서 타이틀에서 알수 있듯이, 재미를 목적으로 작성되었고 따라서 안정적인 서비스 운용을 보장하지 않는다. &lt;br /&gt;
&lt;br /&gt;
==설치==&lt;br /&gt;
다음 설치과정은 [3.13.x 버전의 커널에서 ZFS를 사용하고 싶다] 또한 [ZFS 커널모듈 소스를 리눅스 소스트리에 이식해서, ZFS를 built-in 커널모듈로 사용하고 싶다]를 가정했다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo ACCEPT_KEYWORDS=\&amp;quot;\~amd64\&amp;quot; &amp;gt;&amp;gt; /etc/portage/make.conf&lt;br /&gt;
# echo =sys-fs/zfs-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo =sys-fs/zfs-kmod-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo =sys-kernel/spl-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo sys-fs/zfs-kmod rootfs &amp;gt;&amp;gt; /etc/portage/package.use&lt;br /&gt;
# echo sys-fs/zfs rootfs &amp;gt;&amp;gt; /etc/portage/package.use&lt;br /&gt;
# env EXTRA_ECONF='--enable-linux-builtin --with-linux=/usr/src/linux' \&lt;br /&gt;
ebuild /usr/portage/sys-kernel/spl/spl-9999.ebuild clean configure&lt;br /&gt;
# (cd /var/tmp/portage/sys-kernel/spl-9999/work/spl-9999 &amp;amp;&amp;amp; ./copy-builtin /usr/src/linux)&lt;br /&gt;
# env EXTRA_ECONF='--enable-linux-builtin --with-linux=/usr/src/linux --with-spl=/usr/src/linux' \&lt;br /&gt;
ebuild /usr/portage/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild clean configure&lt;br /&gt;
# (cd /var/tmp/portage/sys-fs/zfs-kmod-9999/work/zfs-kmod-9999 &amp;amp;&amp;amp; ./copy-builtin /usr/src/linux)&lt;br /&gt;
# emerge -1av =sys-fs/zfs-9999&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
9999의 불안전성이 불안하다면 [https://bugs.gentoo.org/show_bug.cgi?id=499672]를 참고한다. 그런다 해도 현재 포티지트리에 등록된 ZFS 버전 전부가 unstable하기 때문에 ZFS를 사용하고 싶다면 ACCEPT_KEYWORDS에 ~amd64는 필요하다.&lt;br /&gt;
&lt;br /&gt;
[[Category:GentooKRDoc]]&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=ZFS_Fun&amp;diff=1556</id>
		<title>ZFS Fun</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=ZFS_Fun&amp;diff=1556"/>
		<updated>2014-03-13T04:34:39Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: 새 문서: ==주의 및 한계== {{fancywarning|이 가이드는 작성이 완료되지 않았다. 따라서 많은 내용이 변동 될 수 있다.}}  ZFS는 현재 최신 커널, 버전 3.13.6...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==주의 및 한계==&lt;br /&gt;
{{fancywarning|이 가이드는 작성이 완료되지 않았다. 따라서 많은 내용이 변동 될 수 있다.}}&lt;br /&gt;
&lt;br /&gt;
ZFS는 현재 최신 커널, 버전 3.13.6에 filesystem 옵션으로 포함되어있지 않다. 또한&lt;br /&gt;
현재 작성하는 시점에서 젠투 공식 포티지트리에서 배포되는 ebuild 스크립트로&lt;br /&gt;
커널 3.13.x 버전의 커널모듈을 빌드할 수 없다.&lt;br /&gt;
&lt;br /&gt;
ZFS는 64비트 시스템을 염두해서 설계되었다. 따라서 32비트 플랫폼에서는 정상적으로&lt;br /&gt;
작동하지 않을 수 있다.&lt;br /&gt;
&lt;br /&gt;
문서 타이틀에서 알수 있듯이, 재미를 목적으로 작성되었고 따라서 안정적인 서비스 운용을 보장하지 않는다. &lt;br /&gt;
&lt;br /&gt;
==설치==&lt;br /&gt;
다음 설치과정은 [3.13.x 버전의 커널에서 ZFS를 사용하고 싶다], 또한 [ZFS 커널모듈 소스를 리눅스 소스트리에 이식해서, ZFS를 built-in 커널모듈로 사용하고 싶다]를 가정했다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# echo ACCEPT_KEYWORDS=\&amp;quot;\~amd64\&amp;quot; &amp;gt;&amp;gt; /etc/portage/make.conf&lt;br /&gt;
# echo =sys-fs/zfs-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo =sys-fs/zfs-kmod-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo =sys-kernel/spl-9999 \*\* &amp;gt;&amp;gt;/etc/portage/package.accept_keywords&lt;br /&gt;
# echo sys-fs/zfs-kmod rootfs &amp;gt;&amp;gt; /etc/portage/package.use&lt;br /&gt;
# echo sys-fs/zfs rootfs &amp;gt;&amp;gt; /etc/portage/package.use&lt;br /&gt;
# env EXTRA_ECONF='--enable-linux-builtin --with-linux=/usr/src/linux' \&lt;br /&gt;
ebuild /usr/portage/sys-kernel/spl/spl-9999.ebuild clean configure&lt;br /&gt;
# (cd /var/tmp/portage/sys-kernel/spl-9999/work/spl-9999 &amp;amp;&amp;amp; ./copy-builtin /usr/src/linux)&lt;br /&gt;
# env EXTRA_ECONF='--enable-linux-builtin --with-linux=/usr/src/linux --with-spl=/usr/src/linux' \&lt;br /&gt;
ebuild /usr/portage/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild clean configure&lt;br /&gt;
# (cd /var/tmp/portage/sys-fs/zfs-kmod-9999/work/zfs-kmod-9999 &amp;amp;&amp;amp; ./copy-builtin /usr/src/linux)&lt;br /&gt;
# emerge -1av =sys-fs/zfs-9999&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
9999의 불안전성이 불안하다면 [https://bugs.gentoo.org/show_bug.cgi?id=499672]를 참고한다. 그런다 해도 현재 포티지트리에 등록된 ZFS 버전 전부가 unstable하기 때문에 ZFS를 사용하고 싶다면 ACCEPT_KEYWORDS에 ~amd64는 필요하다.&lt;br /&gt;
&lt;br /&gt;
[[Category:GentooKRDoc]]&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Fancywarning&amp;diff=1555</id>
		<title>틀:Fancywarning</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Fancywarning&amp;diff=1555"/>
		<updated>2014-03-13T02:35:03Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot; cellpadding=4 cellspacing=0 style=&amp;quot;margin: .5em 0; border-radius: 5px; color: #000; border: solid 2px #f04040; &amp;quot; &lt;br /&gt;
| width=&amp;quot;32px&amp;quot; valign=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #f04040; font-size: 1.1em; color: #200;&amp;quot; | '''주의:''' &lt;br /&gt;
| style=&amp;quot;background-color: #f0c0c0; padding: 0 0.5em; font-family=monospace, fixed;&amp;quot; colspan=&amp;quot;2&amp;quot; | {{{1}}}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Fancywarning&amp;diff=1554</id>
		<title>틀:Fancywarning</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Fancywarning&amp;diff=1554"/>
		<updated>2014-03-13T02:34:45Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: 새 문서: {| width=&amp;quot;100%&amp;quot; cellpadding=4 cellspacing=0 style=&amp;quot;margin: .5em 0; border-radius: 5px; color: #000; border: solid 2px #f04040; &amp;quot;  | width=&amp;quot;32px&amp;quot; valign=&amp;quot;center&amp;quot; style=&amp;quot;background-colo...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot; cellpadding=4 cellspacing=0 style=&amp;quot;margin: .5em 0; border-radius: 5px; color: #000; border: solid 2px #f04040; &amp;quot; &lt;br /&gt;
| width=&amp;quot;32px&amp;quot; valign=&amp;quot;center&amp;quot; style=&amp;quot;background-color: #f04040; font-size: 1.1em; color: #200;&amp;quot; | '''주의:''' &lt;br /&gt;
| style=&amp;quot;background-color: #f0c0c0; padding: 0 0.5em; font-family=monospace, fixed;&amp;quot; colspan=&amp;quot;2&amp;quot; | {{{1}}}&lt;br /&gt;
|}&amp;lt;noinclude&amp;gt;{{documentation}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Alchemist&amp;diff=1553</id>
		<title>사용자:Alchemist</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=%EC%82%AC%EC%9A%A9%EC%9E%90:Alchemist&amp;diff=1553"/>
		<updated>2014-03-13T02:16:40Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: 새 문서: ==Who Am I?==&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Who Am I?==&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=B:GentooKRPublishDoc&amp;diff=1485</id>
		<title>B:GentooKRPublishDoc</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=B:GentooKRPublishDoc&amp;diff=1485"/>
		<updated>2014-01-26T15:05:59Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: Gentoo on UEFI-based computer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;; Gentoo Korea 국내 제작문서&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== from KLDP문서 (정리중) ==&lt;br /&gt;
&lt;br /&gt;
[[OpenAFS-Gentoo-HOWTO|OpenAFS-Gentoo-HOWTO]] 원문주소 :: http://wiki.kldp.org/wiki.php/OpenAFS-Gentoo-HOWTO&lt;br /&gt;
&lt;br /&gt;
[[Gentoo_Postfix|Postfix를 이용한 가상 메일 호스팅 시스템 가이드]] - 원문주소 :: http://wiki.kldp.org/wiki.php/GentooPostfix&lt;br /&gt;
&lt;br /&gt;
[[PostfixOnGentoo-HOWTO|Postfix를 젠투에 설치하기]] - 원문주소 :: http://wiki.kldp.org/wiki.php/PostfixOnGentoo-HOWTO&lt;br /&gt;
&lt;br /&gt;
[[PostgreSQL_On_Gentoo|PostgreSQL On Gentoo]] - 원문주소 :: http://wiki.kldp.org/wiki.php/PostgreSQLOnGentoo&lt;br /&gt;
&lt;br /&gt;
[[Oracle11g_For_Gentoo|Oracle11g For Gentoo]] - 원문주소 :: http://wiki.kldp.org/wiki.php/Oracle11g_For_Gentoo&lt;br /&gt;
&lt;br /&gt;
[[Oracle92_For_Gentoo|Oracle 9.2 For Gentoo]] - 원문주소 :: http://wiki.kldp.org/wiki.php/Oracle9.2%20For%20Gentoo&lt;br /&gt;
&lt;br /&gt;
[[Gentoo_IP_bonding|Gentoo Linux 에서의 IP bonding구축]] - 원문주소 :: http://wiki.kldp.org/wiki.php/GentooIPBonding&lt;br /&gt;
&lt;br /&gt;
== 자체 제작 문서==&lt;br /&gt;
&lt;br /&gt;
* [[gentoo_redmine_nginix_git|Gentoo linux에서 redmine과 nginx, 그리고 git를 같이 사용하기]]&lt;br /&gt;
&lt;br /&gt;
* [[Gentoo_mwlib|Gentoo-MediaWiki에서 사용할 수 있는 Collection Extension에 대한 렌더서버 구축하기]]&lt;br /&gt;
&lt;br /&gt;
* [[Gentoo_mwmath|Gentoo-MediaWiki에서 사용할 수 있는 Math Extension 솔루션 구축]]&lt;br /&gt;
&lt;br /&gt;
* [[Gentoo_Korean_Env|Gentoo Linux 에서 한글 환경 만들기]]&lt;br /&gt;
&lt;br /&gt;
* [[Gentoo_DateTime_HowTo|Gentoo Linux 에서 날짜 시간 올바르게 설정하기]]&lt;br /&gt;
&lt;br /&gt;
* [[Gentoo_postfix_dovecot_sqlite|Gentoo Linux 에서 postfix + dovecot + sqlite 사용하기]]&lt;br /&gt;
&lt;br /&gt;
* [[Gentoo_on_UEFI-based_computer|Gentoo on UEFI-based computer]]&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=Gentoo_on_UEFI-based_computer&amp;diff=1462</id>
		<title>Gentoo on UEFI-based computer</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=Gentoo_on_UEFI-based_computer&amp;diff=1462"/>
		<updated>2013-08-10T12:50:19Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: /* 젠투 리눅스 설치에서 부팅까지 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==개요==&lt;br /&gt;
최근, 대부분의 메인보드에는 UEFI(Unified Extensible Firmware Interface)라고 불리는, 기존의 BIOS와는 다른, 펌웨어가 탑재되어 출시된다. UEFI-펌웨어는 직접 OS kernel을 로드할 수 있는 부팅매니저를 포함하고 있다. 따라서, UEFI 기반으로 시스템을 부팅하려고 한다면, 기존의 BIOS 기반으로 제작된 부트로더, 부팅매니저등은 사용할 수 없고, 사용할 필요도 없다. UEFI-펌웨어가 시스템을 부팅하는 구체적인 메커니즘은 다른 페이지를 참고하도록 하고, 여기서는 젠투 리눅스 배포판을 UEFI 기반으로 부팅하기까지 과정을 알아본다. 본 문서는 GRUB이라는 부트로더를 사용할 줄 모르고, UEFI-펌웨어가 탑재된 보드를 사용하는 사람에게 최적(?)의 문서가 될 것이다.&lt;br /&gt;
&lt;br /&gt;
==젠투 리눅스 설치에서 부팅까지==&lt;br /&gt;
아래 설치 과정을 무작정 따라하기 보다, 아웃라인을 잡고 시작하기를 권장한다. 그러면 이 문서에 나온 시나리오를 개인의 취향에 맞게 개선할 수 있을 것이다. 또한 시작에 앞서 overview를 권고함은 이 문서는 진행과정에서 의도적으로 실수를 범하고 있기 때문이다.&lt;br /&gt;
&lt;br /&gt;
먼저 언제나 그렇듯, gentoo livecd와 stage3 tar ball, 최신 portage tar ball을 미러서버에서 다운받고 시작하도록 한다. 시스템 아키텍쳐별로 livecd, stage3이 같은 디렉토리에서 배포되고, portage tar ball은 snapshot이란 디렉토리에서 배포되고 있다.&lt;br /&gt;
&lt;br /&gt;
http://ftp.daum.net/gentoo/releases/&lt;br /&gt;
&lt;br /&gt;
이 문서에서는 Gentoo livecd는 LiveDVD가 아닌 minimal을 사용하였다. 요즘 환경에서 iso를 physical-CD에 굽는 경우는 드물 것이고, 아마도 부팅가능한 USB 플래시 드라이브를 제작하고 싶을 것이다. UNetbootin이라는 툴을 사용하면 iso 이미지를 가지고 간단하게 bootable UFD(USB Flash Drive)를 제작할 수 있다.&lt;br /&gt;
&lt;br /&gt;
http://unetbootin.sourceforge.net/&lt;br /&gt;
&lt;br /&gt;
OSX 환경 사용자는 이 툴을 사용하여 제작된 UFD가 정상적으로 부팅되지 않을 수 있다. 그럴 경우는 다음 처리를 해주어야 한다.&lt;br /&gt;
{{Console|{{Cmd/osx|diskutil list # 주의! USB 디스크 번호 확인}}&lt;br /&gt;
{{Cmd/osx|sudo fdisk -e /dev/rdisk1 # /dev/disk1이 아니다}}&lt;br /&gt;
{{Cmd/osx|p|host=fdisk:&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|pwd=|hash=1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;1: 0B 1023 254  63 - 1023 254  63 [         2 -   18555416] Win95 FAT-32|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd/osx|f 1|host=fdisk:|pwd=|hash=*1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|p|host=fdisk:|pwd=|hash=*1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|*1: 0B 1023 254  63 - 1023 254  63 [         2 -   18555416] Win95 FAT-32|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd/osx|w|host=fdisk:|pwd=|hash=*1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|exit|host=fdisk:&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|pwd=|hash=1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}}}&lt;br /&gt;
&lt;br /&gt;
젠투 livecd로 부팅을 하게 되면 &amp;lt;code&amp;gt;dmesg&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;lspci&amp;lt;/code&amp;gt;및 &amp;lt;code&amp;gt;ls*&amp;lt;/code&amp;gt; 유틸리티를 비롯하여, &lt;br /&gt;
{{Console|{{Cmd|more /proc/cpuinfo}}}}&lt;br /&gt;
등을 통해 시스템의 하드웨어 정보를 얻을 수 있다. 시스템 시간(date)을 설치과정에서 고치려면 가장 처음에 고칠 것을 권장한다.&lt;br /&gt;
{{Console|{{Cmd|date MMDDhhmmYYYY}}}}&lt;br /&gt;
&lt;br /&gt;
Alt+F2 혹은 Alt+방향키 등으로 여러개의 프레임 버퍼를 띄워두고 작업을 진행 할 수 있다.&lt;br /&gt;
&lt;br /&gt;
콘솔작업보다는 ssh 접속을 통한 터미널작업을 추천한다.&lt;br /&gt;
{{Console|{{Cmd|ifconfig}}&lt;br /&gt;
{{Cmd|# ip 주소가 잡혀있지 않은 경우에는 `net-setup' 스크립트로 네트워크를 설정한다.}}&lt;br /&gt;
{{Cmd|# net-setup eth0 &amp;amp;&amp;amp; ifconfig}}&lt;br /&gt;
{{Cmd|# LAN 환경에 dhcp 서버가 있다면 `dhcpcd eth0'을 명령하면 쉽게 ip를 발급받을 수 있다.}}&lt;br /&gt;
{{Cmd|ping -c3 www.gentoo.org}}&lt;br /&gt;
{{Cmd|/etc/init.d/sshd start &amp;amp;&amp;amp; passwd}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
나는 콘솔에서 모든 것을 끝내버리겠다(?)한다면, CapsLock키를 Ctrl키로 매핑하여 사용하는 것이 도움이 될 것이다.&lt;br /&gt;
{{Console|{{Cmd|emacs /etc/conf.d/keymaps}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
keymap=&amp;quot;emacs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Cmd|/etc/init.d/keymaps restart}}}}&lt;br /&gt;
위와 같이 설정하면, CapsLock키를 Ctrl키로 사용할 수 있을 것이다. 참고로 C-a/e, C-f/b, M-f/b, C-t, C-p/n등, 다양한 이맥스 키바인딩은 bash, csh와 같은 표준적인 쉘에서 여전히 유효하다.&lt;br /&gt;
&lt;br /&gt;
다음으로 할 작업은 디스크 편집과정이다. 따라서 데이터 유실과 같은 사항은 각별히 유의하여야 한다. 본 문서에서는 시스템 운용에 두 개의 블록 디스크 장치를 사용하여, 하나는 젠투의 root가 설치되고, 나머지 하나는 &amp;lt;code&amp;gt;/home&amp;lt;/code&amp;gt;에 마운트 될 것이다. 이 때, UEFI 기반에서 젠투를 부팅하려 한다면, 반드시 ESP(EFI System Partition)가 하나 이상의 디스크에 존재해야 한다. 또 반드시 ESP는 파티션 테이블 상에서 첫번째 파티션이어야 한다.&lt;br /&gt;
{{Console|{{Cmd|parted -l}}&lt;br /&gt;
{{Cmd|parted /dev/sda # gentoo root가 설치될 디스크}}&lt;br /&gt;
{{Cmd|mklabel gpt|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart EFI fat32 0% 210m # help 메세지에는 PART-TYPE으로 3가지 중 하나만 쓰라고 했지만, 이는 partition table의 name 컬럼에 불과하다.|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart primary linux-swap 210m 710m|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart primary xfs 710m 100%|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|set 1 boot on # 1st partition을 ESP로 지정. fdisk의 boot flag와는 다르고, gdisk에서의 part-type code `EF00'와 같다.|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|print|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|select /dev/sdb|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mklabel gpt|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart primary xfs 0% 100%|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|print|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|quit|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkfs.vfat -n&amp;quot;efi&amp;quot; -F32 /dev/sda1}}&lt;br /&gt;
{{Cmd|mkswap -L&amp;quot;swap&amp;quot; /dev/sda2 &amp;amp;&amp;amp; swapon LABEL{{=}}swap}}&lt;br /&gt;
{{Cmd|mkfs.xfs -L&amp;quot;gentoo&amp;quot; -f /dev/sda3}} &lt;br /&gt;
{{Cmd|mkfs.xfs -L&amp;quot;home&amp;quot; -f /dev/sdb1 #}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
디스크 파티션 테이블 수정과 각 파티션에 파일시스템까지 올렸다. 이제 젠투 root가 설치될 파티션을 마운트하여 stage3, portage tar ball을 풀고, chroot으로 새 젠투 시스템에 진입한다.&lt;br /&gt;
{{Console|{{Cmd|mount LABEL{{=}}gentoo /mnt/gentoo &amp;amp;&amp;amp; cd /mnt/gentoo}}&lt;br /&gt;
{{Cmd|time tar /mnt/cdrom/xvjf stage3.tar.bz2 &amp;amp;&amp;amp; ls|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|time tar xvjf /mnt/cdrom/portage.tar.bz2 -C./usr/ &amp;amp;&amp;amp; ls|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|mount -t proc /proc /mnt/gentoo/proc|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|mount --rbind /sys /mnt/gentoo/sys|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|mount --rbind /dev /mnt/gentoo/dev|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|mount LABEL{{=}}home /mnt/gentoo/home|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|cp -L /etc/resolv.conf ./etc/|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|chroot ./ /bin/bash|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|env-update &amp;amp;&amp;amp; source /etc/profile|pwd=/&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|export PS1{{=}}&amp;quot;(chroot) $PS1&amp;quot;|pwd=/&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|passwd}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
다음은 커널 컴파일까지 과정이다. UEFI 기반으로 부팅이 되려면 반드시 알맞은 커널 설정을 해주어야 한다.&lt;br /&gt;
{{Console|&lt;br /&gt;
{{Cmd/chroot|eselect profile list}}&lt;br /&gt;
{{Cmd/chroot|eselect profile set &amp;lt;n&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|nano -w /etc/portage/make.conf # make.conf 설정은 개인 취향에 맞게 설정. 본문에서는 다음과 같이 썼다.}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CHOST=&amp;quot;x86_64-pc-linux-gnu&amp;quot;&lt;br /&gt;
CFLAGS=&amp;quot;-O2 -march=native -pipe&amp;quot;&lt;br /&gt;
CXXFLAGS=&amp;quot;${CFLAGS}&amp;quot;&lt;br /&gt;
MAKEOPTS=&amp;quot;-j5&amp;quot;&lt;br /&gt;
LINGUAS=&amp;quot;en ko&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Cmd/chroot|mount -t tmpfs -o size{{=}}2G none /var/tmp/portage}}&lt;br /&gt;
{{Cmd/chroot|emerge -av mirrorselect}}&lt;br /&gt;
{{Cmd/chroot|mirrorselect -o -i &amp;gt;&amp;gt; /etc/portage/make.conf}}&lt;br /&gt;
{{Cmd/chroot|mirrorselect -o -i -r &amp;gt;&amp;gt; /etc/portage/make.conf}}&lt;br /&gt;
{{Cmd/chroot|emerge --sync}}&lt;br /&gt;
{{Cmd/chroot|emerge genkernel gentoo-sources &amp;amp;&amp;amp; cd /usr/src/linux}}&lt;br /&gt;
{{Cmd/chroot|make menuconfig|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
커널 설정에서 다음 작업은 반드시 해야한다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Processor type and features  ---&amp;gt;&lt;br /&gt;
    [*] EFI runtime service support&lt;br /&gt;
    [*]   EFI stub support&lt;br /&gt;
    [*] Build a relocatable kernel&lt;br /&gt;
Device Drivers  ---&amp;gt;&lt;br /&gt;
    Graphics support ---&amp;gt;&lt;br /&gt;
        &amp;lt;*&amp;gt; Support for frame buffer devices  ---&amp;gt;&lt;br /&gt;
            [*]   Enable firmware EDID&lt;br /&gt;
            [*]   EFI-based Framebuffer Support&lt;br /&gt;
        Console display driver support  ---&amp;gt;&lt;br /&gt;
            &amp;lt;*&amp;gt; Framebuffer Console support&lt;br /&gt;
Firmware Drivers  ---&amp;gt;&lt;br /&gt;
    &amp;lt;*&amp;gt; EFI Variable Support via sysfs&lt;br /&gt;
-*- enabler the block layer ---&amp;gt;&lt;br /&gt;
    Partition Types  ---&amp;gt;&lt;br /&gt;
        [*]   EFI GUID Partition support&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
혹은 &amp;lt;code&amp;gt;/usr/src/linux/.config&amp;lt;/code&amp;gt;를 직접 수정한다고 하면 다음 커널옵션이 활성화되어 있는지 확인한다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CONFIG_EFI=y&lt;br /&gt;
CONFIG_EFI_STUB=y&lt;br /&gt;
CONFIG_RELOCATABLE=y&lt;br /&gt;
CONFIG_FIRMWARE_EDID=y&lt;br /&gt;
CONFIG_FB_EFI=y&lt;br /&gt;
CONFIG_FRAMEBUFFER_CONSOLE=y&lt;br /&gt;
CONFIG_EFI_VARS=y&lt;br /&gt;
CONFIG_EFI_PARTITION=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
또 한가지 주의할 사항은 UEFI는 커널과 분리된 initramfs를 로드할 수 없다. 따라서 initramfs를 쓰려고 한다면, 커널에 built-in 되어 있어야 한다. &amp;lt;code&amp;gt;genkernel&amp;lt;/code&amp;gt;을 쓰게되면, 커널설정에 기본으로 initramfs를 쓰는 것으로 되어 있으니 이 부분도 반드시 확인해야 하는 부분이 되겠다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
General setup  ---&amp;gt;&lt;br /&gt;
    [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support&lt;br /&gt;
    (/boot/initramfs.cpio) Initramfs source file(s)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
위의 설정 중 두번째 줄의 &amp;lt;code&amp;gt;/boot/initramfs.cpio&amp;lt;/code&amp;gt;는 커널에 built-in 될 initramfs 소스파일이다. 이 소스파일은 반드시 압축되지 않은 CPIO 파일이어야 한다. &amp;lt;code&amp;gt;/boot/initramfs.cpio&amp;lt;/code&amp;gt; 다음과 같이 만든다.&lt;br /&gt;
{{Console|{{Cmd/chroot|genkernel initramfs|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|xzcat /boot/initramfs-genkernel* &amp;gt; /boot/initramfs.cpio|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|file /boot/initramfs.cpio|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/output|/boot/initramfs.cpio: ASCII cpio archive (SVR4 with no CRC)}}&lt;br /&gt;
{{Cmd/chroot|rm /boot/initramfs-genkernel*|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/boot/initramfs.cpio&amp;lt;/code&amp;gt;가 만들어지고 나면, 이제 커널을 빌드하고, 빌드된 커널을 UEFI-펌웨어에 내장된 부팅매니저가 로드할 수 있는 위치(ESP)에 설치한다.&lt;br /&gt;
{{Console|{{Cmd/chroot|genkernel kernel|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|mount LABEL{{=}}efi /boot|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|mkdir -p /boot/efi/gentoo|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|cp arch/x86/boot/bzImage /boot/efi/gentoo/gentoox64.efi|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
이제 &amp;lt;code&amp;gt;efibootmgr&amp;lt;/code&amp;gt;라는 유틸리티로 [젠투 시스템의 UEFI 기반 부팅]을 설정을 해야하는데 한가지 문제가 있다. 본 문서에서 livecd는 BIOS 기반으로 부팅되었고, 따라서 현재 livecd의 커널은 위에서 언급된 &amp;lt;code&amp;gt;CONFIG_EFI_VARS&amp;lt;/code&amp;gt;라고 하는, 즉 EFI 변수를 알고 있지 않다.&lt;br /&gt;
{{Console|{{Cmd/chroot|emerge -av efibootmgr|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|efibootmgr # efivars를 불러 올 수 없다는 메세지를 출력할 것이다.|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
어떻게든 UEFI 기반으로 젠투 시스템을 부팅하여 &amp;lt;code&amp;gt;efibootmgr&amp;lt;/code&amp;gt;가 efivars를 불러 올 수 있기만 하면 된다. 운이 좋게도 이 문제를 해결해 줄 수 있는 EFI-shell 바이너리가 있다. &lt;br /&gt;
&lt;br /&gt;
https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/ShellBinPkg/UefiShell/X64/Shell.efi&lt;br /&gt;
&lt;br /&gt;
위 링크에서 EFI-shell 바이너리를 다운 받고, 적당히 아무 FAT32로 포맷된 UFD의 최상위 위치에 넣고, UEFI-펌웨어에서 EFI-shell를 실행한다. 메인보드마다 UEFI-펌웨어가 달라서 EFI-shell로 실행하는 방법이 다를 것이다. 본 문서를 작성한 사람의 보드에서는 FAT32 미디어의 최상위 위치에 &amp;lt;code&amp;gt;Shellx64.efi&amp;lt;/code&amp;gt;라는 파일만 EFI-shell로 인정(?)한다. 좀 더 우월한(?) 보드는 UEFI-펌웨어에서 [EFI-shell 실행하기]란 메뉴를 선택하면 EFI-shell의 위치를 선택할 수 있는 인터페이스를 제공하기도 한다.&lt;br /&gt;
&lt;br /&gt;
먼저 EFI-shell를 실행하기 전, chroot 환경을 빠져나가야 하는데, 다음을 마무리한다.&lt;br /&gt;
{{Console|&lt;br /&gt;
{{Cmd/chroot|nano -w /etc/fstab|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LABEL=efi       /boot             vfat      noauto,noatime  1 2&lt;br /&gt;
LABEL=swap      none              swap      sw              0 0&lt;br /&gt;
LABEL=gentoo    /                 xfs       defaults        0 1&lt;br /&gt;
LABEL=home      /home             xfs       auto            0 0&lt;br /&gt;
tmpfs           /var/tmp/portage  tmpfs     size=2G         0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Cmd/chroot|emerge syslog-ng vixie-cron xfsprogs dhcpcd|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|rc-update add syslog-ng default|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|rc-update add sshd default|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|exit|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|umount -l /mnt/gentoo/{proc,sys,dev,home,boot}|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|umount -l /mnt/gentoo|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|reboot|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
UEFI-펌웨어로 진입하여 EFI-shell를 실행하고 나면, &amp;lt;code&amp;gt;fs0:&amp;lt;/code&amp;gt;는 EFI-shell 바이너리가 저장된 볼륨이고, 아마도 위에서 빌드한, EFI-stub를 지원하는 커널이 위치한(&amp;lt;code&amp;gt;/dev/sda1&amp;lt;/code&amp;gt;) 볼륨은 &amp;lt;code&amp;gt;fs1:&amp;lt;/code&amp;gt;일 것이다. EFI-shell에서 커널을 로드하여 UEFI 기반으로 젠투 시스템을 부팅해본다.&lt;br /&gt;
{{Console|{{Cmd/output|2.0 Shell&amp;amp;gt; fs1:}}&lt;br /&gt;
{{Cmd/output|fs1:&amp;amp;gt; \efi\gentoo\gentoox64.efi}}}}&lt;br /&gt;
&lt;br /&gt;
커널 로드가 완료되면 커널은 어떤 파티션을 루트로 쓸 것인지 물어본다. 이것은 grub 부트로더가 커널에 전달했던 &amp;lt;code&amp;gt;real_root=&amp;lt;/code&amp;gt;명령부분과 같다. 본 문서는 &amp;lt;code&amp;gt;/dev/sda3&amp;lt;/code&amp;gt;에 설치하였다.&lt;br /&gt;
&lt;br /&gt;
드디어 처음으로 젠투 시스템을 UEFI에 기반해서 부팅하였다. livecd 환경에서 사용할 수 없었던 &amp;lt;code&amp;gt;efibootmgr&amp;lt;/code&amp;gt; 유틸리티는 이제 사용할 수 있다. &lt;br /&gt;
{{Console|{{Cmd|efibootmgr # -v 옵션을 써보면 efibootmgr의 가능성을 확인할 수 있다.|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|efibootmgr -c -g -d /dev/sda -p1 -L&amp;quot;UEFI:Gentoo&amp;quot; -l&amp;quot;\efi\gentoo\gentoox64.efi&amp;quot;|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
위 두번째 명령줄이 UEFI 기반으로 젠투 시스템을 별도의 부트로더 없이 바로 부팅할 수 있게 해준다. &amp;lt;code&amp;gt;efibootmgr&amp;lt;/code&amp;gt;는 UEFI-펌웨어에서 지정하는 boot-order를 OS에서 직접 편집할 수 있는 유틸리티이다.&lt;br /&gt;
&lt;br /&gt;
이것으로 젠투 리눅스를 UEFI에 기반해서 안전하게 부팅할 수 있게 되었다.&lt;br /&gt;
&lt;br /&gt;
한가지 귀찮은 문제가 남았다고 한다면, UEFI를 기반해서 젠투를 부팅할 때, 매번 커널은 어떤 파티션을 루트로 쓸 지 물어보는 것이 있다. 이는 커널옵션(CONFIG_CMDLINE)에 어떤 파티션을 루트로 쓸 지 미리 써두는 것으로 해결할 수 있다.&lt;br /&gt;
{{Console|{{Cmd|blkid # /dev/sda3의 UUID를 적어둔다.|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/output|...}}&lt;br /&gt;
{{Cmd/output|/dev/sda3: LABEL{{=}}&amp;quot;gentoo&amp;quot; UUID{{=}}&amp;quot;467c4aa9-963d-4467-8cd0-d58caaacaff4&amp;quot; TYPE{{=}}&amp;quot;xfs&amp;quot;}}&lt;br /&gt;
{{Cmd/output|...}}&lt;br /&gt;
{{Cmd|genkernel --menuconfig bzImage|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Processor type and features  ---&amp;gt;&lt;br /&gt;
    [*] Built-in kernel command line&lt;br /&gt;
    (root=UUID=467c4aa9-963d-4467-8cd0-d58caaacaff4)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Cmd|cp /usr/src/linux/arch/x86/boot/bzImage /boot/efi/gentoo/gentoox64.efi|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:GentooKRDoc]]&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd&amp;diff=1372</id>
		<title>틀:Cmd</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd&amp;diff=1372"/>
		<updated>2013-04-02T03:18:53Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class{{=}}&amp;quot;prompt&amp;quot; style{{=}}&amp;quot;font-size=12px;&amp;quot;&amp;gt;&amp;lt;span style{{=}}&amp;quot;color:{{{pcolor|#eaeaea}}};font-weight:bold;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;{{{prehost|}}}&amp;lt;/tt&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style{{=}}&amp;quot;color:{{{lcolor|rgb(192,55,41)}}};font-weight:bold;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;{{{host|livecd }}}&amp;lt;/tt&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style{{=}}&amp;quot;color:{{{rcolor|rgb(66,109,251)}}};font-weight:bold;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;{{{pwd|~ }}}{{{hash|# }}}&amp;lt;/tt&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span style{{=}}&amp;quot;color:{{{ccolor|#eaeaea}}};&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;{{{1}}}&amp;lt;/tt&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Cmd|test1}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=Gentoo_on_UEFI-based_computer&amp;diff=1371</id>
		<title>Gentoo on UEFI-based computer</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=Gentoo_on_UEFI-based_computer&amp;diff=1371"/>
		<updated>2013-03-30T02:01:31Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==개요==&lt;br /&gt;
최근, 대부분의 메인보드에는 UEFI(Unified Extensible Firmware Interface)라고 불리는, 기존의 BIOS와는 다른, 펌웨어가 탑재되어 출시된다. UEFI-펌웨어는 직접 OS kernel을 로드할 수 있는 부팅매니저를 포함하고 있다. 따라서, UEFI 기반으로 시스템을 부팅하려고 한다면, 기존의 BIOS 기반으로 제작된 부트로더, 부팅매니저등은 사용할 수 없고, 사용할 필요도 없다. UEFI-펌웨어가 시스템을 부팅하는 구체적인 메커니즘은 다른 페이지를 참고하도록 하고, 여기서는 젠투 리눅스 배포판을 UEFI 기반으로 부팅하기까지 과정을 알아본다. 본 문서는 GRUB이라는 부트로더를 사용할 줄 모르고, UEFI-펌웨어가 탑재된 보드를 사용하는 사람에게 최적(?)의 문서가 될 것이다.&lt;br /&gt;
&lt;br /&gt;
==젠투 리눅스 설치에서 부팅까지==&lt;br /&gt;
아래 설치 과정을 무작정 따라하기 보다, 아웃라인을 잡고 시작하기를 권장한다. 그러면 이 문서에 나온 시나리오를 개인의 취향에 맞게 개선할 수 있을 것이다. 또한 시작에 앞서 overview를 권고함은 이 문서는 진행과정에서 의도적으로 실수하고 있기 때문이다.&lt;br /&gt;
&lt;br /&gt;
먼저 언제나 그렇듯, gentoo livecd와 stage3 tar ball, 최신 portage tar ball을 미러서버에서 다운받고 시작하도록 한다. 시스템 아키텍쳐별로 livecd, stage3이 같은 디렉토리에서 배포되고, portage tar ball은 snapshot이란 디렉토리에서 배포되고 있다.&lt;br /&gt;
&lt;br /&gt;
http://ftp.daum.net/gentoo/releases/&lt;br /&gt;
&lt;br /&gt;
이 문서에서는 Gentoo livecd는 LiveDVD가 아닌 minimal을 사용하였다. 요즘 환경에서 iso를 physical-CD에 굽는 경우는 드물 것이고, 아마도 부팅가능한 USB 플래시 드라이브를 제작하고 싶을 것이다. UNetbootin이라는 툴을 사용하면 iso 이미지를 가지고 간단하게 bootable UFD(USB Flash Drive)를 제작할 수 있다.&lt;br /&gt;
&lt;br /&gt;
http://unetbootin.sourceforge.net/&lt;br /&gt;
&lt;br /&gt;
OSX 환경 사용자는 이 툴을 사용하여 제작된 UFD가 정상적으로 부팅되지 않을 수 있다. 그럴 경우는 다음 처리를 해주어야 한다.&lt;br /&gt;
{{Console|{{Cmd/osx|diskutil list # 주의! USB 디스크 번호 확인}}&lt;br /&gt;
{{Cmd/osx|sudo fdisk -e /dev/rdisk1 # /dev/disk1이 아니다}}&lt;br /&gt;
{{Cmd/osx|p|host=fdisk:&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|pwd=|hash=1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;1: 0B 1023 254  63 - 1023 254  63 [         2 -   18555416] Win95 FAT-32|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd/osx|f 1|host=fdisk:|pwd=|hash=*1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|p|host=fdisk:|pwd=|hash=*1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|*1: 0B 1023 254  63 - 1023 254  63 [         2 -   18555416] Win95 FAT-32|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd/osx|w|host=fdisk:|pwd=|hash=*1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|exit|host=fdisk:&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|pwd=|hash=1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}}}&lt;br /&gt;
&lt;br /&gt;
젠투 livecd로 부팅을 하게 되면 &amp;lt;code&amp;gt;dmesg&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;lspci&amp;lt;/code&amp;gt;및 &amp;lt;code&amp;gt;ls*&amp;lt;/code&amp;gt; 유틸리티를 비롯하여, &lt;br /&gt;
{{Console|{{Cmd|more /proc/cpuinfo}}}}&lt;br /&gt;
등을 통해 시스템의 하드웨어 정보를 얻을 수 있다. 시스템 시간(date)을 설치과정에서 고치려면 가장 처음에 고칠 것을 권장한다.&lt;br /&gt;
{{Console|{{Cmd|date MMDDhhmmYYYY}}}}&lt;br /&gt;
&lt;br /&gt;
Alt+F2 혹은 Alt+방향키 등으로 여러개의 프레임 버퍼를 띄워두고 작업을 진행 할 수 있다.&lt;br /&gt;
&lt;br /&gt;
콘솔작업보다는 ssh 접속을 통한 터미널작업을 추천한다.&lt;br /&gt;
{{Console|{{Cmd|ifconfig}}&lt;br /&gt;
{{Cmd|# ip 주소가 잡혀있지 않은 경우에는 `net-setup' 스크립트로 네트워크를 설정한다.}}&lt;br /&gt;
{{Cmd|# net-setup eth0 &amp;amp;&amp;amp; ifconfig}}&lt;br /&gt;
{{Cmd|# LAN 환경에 dhcp 서버가 있다면 `dhcpcd eth0'을 명령하면 쉽게 ip를 발급받을 수 있다.}}&lt;br /&gt;
{{Cmd|ping -c3 www.gentoo.org}}&lt;br /&gt;
{{Cmd|/etc/init.d/sshd start &amp;amp;&amp;amp; passwd}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
나는 콘솔에서 모든 것을 끝내버리겠다(?)한다면, CapsLock키를 Ctrl키로 매핑하여 사용하는 것이 도움이 될 것이다.&lt;br /&gt;
{{Console|{{Cmd|emacs /etc/conf.d/keymaps}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
keymap=&amp;quot;emacs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Cmd|/etc/init.d/keymaps restart}}}}&lt;br /&gt;
위와 같이 설정하면, CapsLock키를 Ctrl키로 사용할 수 있을 것이다. 참고로 C-a/e, C-f/b, M-f/b, C-t, C-p/n등, 다양한 이맥스 키바인딩은 bash, csh와 같은 표준적인 쉘에서 여전히 유효하다.&lt;br /&gt;
&lt;br /&gt;
다음으로 할 작업은 디스크 편집과정이다. 따라서 데이터 유실과 같은 사항은 각별히 유의하여야 한다. 본 문서에서는 시스템 운용에 두 개의 블록 디스크 장치를 사용하여, 하나는 젠투의 root가 설치되고, 나머지 하나는 &amp;lt;code&amp;gt;/home&amp;lt;/code&amp;gt;에 마운트 될 것이다. 이 때, UEFI 기반에서 젠투를 부팅하려 한다면, 반드시 ESP(EFI System Partition)가 하나 이상의 디스크에 존재해야 한다. 또 반드시 ESP는 파티션 테이블 상에서 첫번째 파티션이어야 한다.&lt;br /&gt;
{{Console|{{Cmd|parted -l}}&lt;br /&gt;
{{Cmd|parted /dev/sda # gentoo root가 설치될 디스크}}&lt;br /&gt;
{{Cmd|mklabel gpt|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart EFI fat32 0% 210m # help 메세지에는 PART-TYPE으로 3가지 중 하나만 쓰라고 했지만, 이는 partition table의 name 컬럼에 불과하다.|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart primary linux-swap 210m 710m|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart primary xfs 710m 100%|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|set 1 boot on # 1st partition을 ESP로 지정. fdisk의 boot flag와는 다르고, gdisk에서의 part-type code `EF00'와 같다.|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|print|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|select /dev/sdb|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mklabel gpt|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart primary xfs 0% 100%|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|print|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|quit|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkfs.vfat -n&amp;quot;efi&amp;quot; -F32 /dev/sda1}}&lt;br /&gt;
{{Cmd|mkswap -L&amp;quot;swap&amp;quot; /dev/sda2 &amp;amp;&amp;amp; swapon LABEL{{=}}swap}}&lt;br /&gt;
{{Cmd|mkfs.xfs -L&amp;quot;gentoo&amp;quot; -f /dev/sda3}} &lt;br /&gt;
{{Cmd|mkfs.xfs -L&amp;quot;home&amp;quot; -f /dev/sdb1 #}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
디스크 파티션 테이블 수정과 각 파티션에 파일시스템까지 올렸다. 이제 젠투 root가 설치될 파티션을 마운트하여 stage3, portage tar ball을 풀고, chroot으로 새 젠투 시스템에 진입한다.&lt;br /&gt;
{{Console|{{Cmd|mount LABEL{{=}}gentoo /mnt/gentoo &amp;amp;&amp;amp; cd /mnt/gentoo}}&lt;br /&gt;
{{Cmd|time tar /mnt/cdrom/xvjf stage3.tar.bz2 &amp;amp;&amp;amp; ls|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|time tar xvjf /mnt/cdrom/portage.tar.bz2 -C./usr/ &amp;amp;&amp;amp; ls|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|mount -t proc /proc /mnt/gentoo/proc|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|mount --rbind /sys /mnt/gentoo/sys|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|mount --rbind /dev /mnt/gentoo/dev|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|mount LABEL{{=}}home /mnt/gentoo/home|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|cp -L /etc/resolv.conf ./etc/|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|chroot ./ /bin/bash|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|env-update &amp;amp;&amp;amp; source /etc/profile|pwd=/&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|export PS1{{=}}&amp;quot;(chroot) $PS1&amp;quot;|pwd=/&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|passwd}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
다음은 커널 컴파일까지 과정이다. UEFI 기반으로 부팅이 되려면 반드시 알맞은 커널 설정을 해주어야 한다.&lt;br /&gt;
{{Console|&lt;br /&gt;
{{Cmd/chroot|eselect profile list}}&lt;br /&gt;
{{Cmd/chroot|eselect profile set &amp;lt;n&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|nano -w /etc/portage/make.conf # make.conf 설정은 개인 취향에 맞게 설정. 본문에서는 다음과 같이 썼다.}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CHOST=&amp;quot;x86_64-pc-linux-gnu&amp;quot;&lt;br /&gt;
CFLAGS=&amp;quot;-O2 -march=native -pipe&amp;quot;&lt;br /&gt;
CXXFLAGS=&amp;quot;${CFLAGS}&amp;quot;&lt;br /&gt;
MAKEOPTS=&amp;quot;-j5&amp;quot;&lt;br /&gt;
LINGUAS=&amp;quot;en ko&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Cmd/chroot|mount -t tmpfs -o size{{=}}2G none /var/tmp/portage}}&lt;br /&gt;
{{Cmd/chroot|emerge -av mirrorselect}}&lt;br /&gt;
{{Cmd/chroot|mirrorselect -o -i &amp;gt;&amp;gt; /etc/portage/make.conf}}&lt;br /&gt;
{{Cmd/chroot|mirrorselect -o -i -r &amp;gt;&amp;gt; /etc/portage/make.conf}}&lt;br /&gt;
{{Cmd/chroot|emerge --sync}}&lt;br /&gt;
{{Cmd/chroot|emerge genkernel gentoo-sources &amp;amp;&amp;amp; cd /usr/src/linux}}&lt;br /&gt;
{{Cmd/chroot|make menuconfig|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
커널 설정에서 다음 작업은 반드시 해야한다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Processor type and features  ---&amp;gt;&lt;br /&gt;
    [*] EFI runtime service support&lt;br /&gt;
    [*]   EFI stub support&lt;br /&gt;
    [*] Build a relocatable kernel&lt;br /&gt;
Device Drivers  ---&amp;gt;&lt;br /&gt;
    Graphics support ---&amp;gt;&lt;br /&gt;
        &amp;lt;*&amp;gt; Support for frame buffer devices  ---&amp;gt;&lt;br /&gt;
            [*]   Enable firmware EDID&lt;br /&gt;
            [*]   EFI-based Framebuffer Support&lt;br /&gt;
        Console display driver support  ---&amp;gt;&lt;br /&gt;
            &amp;lt;*&amp;gt; Framebuffer Console support&lt;br /&gt;
Firmware Drivers  ---&amp;gt;&lt;br /&gt;
    &amp;lt;*&amp;gt; EFI Variable Support via sysfs&lt;br /&gt;
-*- enabler the block layer ---&amp;gt;&lt;br /&gt;
    Partition Types  ---&amp;gt;&lt;br /&gt;
        [*]   EFI GUID Partition support&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
혹은 &amp;lt;code&amp;gt;/usr/src/linux/.config&amp;lt;/code&amp;gt;를 직접 수정한다고 하면 다음 커널옵션이 활성화되어 있는지 확인한다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CONFIG_EFI=y&lt;br /&gt;
CONFIG_EFI_STUB=y&lt;br /&gt;
CONFIG_RELOCATABLE=y&lt;br /&gt;
CONFIG_FIRMWARE_EDID=y&lt;br /&gt;
CONFIG_FB_EFI=y&lt;br /&gt;
CONFIG_FRAMEBUFFER_CONSOLE=y&lt;br /&gt;
CONFIG_EFI_VARS=y&lt;br /&gt;
CONFIG_EFI_PARTITION=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
또 한가지 주의할 사항은 UEFI는 커널과 분리된 initramfs를 로드할 수 없다. 따라서 initramfs를 쓰려고 한다면, 커널에 built-in 되어 있어야 한다. &amp;lt;code&amp;gt;genkernel&amp;lt;/code&amp;gt;을 쓰게되면, 커널설정에 기본으로 initramfs를 쓰는 것으로 되어 있으니 이 부분도 반드시 확인해야 하는 부분이 되겠다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
General setup  ---&amp;gt;&lt;br /&gt;
    [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support&lt;br /&gt;
    (/boot/initramfs.cpio) Initramfs source file(s)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
위의 설정 중 두번째 줄의 &amp;lt;code&amp;gt;/boot/initramfs.cpio&amp;lt;/code&amp;gt;는 커널에 built-in 될 initramfs 소스파일이다. 이 소스파일은 반드시 압축되지 않은 CPIO 파일이어야 한다. &amp;lt;code&amp;gt;/boot/initramfs.cpio&amp;lt;/code&amp;gt; 다음과 같이 만든다.&lt;br /&gt;
{{Console|{{Cmd/chroot|genkernel initramfs|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|xzcat /boot/initramfs-genkernel* &amp;gt; /boot/initramfs.cpio|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|file /boot/initramfs.cpio|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/output|/boot/initramfs.cpio: ASCII cpio archive (SVR4 with no CRC)}}&lt;br /&gt;
{{Cmd/chroot|rm /boot/initramfs-genkernel*|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/boot/initramfs.cpio&amp;lt;/code&amp;gt;가 만들어지고 나면, 이제 커널을 빌드하고, 빌드된 커널을 UEFI-펌웨어에 내장된 부팅매니저가 로드할 수 있는 위치(ESP)에 설치한다.&lt;br /&gt;
{{Console|{{Cmd/chroot|genkernel kernel|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|mount LABEL{{=}}efi /boot|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|mkdir -p /boot/efi/gentoo|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|cp arch/x86/boot/bzImage /boot/efi/gentoo/gentoox64.efi|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
이제 &amp;lt;code&amp;gt;efibootmgr&amp;lt;/code&amp;gt;라는 유틸리티로 [젠투 시스템의 UEFI 기반 부팅]을 설정을 해야하는데 한가지 문제가 있다. 본 문서에서 livecd는 BIOS 기반으로 부팅되었고, 따라서 현재 livecd의 커널은 위에서 언급된 &amp;lt;code&amp;gt;CONFIG_EFI_VARS&amp;lt;/code&amp;gt;라고 하는, 즉 EFI 변수를 알고 있지 않다.&lt;br /&gt;
{{Console|{{Cmd/chroot|emerge -av efibootmgr|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|efibootmgr # efivars를 불러 올 수 없다는 메세지를 출력할 것이다.|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
어떻게든 UEFI 기반으로 젠투 시스템을 부팅하여 &amp;lt;code&amp;gt;efibootmgr&amp;lt;/code&amp;gt;가 efivars를 불러 올 수 있기만 하면 된다. 운이 좋게도 이 문제를 해결해 줄 수 있는 EFI-shell 바이너리가 있다. &lt;br /&gt;
&lt;br /&gt;
https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/ShellBinPkg/UefiShell/X64/Shell.efi&lt;br /&gt;
&lt;br /&gt;
위 링크에서 EFI-shell 바이너리를 다운 받고, 적당히 아무 FAT32로 포맷된 UFD의 최상위 위치에 넣고, UEFI-펌웨어에서 EFI-shell를 실행한다. 메인보드마다 UEFI-펌웨어가 달라서 EFI-shell로 실행하는 방법이 다를 것이다. 본 문서를 작성한 사람의 보드에서는 FAT32 미디어의 최상위 위치에 &amp;lt;code&amp;gt;Shellx64.efi&amp;lt;/code&amp;gt;라는 파일만 EFI-shell로 인정(?)한다. 좀 더 우월한(?) 보드는 UEFI-펌웨어에서 [EFI-shell 실행하기]란 메뉴를 선택하면 EFI-shell의 위치를 선택할 수 있는 인터페이스를 제공하기도 한다.&lt;br /&gt;
&lt;br /&gt;
먼저 EFI-shell를 실행하기 전, chroot 환경을 빠져나가야 하는데, 다음을 마무리한다.&lt;br /&gt;
{{Console|&lt;br /&gt;
{{Cmd/chroot|nano -w /etc/fstab|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LABEL=efi       /boot             vfat      noauto,noatime  1 2&lt;br /&gt;
LABEL=swap      none              swap      sw              0 0&lt;br /&gt;
LABEL=gentoo    /                 xfs       defaults        0 1&lt;br /&gt;
LABEL=home      /home             xfs       auto            0 0&lt;br /&gt;
tmpfs           /var/tmp/portage  tmpfs     size=2G         0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Cmd/chroot|emerge syslog-ng vixie-cron xfsprogs dhcpcd|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|rc-update add syslog-ng default|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|rc-update add sshd default|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|exit|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|umount -l /mnt/gentoo/{proc,sys,dev,home,boot}|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|umount -l /mnt/gentoo|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|reboot|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
UEFI-펌웨어로 진입하여 EFI-shell를 실행하고 나면, &amp;lt;code&amp;gt;fs0:&amp;lt;/code&amp;gt;는 EFI-shell 바이너리가 저장된 볼륨이고, 아마도 위에서 빌드한, EFI-stub를 지원하는 커널이 위치한(&amp;lt;code&amp;gt;/dev/sda1&amp;lt;/code&amp;gt;) 볼륨은 &amp;lt;code&amp;gt;fs1:&amp;lt;/code&amp;gt;일 것이다. EFI-shell에서 커널을 로드하여 UEFI 기반으로 젠투 시스템을 부팅해본다.&lt;br /&gt;
{{Console|{{Cmd/output|2.0 Shell&amp;amp;gt; fs1:}}&lt;br /&gt;
{{Cmd/output|fs1:&amp;amp;gt; \efi\gentoo\gentoox64.efi}}}}&lt;br /&gt;
&lt;br /&gt;
커널 로드가 완료되면 커널은 어떤 파티션을 루트로 쓸 것인지 물어본다. 이것은 grub 부트로더가 커널에 전달했던 &amp;lt;code&amp;gt;real_root=&amp;lt;/code&amp;gt;명령부분과 같다. 본 문서는 &amp;lt;code&amp;gt;/dev/sda3&amp;lt;/code&amp;gt;에 설치하였다.&lt;br /&gt;
&lt;br /&gt;
드디어 처음으로 젠투 시스템을 UEFI에 기반해서 부팅하였다. livecd 환경에서 사용할 수 없었던 &amp;lt;code&amp;gt;efibootmgr&amp;lt;/code&amp;gt; 유틸리티는 이제 사용할 수 있다. &lt;br /&gt;
{{Console|{{Cmd|efibootmgr # -v 옵션을 써보면 efibootmgr의 가능성을 확인할 수 있다.|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|efibootmgr -c -g -d /dev/sda -p1 -L&amp;quot;UEFI:Gentoo&amp;quot; -l&amp;quot;\efi\gentoo\gentoox64.efi&amp;quot;|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
위 두번째 명령줄이 UEFI 기반으로 젠투 시스템을 별도의 부트로더 없이 바로 부팅할 수 있게 해준다. &amp;lt;code&amp;gt;efibootmgr&amp;lt;/code&amp;gt;는 UEFI-펌웨어에서 지정하는 boot-order를 OS에서 직접 편집할 수 있는 유틸리티이다.&lt;br /&gt;
&lt;br /&gt;
이것으로 젠투 리눅스를 UEFI에 기반해서 안전하게 부팅할 수 있게 되었다.&lt;br /&gt;
&lt;br /&gt;
한가지 귀찮은 문제가 남았다고 한다면, UEFI를 기반해서 젠투를 부팅할 때, 매번 커널은 어떤 파티션을 루트로 쓸 지 물어보는 것이 있다. 이는 커널옵션(CONFIG_CMDLINE)에 어떤 파티션을 루트로 쓸 지 미리 써두는 것으로 해결할 수 있다.&lt;br /&gt;
{{Console|{{Cmd|blkid # /dev/sda3의 UUID를 적어둔다.|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/output|...}}&lt;br /&gt;
{{Cmd/output|/dev/sda3: LABEL{{=}}&amp;quot;gentoo&amp;quot; UUID{{=}}&amp;quot;467c4aa9-963d-4467-8cd0-d58caaacaff4&amp;quot; TYPE{{=}}&amp;quot;xfs&amp;quot;}}&lt;br /&gt;
{{Cmd/output|...}}&lt;br /&gt;
{{Cmd|genkernel --menuconfig bzImage|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Processor type and features  ---&amp;gt;&lt;br /&gt;
    [*] Built-in kernel command line&lt;br /&gt;
    (root=UUID=467c4aa9-963d-4467-8cd0-d58caaacaff4)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Cmd|cp /usr/src/linux/arch/x86/boot/bzImage /boot/efi/gentoo/gentoox64.efi|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:GentooKRDoc]]&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=Gentoo_on_UEFI-based_computer&amp;diff=1370</id>
		<title>Gentoo on UEFI-based computer</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=Gentoo_on_UEFI-based_computer&amp;diff=1370"/>
		<updated>2013-03-29T05:57:38Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==개요==&lt;br /&gt;
최근, 대부분의 메인보드에는 UEFI(Unified Extensible Firmware Interface)라고 불리는, 기존의 BIOS와는 다른, 펌웨어가 탑재되어 출시된다. UEFI-펌웨어는 직접 OS kernel을 로드할 수 있는 부팅매니저를 포함하고 있다. 따라서, UEFI 기반으로 시스템을 부팅하려고 한다면, 기존의 BIOS 기반으로 제작된 부트로더, 부팅매니저등은 사용할 수 없고, 사용할 필요도 없다. UEFI-펌웨어가 시스템을 부팅하는 구체적인 메커니즘은 다른 페이지를 참고하도록 하고, 여기서는 젠투 리눅스 배포판을 UEFI 기반으로 부팅하기까지 과정을 알아본다. 본 문서는 GRUB이라는 부트로더를 사용할 줄 모르고, UEFI-펌웨어가 탑재된 보드를 사용하는 사람에게 최적(?)의 문서가 될 것이다.&lt;br /&gt;
&lt;br /&gt;
==젠투 리눅스 설치에서 부팅까지==&lt;br /&gt;
아래 설치 과정을 무작정 따라하기 보다, 아웃라인을 잡고 시작하기를 권장한다. 그러면 이 문서에 나온 시나리오를 개인의 취향에 맞게 개선할 수 있을 것이다. 또한 시작에 앞서 overview를 권고함은 이 문서는 진행과정에서 의도적으로 실수하고 있기 때문이다.&lt;br /&gt;
&lt;br /&gt;
먼저 언제나 그렇듯, gentoo livecd와 stage3 tar ball, 최신 portage tar ball을 미러서버에서 다운받고 시작하도록 한다. 시스템 아키텍쳐별로 livecd, stage3이 같은 디렉토리에서 배포되고, portage tar ball은 snapshot이란 디렉토리에서 배포되고 있다.&lt;br /&gt;
&lt;br /&gt;
http://ftp.daum.net/gentoo/releases/&lt;br /&gt;
&lt;br /&gt;
이 문서에서는 Gentoo livecd는 LiveDVD가 아닌 minimal을 사용하였다. 요즘 환경에서 iso를 physical-CD에 굽는 경우는 드물 것이고, 아마도 부팅가능한 USB 플래시 드라이브를 제작하고 싶을 것이다. UNetbootin이라는 툴을 사용하면 iso 이미지를 가지고 간단하게 bootable UFD(USB Flash Drive)를 제작할 수 있다.&lt;br /&gt;
&lt;br /&gt;
http://unetbootin.sourceforge.net/&lt;br /&gt;
&lt;br /&gt;
OSX 환경 사용자는 이 툴을 사용하여 제작된 UFD가 정상적으로 부팅되지 않을 수 있다. 그럴 경우는 다음 처리를 해주어야 한다.&lt;br /&gt;
{{Console|{{Cmd/osx|diskutil list # 주의! USB 디스크 번호 확인}}&lt;br /&gt;
{{Cmd/osx|sudo fdisk -e /dev/rdisk1 # /dev/disk1이 아니다}}&lt;br /&gt;
{{Cmd/osx|p|host=fdisk:&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|pwd=|hash=1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;1: 0B 1023 254  63 - 1023 254  63 [         2 -   18555416] Win95 FAT-32|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd/osx|f 1|host=fdisk:|pwd=|hash=*1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|p|host=fdisk:|pwd=|hash=*1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|*1: 0B 1023 254  63 - 1023 254  63 [         2 -   18555416] Win95 FAT-32|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd/osx|w|host=fdisk:|pwd=|hash=*1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|exit|host=fdisk:&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|pwd=|hash=1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}}}&lt;br /&gt;
&lt;br /&gt;
젠투 livecd로 부팅을 하게 되면 &amp;lt;code&amp;gt;dmesg&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;lspci&amp;lt;/code&amp;gt;및 &amp;lt;code&amp;gt;ls*&amp;lt;/code&amp;gt; 유틸리티를 비롯하여, &lt;br /&gt;
{{Console|{{Cmd|more /proc/cpuinfo}}}}&lt;br /&gt;
등을 통해 시스템의 하드웨어 정보를 얻을 수 있다. 시스템 시간(date)을 설치과정에서 고치려면 가장 처음에 고칠 것을 권장한다.&lt;br /&gt;
{{Console|{{Cmd|date MMDDhhmmYYYY}}}}&lt;br /&gt;
&lt;br /&gt;
Alt+F2 혹은 Alt+방향키 등으로 여러개의 프레임 버퍼를 띄워두고 작업을 진행 할 수 있다.&lt;br /&gt;
&lt;br /&gt;
콘솔작업보다는 ssh 접속을 통한 터미널작업을 추천한다.&lt;br /&gt;
{{Console|{{Cmd|ifconfig}}&lt;br /&gt;
{{Cmd|# ip 주소가 잡혀있지 않은 경우에는 `net-setup' 스크립트로 네트워크를 설정한다.}}&lt;br /&gt;
{{Cmd|# net-setup eth0 &amp;amp;&amp;amp; ifconfig}}&lt;br /&gt;
{{Cmd|# LAN 환경에 dhcp 서버가 있다면 `dhcpcd eth0'을 명령하면 쉽게 ip를 발급받을 수 있다.}}&lt;br /&gt;
{{Cmd|ping -c3 www.gentoo.org}}&lt;br /&gt;
{{Cmd|/etc/init.d/sshd start &amp;amp;&amp;amp; passwd}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
나는 콘솔에서 모든 것을 끝내버리겠다(?)한다면, CapsLock키를 Ctrl키로 매핑하여 사용하는 것이 도움이 될 것이다.&lt;br /&gt;
{{Console|{{Cmd|emacs /etc/conf.d/keymaps}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
keymap=&amp;quot;emacs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Cmd|/etc/init.d/keymaps restart}}}}&lt;br /&gt;
위와 같이 설정하면, CapsLock키를 Ctrl키로 사용할 수 있을 것이다. 참고로 C-a/e, C-f/b, M-f/b, C-t, C-p/n등, 다양한 이맥스 키바인딩은 bash, csh와 같은 표준적인 쉘에서 여전히 유효하다.&lt;br /&gt;
&lt;br /&gt;
다음으로 할 작업은 디스크 편집과정이다. 따라서 데이터 유실과 같은 사항은 각별히 유의하여야 한다. 본 문서에서는 시스템 운용에 두 개의 블록 디스크 장치를 사용하여, 하나는 젠투의 root가 설치되고, 나머지 하나는 &amp;lt;code&amp;gt;/home&amp;lt;/code&amp;gt;에 마운트 될 것이다. 이 때, UEFI 기반에서 젠투를 부팅하려 한다면, 반드시 ESP(EFI System Partition)가 하나 이상의 디스크에 존재해야 한다. 또 반드시 ESP는 파티션 테이블 상에서 첫번째 파티션이어야 한다.&lt;br /&gt;
{{Console|{{Cmd|parted -l}}&lt;br /&gt;
{{Cmd|parted /dev/sda # gentoo root가 설치될 디스크}}&lt;br /&gt;
{{Cmd|mklabel gpt|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart EFI fat32 0% 210m # help 메세지에는 PART-TYPE으로 3가지 중 하나만 쓰라고 했지만, 이는 partition table의 name 컬럼에 불과하다.|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart primary linux-swap 210m 710m|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart primary xfs 710m 100%|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|set 1 boot on # 1st partition을 ESP로 지정. fdisk의 boot flag와는 다르고, gdisk에서의 part-type code `EF00'와 같다.|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|print|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|select /dev/sdb|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mklabel gpt|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart primary xfs 0% 100%|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|print|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|quit|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkfs.vfat -n&amp;quot;efi&amp;quot; -F32 /dev/sda1}}&lt;br /&gt;
{{Cmd|mkswap -L&amp;quot;swap&amp;quot; /dev/sda2 &amp;amp;&amp;amp; swapon LABEL{{=}}swap}}&lt;br /&gt;
{{Cmd|mkfs.xfs -L&amp;quot;gentoo&amp;quot; -f /dev/sda3}} &lt;br /&gt;
{{Cmd|mkfs.xfs -L&amp;quot;home&amp;quot; -f /dev/sdb1 #}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
디스크 파티션 테이블 수정과 각 파티션에 파일시스템까지 올렸다. 이제 젠투 root가 설치될 파티션을 마운트하여 stage3, portage tar ball을 풀고, chroot으로 새 젠투 시스템에 진입한다.&lt;br /&gt;
{{Console|{{Cmd|mount LABEL{{=}}gentoo /mnt/gentoo &amp;amp;&amp;amp; cd /mnt/gentoo}}&lt;br /&gt;
{{Cmd|time tar /mnt/cdrom/xvjf stage3.tar.bz2 &amp;amp;&amp;amp; ls|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|time tar xvjf /mnt/cdrom/portage.tar.bz2 -C./usr/ &amp;amp;&amp;amp; ls|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|mount -t proc /proc /mnt/gentoo/proc|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|mount --rbind /sys /mnt/gentoo/sys|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|mount --rbind /dev /mnt/gentoo/dev|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|mount LABEL{{=}}home /mnt/gentoo/home|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|cp -L /etc/resolv.conf ./etc/|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|chroot ./ /bin/bash|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|env-update &amp;amp;&amp;amp; source /etc/profile|pwd=/&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|export PS1{{=}}&amp;quot;(chroot) $PS1&amp;quot;|pwd=/&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|passwd}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
다음은 커널 컴파일까지 과정이다. UEFI 기반으로 부팅이 되려면 반드시 알맞은 커널 설정을 해주어야 한다.&lt;br /&gt;
{{Console|&lt;br /&gt;
{{Cmd/chroot|eselect profile list}}&lt;br /&gt;
{{Cmd/chroot|eselect profile set &amp;lt;n&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|nano -w /etc/portage/make.conf # make.conf 설정은 개인 취향에 맞게 설정. 본문에서는 다음과 같이 썼다.}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CHOST=&amp;quot;x86_64-pc-linux-gnu&amp;quot;&lt;br /&gt;
CFLAGS=&amp;quot;-O2 -march=native -pipe&amp;quot;&lt;br /&gt;
CXXFLAGS=&amp;quot;${CFLAGS}&amp;quot;&lt;br /&gt;
MAKEOPTS=&amp;quot;-j5&amp;quot;&lt;br /&gt;
LINGUAS=&amp;quot;en ko&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Cmd/chroot|mount -t tmpfs -o size{{=}}2G none /var/tmp/portage}}&lt;br /&gt;
{{Cmd/chroot|emerge -av mirrorselect}}&lt;br /&gt;
{{Cmd/chroot|mirrorselect -o -i &amp;gt;&amp;gt; /etc/portage/make.conf}}&lt;br /&gt;
{{Cmd/chroot|mirrorselect -o -i -r &amp;gt;&amp;gt; /etc/portage/make.conf}}&lt;br /&gt;
{{Cmd/chroot|emerge --sync}}&lt;br /&gt;
{{Cmd/chroot|emerge genkernel gentoo-sources &amp;amp;&amp;amp; cd /usr/src/linux}}&lt;br /&gt;
{{Cmd/chroot|make menuconfig|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
커널 설정에서 다음 작업은 반드시 해야한다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Processor type and features  ---&amp;gt;&lt;br /&gt;
    [*] EFI runtime service support&lt;br /&gt;
    [*]   EFI stub support&lt;br /&gt;
    [*] Build a relocatable kernel&lt;br /&gt;
Device Drivers  ---&amp;gt;&lt;br /&gt;
    Graphics support ---&amp;gt;&lt;br /&gt;
        &amp;lt;*&amp;gt; Support for frame buffer devices  ---&amp;gt;&lt;br /&gt;
            [*]   Enable firmware EDID&lt;br /&gt;
            [*]   EFI-based Framebuffer Support&lt;br /&gt;
        Console display driver support  ---&amp;gt;&lt;br /&gt;
            &amp;lt;*&amp;gt; Framebuffer Console support&lt;br /&gt;
Firmware Drivers  ---&amp;gt;&lt;br /&gt;
    &amp;lt;*&amp;gt; EFI Variable Support via sysfs&lt;br /&gt;
-*- enabler the block layer ---&amp;gt;&lt;br /&gt;
    Partition Types  ---&amp;gt;&lt;br /&gt;
        [*]   EFI GUID Partition support&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
혹은 &amp;lt;code&amp;gt;/usr/src/linux/.config&amp;lt;/code&amp;gt;를 직접 수정한다고 하면 다음 커널옵션이 활성화되어 있는지 확인한다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CONFIG_EFI=y&lt;br /&gt;
CONFIG_EFI_STUB=y&lt;br /&gt;
CONFIG_RELOCATABLE=y&lt;br /&gt;
CONFIG_FIRMWARE_EDID=y&lt;br /&gt;
CONFIG_FB_EFI=y&lt;br /&gt;
CONFIG_FRAMEBUFFER_CONSOLE=y&lt;br /&gt;
CONFIG_EFI_VARS=y&lt;br /&gt;
CONFIG_EFI_PARTITION=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
또 한가지 주의할 사항은 UEFI는 커널과 분리된 initramfs를 로드할 수 없다. 따라서 initramfs를 쓰려고 한다면, 커널에 built-in 되어 있어야 한다. &amp;lt;code&amp;gt;genkernel&amp;lt;/code&amp;gt;을 쓰게되면, 커널설정에 기본으로 initramfs를 쓰는 것으로 되어 있으니 이 부분도 반드시 확인해야 하는 부분이 되겠다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
General setup  ---&amp;gt;&lt;br /&gt;
    [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support&lt;br /&gt;
    (/boot/initramfs.cpio) Initramfs source file(s)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
위의 설정 중 두번째 줄의 &amp;lt;code&amp;gt;/boot/initramfs.cpio&amp;lt;/code&amp;gt;는 커널에 built-in 될 initramfs 소스파일이다. 이 소스파일은 반드시 압축되지 않은 CPIO 파일이어야 한다. &amp;lt;code&amp;gt;/boot/initramfs.cpio&amp;lt;/code&amp;gt; 다음과 같이 만든다.&lt;br /&gt;
{{Console|{{Cmd/chroot|genkernel initramfs|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|xzcat /boot/initramfs-genkernel* &amp;gt; /boot/initramfs.cpio|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|file /boot/initramfs.cpio|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/output|/boot/initramfs.cpio: ASCII cpio archive (SVR4 with no CRC)}}&lt;br /&gt;
{{Cmd/chroot|rm /boot/initramfs-genkernel*|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/boot/initramfs.cpio&amp;lt;/code&amp;gt;가 만들어지고 나면, 이제 커널을 빌드하고, 빌드된 커널을 UEFI-펌웨어에 내장된 부팅매니저가 로드할 수 있는 위치(ESP)에 설치한다.&lt;br /&gt;
{{Console|{{Cmd/chroot|genkernel kernel|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|mount LABEL{{=}}efi /boot|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|mkdir -p /boot/efi/gentoo|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|cp arch/x86/boot/bzImage /boot/efi/gentoo/gentoox64.efi|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
이제 &amp;lt;code&amp;gt;efibootmgr&amp;lt;/code&amp;gt;라는 유틸리티로 [젠투 시스템의 UEFI 기반 부팅]을 설정을 해야하는데 한가지 문제가 있다. 본 문서에서 livecd는 BIOS 기반으로 부팅되었고, 따라서 현재 livecd의 커널은 위에서 언급된 &amp;lt;code&amp;gt;CONFIG_EFI_VARS&amp;lt;/code&amp;gt;라고 하는, 즉 EFI 변수를 알고 있지 않다.&lt;br /&gt;
{{Console|{{Cmd/chroot|emerge -av efibootmgr|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|efibootmgr -v # efivars를 불러 올 수 없다는 메세지를 출력할 것이다.|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
어떻게든 UEFI 기반으로 젠투 시스템을 부팅하여 &amp;lt;code&amp;gt;efibootmgr&amp;lt;/code&amp;gt;가 efivars를 불러 올 수 있기만 하면 된다. 운이 좋게도 이 문제를 해결해 줄 수 있는 EFI-shell 바이너리가 있다. &lt;br /&gt;
&lt;br /&gt;
https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/ShellBinPkg/UefiShell/X64/Shell.efi&lt;br /&gt;
&lt;br /&gt;
위 링크에서 EFI-shell 바이너리를 다운 받고, 적당히 아무 FAT32로 포맷된 UFD의 최상위 위치에 넣고, UEFI-펌웨어에서 EFI-shell를 실행한다. 메인보드마다 UEFI-펌웨어가 달라서 EFI-shell로 실행하는 방법이 다를 것이다. 본 문서를 작성한 사람의 보드에서는 FAT32 미디어의 최상위 위치에 &amp;lt;code&amp;gt;Shellx64.efi&amp;lt;/code&amp;gt;라는 파일만 EFI-shell로 인정(?)한다. 좀 더 우월한(?) 보드는 UEFI-펌웨어에서 [EFI-shell 실행하기]란 메뉴를 선택하면 EFI-shell의 위치를 선택할 수 있는 인터페이스를 제공하기도 한다.&lt;br /&gt;
&lt;br /&gt;
먼저 EFI-shell를 실행하기 전, chroot 환경을 빠져나가야 하는데, 다음을 마무리한다.&lt;br /&gt;
{{Console|&lt;br /&gt;
{{Cmd/chroot|nano -w /etc/fstab|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LABEL=efi       /boot             vfat      noauto,noatime  1 2&lt;br /&gt;
LABEL=swap      none              swap      sw              0 0&lt;br /&gt;
LABEL=gentoo    /                 xfs       defaults        0 1&lt;br /&gt;
LABEL=home      /home             xfs       auto            0 0&lt;br /&gt;
tmpfs           /var/tmp/portage  tmpfs     size=2G         0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Cmd/chroot|emerge syslog-ng vixie-cron xfsprogs dhcpcd|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|rc-update add syslog-ng default|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|rc-update add sshd default|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|exit|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|umount -l /mnt/gentoo/{proc,sys,dev,home,boot}|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|umount -l /mnt/gentoo|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|reboot|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
UEFI-펌웨어로 진입하여 EFI-shell를 실행하고 나면, &amp;lt;code&amp;gt;fs0:&amp;lt;/code&amp;gt;는 EFI-shell 바이너리가 저장된 볼륨이고, 아마도 위에서 빌드한, EFI-stub를 지원하는 커널이 위치한(&amp;lt;code&amp;gt;/dev/sda1&amp;lt;/code&amp;gt;) 볼륨은 &amp;lt;code&amp;gt;fs1:&amp;lt;/code&amp;gt;일 것이다. EFI-shell에서 커널을 로드하여 UEFI 기반으로 젠투 시스템을 부팅해본다.&lt;br /&gt;
{{Console|{{Cmd/output|2.0 Shell&amp;amp;gt; fs1:}}&lt;br /&gt;
{{Cmd/output|fs1:&amp;amp;gt; \efi\gentoo\gentoox64.efi}}}}&lt;br /&gt;
&lt;br /&gt;
커널 로드가 완료되면 커널은 어떤 파티션을 루트로 쓸 것인지 물어본다. 이것은 grub 부트로더가 커널에 전달했던 &amp;lt;code&amp;gt;real_root=&amp;lt;/code&amp;gt;명령부분과 같다. 본 문서는 &amp;lt;code&amp;gt;/dev/sda3&amp;lt;/code&amp;gt;에 설치하였다.&lt;br /&gt;
&lt;br /&gt;
드디어 처음으로 젠투 시스템을 UEFI에 기반해서 부팅하였다. livecd 환경에서 사용할 수 없었던 &amp;lt;code&amp;gt;efibootmgr&amp;lt;/code&amp;gt; 유틸리티는 이제 사용할 수 있다. &lt;br /&gt;
{{Console|{{Cmd|efibootmgr # -v 옵션을 써보면 efibootmgr의 가능성을 확인할 수 있다.|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|efibootmgr -c -g -d /dev/sda -p1 -L&amp;quot;UEFI:Gentoo&amp;quot; -l&amp;quot;\efi\gentoo\gentoox64.efi&amp;quot;|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
위 두번째 명령줄이 UEFI 기반으로 젠투 시스템을 별도의 부트로더 없이 바로 부팅할 수 있게 해준다. &amp;lt;code&amp;gt;efibootmgr&amp;lt;/code&amp;gt;는 UEFI-펌웨어에서 지정하는 boot-order를 OS에서 직접 편집할 수 있는 유틸리티이다.&lt;br /&gt;
&lt;br /&gt;
이것으로 젠투 리눅스를 UEFI에 기반해서 부팅할 수 있게 되었다.&lt;br /&gt;
&lt;br /&gt;
한가지 귀찮은 문제가 남았다고 한다면, UEFI를 기반해서 젠투를 부팅할 때, 매번 커널은 어떤 파티션을 루트로 쓸 지 물어보는 것이 있다. 이는 커널옵션(CONFIG_CMDLINE)에 어떤 파티션을 루트로 쓸 지 미리 써두는 것으로 해결할 수 있다.&lt;br /&gt;
{{Console|{{Cmd|blkid # /dev/sda3의 UUID를 적어둔다.|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/output|...}}&lt;br /&gt;
{{Cmd/output|/dev/sda3: LABEL{{=}}&amp;quot;gentoo&amp;quot; UUID{{=}}&amp;quot;467c4aa9-963d-4467-8cd0-d58caaacaff4&amp;quot; TYPE{{=}}&amp;quot;xfs&amp;quot;}}&lt;br /&gt;
{{Cmd/output|...}}&lt;br /&gt;
{{Cmd|genkernel --menuconfig bzImage|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Processor type and features  ---&amp;gt;&lt;br /&gt;
    [*] Built-in kernel command line&lt;br /&gt;
    (root=UUID=467c4aa9-963d-4467-8cd0-d58caaacaff4)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Cmd|cp /usr/src/linux/arch/x86/boot/bzImage /boot/efi/gentoo/gentoox64.efi|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:GentooKRDoc]]&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=Gentoo_on_UEFI-based_computer&amp;diff=1369</id>
		<title>Gentoo on UEFI-based computer</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=Gentoo_on_UEFI-based_computer&amp;diff=1369"/>
		<updated>2013-03-29T05:40:57Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==개요==&lt;br /&gt;
최근, 대부분의 메인보드에는 UEFI(Unified Extensible Firmware Interface)라고 불리는, 기존의 BIOS와는 다른, 펌웨어가 탑재되어 출시된다. UEFI-펌웨어는 직접 OS kernel을 로드할 수 있는 부팅매니저를 포함하고 있다. 따라서, UEFI 기반으로 시스템을 부팅하려고 한다면, 기존의 BIOS 기반으로 제작된 부트로더, 부팅매니저등은 사용할 수 없고, 사용할 필요도 없다. UEFI-펌웨어가 시스템을 부팅하는 구체적인 메커니즘은 다른 페이지를 참고하도록 하고, 여기서는 젠투 리눅스 배포판을 UEFI 기반으로 부팅하기까지 과정을 알아본다. 본 문서는 GRUB이라는 부트로더를 사용할 줄 모르고, UEFI-펌웨어가 탑재된 보드를 사용하는 사람에게 최적(?)의 문서가 될 것이다.&lt;br /&gt;
&lt;br /&gt;
==젠투 리눅스 설치에서 부팅까지==&lt;br /&gt;
아래 설치 과정을 무작정 따라하기 보다, 아웃라인을 잡고 시작하기를 권장한다. 그러면 이 문서에 나온 시나리오를 개인의 취향에 맞게 개선할 수 있을 것이다. 또한 시작에 앞서 overview를 권고함은 이 문서는 진행과정에서 의도적으로 실수하고 있기 때문이다.&lt;br /&gt;
&lt;br /&gt;
먼저 언제나 그렇듯, gentoo livecd와 stage3 tar ball, 최신 portage tar ball을 미러서버에서 다운받고 시작하도록 한다. 시스템 아키텍쳐별로 livecd, stage3이 같은 디렉토리에서 배포되고, portage tar ball은 snapshot이란 디렉토리에서 배포되고 있다.&lt;br /&gt;
&lt;br /&gt;
http://ftp.daum.net/gentoo/releases/&lt;br /&gt;
&lt;br /&gt;
이 문서에서는 Gentoo livecd는 LiveDVD가 아닌 minimal을 사용하였다. 요즘 환경에서 iso를 physical-CD에 굽는 경우는 드물 것이고, 아마도 부팅가능한 USB 플래시 드라이브를 제작하고 싶을 것이다. UNetbootin이라는 툴을 사용하면 iso 이미지를 가지고 간단하게 bootable UFD(USB Flash Drive)를 제작할 수 있다.&lt;br /&gt;
&lt;br /&gt;
http://unetbootin.sourceforge.net/&lt;br /&gt;
&lt;br /&gt;
OSX 환경 사용자는 이 툴을 사용하여도, 제작된 UFD가 정상적으로 부팅되지 않을 수 있다. 그럴 경우는 다음 처리를 해주어야 한다.&lt;br /&gt;
{{Console|{{Cmd/osx|diskutil list # 주의! USB 디스크 번호 확인}}&lt;br /&gt;
{{Cmd/osx|sudo fdisk -e /dev/rdisk1 # /dev/disk1이 아니다}}&lt;br /&gt;
{{Cmd/osx|p|host=fdisk:&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|pwd=|hash=1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;1: 0B 1023 254  63 - 1023 254  63 [         2 -   18555416] Win95 FAT-32|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd/osx|f 1|host=fdisk:|pwd=|hash=*1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|p|host=fdisk:|pwd=|hash=*1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|*1: 0B 1023 254  63 - 1023 254  63 [         2 -   18555416] Win95 FAT-32|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd/osx|w|host=fdisk:|pwd=|hash=*1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|exit|host=fdisk:&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|pwd=|hash=1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}}}&lt;br /&gt;
&lt;br /&gt;
젠투 livecd로 부팅을 하게 되면 &amp;lt;code&amp;gt;dmesg&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;lspci&amp;lt;/code&amp;gt;및 &amp;lt;code&amp;gt;ls*&amp;lt;/code&amp;gt; 유틸리티를 비롯하여, &lt;br /&gt;
{{Console|{{Cmd|more /proc/cpuinfo}}}}&lt;br /&gt;
등을 통해 시스템의 하드웨어 정보를 얻을 수 있다. 시스템 시간(date)을 설치과정에서 고치려면 가장 처음에 고칠 것을 권장한다.&lt;br /&gt;
{{Console|{{Cmd|date MMDDhhmmYYYY}}}}&lt;br /&gt;
&lt;br /&gt;
Alt+F2 혹은 Alt+방향키 등으로 여러개의 프레임 버퍼를 띄워두고 작업을 진행 할 수 있다.&lt;br /&gt;
&lt;br /&gt;
콘솔작업보다는 ssh 접속을 통한 터미널작업을 추천한다.&lt;br /&gt;
{{Console|{{Cmd|ifconfig}}&lt;br /&gt;
{{Cmd|# ip 주소가 잡혀있지 않은 경우에는 `net-setup' 스크립트로 네트워크를 설정한다.}}&lt;br /&gt;
{{Cmd|# net-setup eth0 &amp;amp;&amp;amp; ifconfig}}&lt;br /&gt;
{{Cmd|# LAN 환경에 dhcp 서버가 있다면 `dhcpcd eth0'을 명령하면 쉽게 ip를 발급받을 수 있다.}}&lt;br /&gt;
{{Cmd|ping -c3 www.gentoo.org}}&lt;br /&gt;
{{Cmd|/etc/init.d/sshd start &amp;amp;&amp;amp; passwd}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
나는 콘솔에서 모든 것을 끝내버리겠다(?)한다면, CapsLock키를 Ctrl키로 매핑하여 사용하는 것이 도움이 될 것이다.&lt;br /&gt;
{{Console|{{Cmd|emacs /etc/conf.d/keymaps}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
keymap=&amp;quot;emacs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Cmd|/etc/init.d/keymaps restart}}}}&lt;br /&gt;
위와 같이 설정하면, CapsLock키를 Ctrl키로 사용할 수 있을 것이다. 참고로 C-a/e, C-f/b, M-f/b, C-t, C-p/n등, 다양한 이맥스 키바인딩은 bash, csh와 같은 표준적인 쉘에서 여전히 유효하다.&lt;br /&gt;
&lt;br /&gt;
다음으로 할 작업은 디스크 편집과정이다. 따라서 데이터 유실과 같은 사항은 각별히 유의하여야 한다. 본 문서에서는 시스템 운용에 두 개의 블록 디스크 장치를 사용하여, 하나는 젠투의 root가 설치되고, 나머지 하나는 &amp;lt;code&amp;gt;/home&amp;lt;/code&amp;gt;에 마운트 될 것이다. 이 때, UEFI 기반에서 젠투를 부팅하려 한다면, 반드시 ESP(EFI System Partition)가 하나 이상의 디스크에 존재해야 한다. 또 반드시 ESP는 파티션 테이블 상에서 첫번째 파티션이어야 한다.&lt;br /&gt;
{{Console|{{Cmd|parted -l}}&lt;br /&gt;
{{Cmd|parted /dev/sda # gentoo root가 설치될 디스크}}&lt;br /&gt;
{{Cmd|mklabel gpt|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart EFI fat32 0% 210m # help 메세지에는 PART-TYPE으로 3가지 중 하나만 쓰라고 했지만, 이는 partition table의 name 컬럼에 불과하다.|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart primary linux-swap 210m 710m|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart primary xfs 710m 100%|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|set 1 boot on # 1st partition을 ESP로 지정. fdisk의 boot flag와는 다르고, gdisk에서의 part-type code `EF00'와 같다.|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|print|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|select /dev/sdb|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mklabel gpt|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart primary xfs 0% 100%|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|print|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|quit|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkfs.vfat -n&amp;quot;efi&amp;quot; -F32 /dev/sda1}}&lt;br /&gt;
{{Cmd|mkswap -L&amp;quot;swap&amp;quot; /dev/sda2 &amp;amp;&amp;amp; swapon LABEL{{=}}swap}}&lt;br /&gt;
{{Cmd|mkfs.xfs -L&amp;quot;gentoo&amp;quot; -f /dev/sda3}} &lt;br /&gt;
{{Cmd|mkfs.xfs -L&amp;quot;home&amp;quot; -f /dev/sdb1 #}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
디스크 파티션 테이블 수정과 각 파티션에 파일시스템까지 올렸다. 이제 젠투 root가 설치될 파티션을 마운트하여 stage3, portage tar ball을 풀고, chroot으로 새 젠투 시스템에 진입한다.&lt;br /&gt;
{{Console|{{Cmd|mount LABEL{{=}}gentoo /mnt/gentoo &amp;amp;&amp;amp; cd /mnt/gentoo}}&lt;br /&gt;
{{Cmd|time tar /mnt/cdrom/xvjf stage3.tar.bz2 &amp;amp;&amp;amp; ls|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|time tar xvjf /mnt/cdrom/portage.tar.bz2 -C./usr/ &amp;amp;&amp;amp; ls|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|mount -t proc /proc /mnt/gentoo/proc|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|mount --rbind /sys /mnt/gentoo/sys|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|mount --rbind /dev /mnt/gentoo/dev|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|mount LABEL{{=}}home /mnt/gentoo/home|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|cp -L /etc/resolv.conf ./etc/|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|chroot ./ /bin/bash|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|env-update &amp;amp;&amp;amp; source /etc/profile|pwd=/&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|export PS1{{=}}&amp;quot;(chroot) $PS1&amp;quot;|pwd=/&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|passwd}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
다음은 커널 컴파일까지 과정이다. UEFI 기반으로 부팅이 되려면 반드시 알맞은 커널 설정을 해주어야 한다.&lt;br /&gt;
{{Console|&lt;br /&gt;
{{Cmd/chroot|eselect profile list}}&lt;br /&gt;
{{Cmd/chroot|eselect profile set &amp;lt;n&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|nano -w /etc/portage/make.conf # make.conf 설정은 개인 취향에 맞게 설정. 본문에서는 다음과 같이 썼다.}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CHOST=&amp;quot;x86_64-pc-linux-gnu&amp;quot;&lt;br /&gt;
CFLAGS=&amp;quot;-O2 -march=native -pipe&amp;quot;&lt;br /&gt;
CXXFLAGS=&amp;quot;${CFLAGS}&amp;quot;&lt;br /&gt;
MAKEOPTS=&amp;quot;-j5&amp;quot;&lt;br /&gt;
LINGUAS=&amp;quot;en ko&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Cmd/chroot|mount -t tmpfs -o size{{=}}2G none /var/tmp/portage}}&lt;br /&gt;
{{Cmd/chroot|emerge -av mirrorselect}}&lt;br /&gt;
{{Cmd/chroot|mirrorselect -o -i &amp;gt;&amp;gt; /etc/portage/make.conf}}&lt;br /&gt;
{{Cmd/chroot|mirrorselect -o -i -r &amp;gt;&amp;gt; /etc/portage/make.conf}}&lt;br /&gt;
{{Cmd/chroot|emerge --sync}}&lt;br /&gt;
{{Cmd/chroot|emerge genkernel gentoo-sources &amp;amp;&amp;amp; cd /usr/src/linux}}&lt;br /&gt;
{{Cmd/chroot|make menuconfig|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
커널 설정에서 다음 작업은 반드시 해야한다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Processor type and features  ---&amp;gt;&lt;br /&gt;
    [*] EFI runtime service support&lt;br /&gt;
    [*]   EFI stub support&lt;br /&gt;
    [*] Build a relocatable kernel&lt;br /&gt;
Device Drivers  ---&amp;gt;&lt;br /&gt;
    Graphics support ---&amp;gt;&lt;br /&gt;
        &amp;lt;*&amp;gt; Support for frame buffer devices  ---&amp;gt;&lt;br /&gt;
            [*]   Enable firmware EDID&lt;br /&gt;
            [*]   EFI-based Framebuffer Support&lt;br /&gt;
        Console display driver support  ---&amp;gt;&lt;br /&gt;
            &amp;lt;*&amp;gt; Framebuffer Console support&lt;br /&gt;
Firmware Drivers  ---&amp;gt;&lt;br /&gt;
    &amp;lt;*&amp;gt; EFI Variable Support via sysfs&lt;br /&gt;
-*- enabler the block layer ---&amp;gt;&lt;br /&gt;
    Partition Types  ---&amp;gt;&lt;br /&gt;
        [*]   EFI GUID Partition support&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
혹은 &amp;lt;code&amp;gt;/usr/src/linux/.config&amp;lt;/code&amp;gt;를 직접 수정한다고 하면 다음 커널옵션이 활성화되어 있는지 확인한다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CONFIG_EFI=y&lt;br /&gt;
CONFIG_EFI_STUB=y&lt;br /&gt;
CONFIG_RELOCATABLE=y&lt;br /&gt;
CONFIG_FIRMWARE_EDID=y&lt;br /&gt;
CONFIG_FB_EFI=y&lt;br /&gt;
CONFIG_FRAMEBUFFER_CONSOLE=y&lt;br /&gt;
CONFIG_EFI_VARS=y&lt;br /&gt;
CONFIG_EFI_PARTITION=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
또 한가지 주의할 사항은 UEFI는 커널과 분리된 initramfs를 로드할 수 없다. 따라서 initramfs를 쓰려고 한다면, 커널에 built-in 되어 있어야 한다. &amp;lt;code&amp;gt;genkernel&amp;lt;/code&amp;gt;을 쓰게되면, 커널설정에 기본으로 initramfs를 쓰는 것으로 되어 있으니 이 부분도 반드시 확인해야 하는 부분이 되겠다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
General setup  ---&amp;gt;&lt;br /&gt;
    [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support&lt;br /&gt;
    (/boot/initramfs.cpio) Initramfs source file(s)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
위의 설정 중 두번째 줄의 &amp;lt;code&amp;gt;/boot/initramfs.cpio&amp;lt;/code&amp;gt;는 커널에 built-in 될 initramfs 소스파일이다. 이 소스파일은 반드시 압축되지 않은 CPIO 파일이어야 한다. &amp;lt;code&amp;gt;/boot/initramfs.cpio&amp;lt;/code&amp;gt; 다음과 같이 만든다.&lt;br /&gt;
{{Console|{{Cmd/chroot|genkernel initramfs|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|xzcat /boot/initramfs-genkernel* &amp;gt; /boot/initramfs.cpio|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|file /boot/initramfs.cpio|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/output|/boot/initramfs.cpio: ASCII cpio archive (SVR4 with no CRC)}}&lt;br /&gt;
{{Cmd/chroot|rm /boot/initramfs-genkernel*|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/boot/initramfs.cpio&amp;lt;/code&amp;gt;가 만들어지고 나면, 이제 커널을 빌드하고, 빌드된 커널을 UEFI-펌웨어에 내장된 부팅매니저가 로드할 수 있는 위치(ESP)에 설치한다.&lt;br /&gt;
{{Console|{{Cmd/chroot|genkernel kernel|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|mount LABEL{{=}}efi /boot|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|mkdir -p /boot/efi/gentoo|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|cp arch/x86/boot/bzImage /boot/efi/gentoo/gentoox64.efi|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
이제 &amp;lt;code&amp;gt;efibootmgr&amp;lt;/code&amp;gt;라는 유틸리티로 [젠투 시스템의 UEFI 기반 부팅]을 설정을 해야하는데 한가지 문제가 있다. 본 문서에서 livecd는 BIOS 기반으로 부팅되었고, 따라서 현재 livecd의 커널은 위에서 언급된 &amp;lt;code&amp;gt;CONFIG_EFI_VARS&amp;lt;/code&amp;gt;라고 하는, 즉 EFI 변수를 알고 있지 않다.&lt;br /&gt;
{{Console|{{Cmd/chroot|emerge -av efibootmgr|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|efibootmgr -v # efivars를 불러 올 수 없다는 메세지를 출력할 것이다.|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
어떻게든 UEFI 기반으로 젠투 시스템을 부팅하여 &amp;lt;code&amp;gt;efibootmgr&amp;lt;/code&amp;gt;가 efivars를 불러 올 수 있기만 하면 된다. 운이 좋게도 이 문제를 해결해 줄 수 있는 EFI-shell 바이너리가 있다. &lt;br /&gt;
&lt;br /&gt;
https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/ShellBinPkg/UefiShell/X64/Shell.efi&lt;br /&gt;
&lt;br /&gt;
위 링크에서 EFI-shell 바이너리를 다운 받고, 적당히 아무 FAT32로 포맷된 UFD의 최상위 위치에 넣고, UEFI-펌웨어에서 EFI-shell를 실행한다. 메인보드마다 UEFI-펌웨어가 달라서 EFI-shell로 실행하는 방법이 다를 것이다. 본 문서를 작성한 사람의 보드에서는 FAT32 미디어의 최상위 위치에 &amp;lt;code&amp;gt;Shellx64.efi&amp;lt;/code&amp;gt;라는 파일만 EFI-shell로 인정(?)한다. 좀 더 우월한(?) 보드는 UEFI-펌웨어에서 [EFI-shell 실행하기]란 메뉴를 선택하면 EFI-shell의 위치를 선택할 수 있는 인터페이스를 제공하기도 한다.&lt;br /&gt;
&lt;br /&gt;
먼저 EFI-shell를 실행하기 전, chroot 환경을 빠져나가야 하는데, 다음을 마무리한다.&lt;br /&gt;
{{Console|&lt;br /&gt;
{{Cmd/chroot|nano -w /etc/fstab|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LABEL=efi       /boot             vfat      noauto,noatime  1 2&lt;br /&gt;
LABEL=swap      none              swap      sw              0 0&lt;br /&gt;
LABEL=gentoo    /                 xfs       defaults        0 1&lt;br /&gt;
LABEL=home      /home             xfs       auto            0 0&lt;br /&gt;
tmpfs           /var/tmp/portage  tmpfs     size=2G         0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Cmd/chroot|emerge syslog-ng vixie-cron xfsprogs dhcpcd|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|rc-update add syslog-ng default|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|rc-update add sshd default|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|exit|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|umount -l /mnt/gentoo/{proc,sys,dev,home,boot}|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|umount -l /mnt/gentoo|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|reboot|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
UEFI-펌웨어로 진입하여 EFI-shell를 실행하고 나면, &amp;lt;code&amp;gt;fs0:&amp;lt;/code&amp;gt;는 EFI-shell 바이너리가 저장된 볼륨이고, 아마도 위에서 빌드한, EFI-stub를 지원하는 커널이 위치한(&amp;lt;code&amp;gt;/dev/sda1&amp;lt;/code&amp;gt;) 볼륨은 &amp;lt;code&amp;gt;fs1:&amp;lt;/code&amp;gt;일 것이다. EFI-shell에서 커널을 로드하여 UEFI 기반으로 젠투 시스템을 부팅해본다.&lt;br /&gt;
{{Console|{{Cmd/output|2.0 Shell&amp;amp;gt; fs1:}}&lt;br /&gt;
{{Cmd/output|fs1:&amp;amp;gt; \efi\gentoo\gentoox64.efi}}}}&lt;br /&gt;
&lt;br /&gt;
커널 로드가 완료되면 커널은 어떤 파티션을 루트로 쓸 것인지 물어본다. 이것은 grub 부트로더가 커널에 전달했던 &amp;lt;code&amp;gt;real_root=&amp;lt;/code&amp;gt;명령부분과 같다. 본 문서는 &amp;lt;code&amp;gt;/dev/sda3&amp;lt;/code&amp;gt;에 설치하였다.&lt;br /&gt;
&lt;br /&gt;
드디어 처음으로 젠투 시스템을 UEFI에 기반해서 부팅하였다. livecd 환경에서 사용할 수 없었던 &amp;lt;code&amp;gt;efibootmgr&amp;lt;/code&amp;gt; 유틸리티는 이제 사용할 수 있다. &lt;br /&gt;
{{Console|{{Cmd|efibootmgr # -v 옵션을 써보면 efibootmgr의 가능성을 확인할 수 있다.|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|efibootmgr -c -g -d /dev/sda -p1 -L&amp;quot;UEFI:Gentoo&amp;quot; -l&amp;quot;\efi\gentoo\gentoox64.efi&amp;quot;|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
위 두번째 명령줄이 UEFI 기반으로 젠투 시스템을 별도의 부트로더 없이 바로 부팅할 수 있게 해준다. &amp;lt;code&amp;gt;efibootmgr&amp;lt;/code&amp;gt;는 UEFI-펌웨어에서 지정하는 boot-order를 OS에서 직접 편집할 수 있는 유틸리티이다.&lt;br /&gt;
&lt;br /&gt;
이것으로 젠투 리눅스를 UEFI에 기반해서 부팅할 수 있게 되었다.&lt;br /&gt;
&lt;br /&gt;
한가지 귀찮은 문제가 남았다고 한다면, UEFI를 기반해서 젠투를 부팅할 때, 매번 커널은 어떤 파티션을 루트로 쓸 지 물어보는 것이 있다. 이는 커널옵션(CONFIG_CMDLINE)에 어떤 파티션을 루트로 쓸 지 미리 써두는 것으로 해결할 수 있다.&lt;br /&gt;
{{Console|{{Cmd|blkid # /dev/sda3의 UUID를 적어둔다.|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/output|...}}&lt;br /&gt;
{{Cmd/output|/dev/sda3: LABEL{{=}}&amp;quot;gentoo&amp;quot; UUID{{=}}&amp;quot;467c4aa9-963d-4467-8cd0-d58caaacaff4&amp;quot; TYPE{{=}}&amp;quot;xfs&amp;quot;}}&lt;br /&gt;
{{Cmd/output|...}}&lt;br /&gt;
{{Cmd|genkernel --menuconfig bzImage|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Processor type and features  ---&amp;gt;&lt;br /&gt;
    [*] Built-in kernel command line&lt;br /&gt;
    (root=UUID=467c4aa9-963d-4467-8cd0-d58caaacaff4)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Cmd|cp /usr/src/linux/arch/x86/boot/bzImage /boot/efi/gentoo/gentoox64.efi|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:GentooKRDoc]]&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=Gentoo_on_UEFI-based_computer&amp;diff=1368</id>
		<title>Gentoo on UEFI-based computer</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=Gentoo_on_UEFI-based_computer&amp;diff=1368"/>
		<updated>2013-03-29T05:36:00Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==개요==&lt;br /&gt;
최근, 대부분의 메인보드에는 UEFI(Unified Extensible Firmware Interface)라고 불리는, 기존의 BIOS와는 다른, 펌웨어가 탑재되어 출시된다. UEFI-펌웨어는 직접 OS kernel을 로드할 수 있는 부팅매니저를 포함하고 있다. 따라서, UEFI 기반으로 시스템을 부팅하려고 한다면, 기존의 BIOS 기반으로 제작된 부트로더, 부팅매니저등은 사용할 수 없고, 사용할 필요도 없다. UEFI-펌웨어가 시스템을 부팅하는 구체적인 메커니즘은 다른 페이지를 참고하도록 하고, 여기서는 젠투 리눅스 배포판을 UEFI 기반으로 부팅하기까지 과정을 알아본다. 본 문서는 GRUB이라는 부트로더를 사용할 줄 모르고, UEFI-펌웨어가 탑재된 보드를 사용하는 사람에게 최적(?)의 문서가 될 것이다.&lt;br /&gt;
&lt;br /&gt;
==젠투 리눅스 설치에서 부팅까지==&lt;br /&gt;
아래 설치 과정을 무작정 따라하기 보다, 아웃라인을 잡고 시작하기를 권장한다. 그러면 이 문서에 나온 시나리오를 개인의 취향에 맞게 개선할 수 있을 것이다. 또한 시작에 앞서 overview를 권고함은 이 문서는 진행과정에서 의도적으로 실수하고 있기 때문이다.&lt;br /&gt;
&lt;br /&gt;
먼저 언제나 그렇듯, gentoo livecd와 stage3 tar ball, 최신 portage tar ball을 미러서버에서 다운받고 시작하도록 한다. 시스템 아키텍쳐별로 livecd, stage3이 같은 디렉토리에서 배포되고, portage tar ball은 snapshot이란 디렉토리에서 배포되고 있다.&lt;br /&gt;
&lt;br /&gt;
http://ftp.daum.net/gentoo/releases/&lt;br /&gt;
&lt;br /&gt;
이 문서에서는 Gentoo livecd는 LiveDVD가 아닌 minimal을 사용하였다. 요즘 환경에서 iso를 physical-CD에 굽는 경우는 드물 것이고, 아마도 부팅가능한 USB 플래시 드라이브를 제작하고 싶을 것이다. UNetbootin이라는 툴을 사용하면 iso 이미지를 가지고 간단하게 bootable UFD(USB Flash Drive)를 제작할 수 있다.&lt;br /&gt;
&lt;br /&gt;
http://unetbootin.sourceforge.net/&lt;br /&gt;
&lt;br /&gt;
OSX 환경 사용자는 이 툴을 사용하여도, 제작된 UFD가 정상적으로 부팅되지 않을 수 있다. 그럴 경우는 다음 처리를 해주어야 한다.&lt;br /&gt;
{{Console|{{Cmd/osx|diskutil list # 주의! USB 디스크 번호 확인}}&lt;br /&gt;
{{Cmd/osx|sudo fdisk -e /dev/rdisk1 # /dev/disk1이 아니다}}&lt;br /&gt;
{{Cmd/osx|p|host=fdisk:&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|pwd=|hash=1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;1: 0B 1023 254  63 - 1023 254  63 [         2 -   18555416] Win95 FAT-32|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd/osx|f 1|host=fdisk:|pwd=|hash=*1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|p|host=fdisk:|pwd=|hash=*1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|*1: 0B 1023 254  63 - 1023 254  63 [         2 -   18555416] Win95 FAT-32|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd/osx|w|host=fdisk:|pwd=|hash=*1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|exit|host=fdisk:&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|pwd=|hash=1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}}}&lt;br /&gt;
&lt;br /&gt;
젠투 livecd로 부팅을 하게 되면 &amp;lt;code&amp;gt;dmesg&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;lspci&amp;lt;/code&amp;gt;및 &amp;lt;code&amp;gt;ls*&amp;lt;/code&amp;gt; 유틸리티를 비롯하여, &lt;br /&gt;
{{Console|{{Cmd|more /proc/cpuinfo}}}}&lt;br /&gt;
등을 통해 시스템의 하드웨어 정보를 얻을 수 있다. 시스템 시간(date)을 설치과정에서 고치려면 가장 처음에 고칠 것을 권장한다.&lt;br /&gt;
{{Console|{{Cmd|date MMDDhhmmYYYY}}}}&lt;br /&gt;
&lt;br /&gt;
Alt+F2 혹은 Alt+방향키 등으로 여러개의 프레임 버퍼를 띄워두고 작업을 진행 할 수 있다.&lt;br /&gt;
&lt;br /&gt;
콘솔작업보다는 ssh 접속을 통한 터미널작업을 추천한다.&lt;br /&gt;
{{Console|{{Cmd|ifconfig}}&lt;br /&gt;
{{Cmd|# ip 주소가 잡혀있지 않은 경우에는 `net-setup' 스크립트로 네트워크를 설정한다.}}&lt;br /&gt;
{{Cmd|# net-setup eth0 &amp;amp;&amp;amp; ifconfig}}&lt;br /&gt;
{{Cmd|# LAN 환경에 dhcp 서버가 있다면 `dhcpcd eth0'을 명령하면 쉽게 ip를 발급받을 수 있다.}}&lt;br /&gt;
{{Cmd|ping -c3 www.gentoo.org}}&lt;br /&gt;
{{Cmd|/etc/init.d/sshd start &amp;amp;&amp;amp; passwd}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
나는 콘솔에서 모든 것을 끝내버리겠다(?)한다면, CapsLock키를 Ctrl키로 매핑하여 사용하는 것이 도움이 될 것이다.&lt;br /&gt;
{{Console|{{Cmd|emacs /etc/conf.d/keymaps}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
keymap=&amp;quot;emacs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Cmd|/etc/init.d/keymaps restart}}}}&lt;br /&gt;
위와 같이 설정하면, CapsLock키를 Ctrl키로 사용할 수 있을 것이다. 참고로 C-a/e, C-f/b, M-f/b, C-t, C-p/n등, 다양한 이맥스 키바인딩은 bash, csh와 같은 표준적인 쉘에서 여전히 유효하다.&lt;br /&gt;
&lt;br /&gt;
다음으로 할 작업은 디스크 편집과정이다. 따라서 데이터 유실과 같은 사항은 각별히 유의하여야 한다. 본 문서에서는 시스템 운용에 두 개의 블록 디스크 장치를 사용하여, 하나는 젠투의 root가 설치되고, 나머지 하나는 &amp;lt;code&amp;gt;/home&amp;lt;/code&amp;gt;에 마운트 될 것이다. 이 때, UEFI 기반에서 젠투를 부팅하려 한다면, 반드시 ESP(EFI System Partition)가 하나 이상의 디스크에 존재해야 한다. 또 반드시 ESP는 파티션 테이블 상에서 첫번째 파티션이어야 한다.&lt;br /&gt;
{{Console|{{Cmd|parted -l}}&lt;br /&gt;
{{Cmd|parted /dev/sda # gentoo root가 설치될 디스크}}&lt;br /&gt;
{{Cmd|mklabel gpt|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart EFI fat32 0% 210m # help 메세지에는 PART-TYPE으로 3가지 중 하나만 쓰라고 했지만, 이는 partition table의 name 컬럼에 불과하다.|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart primary linux-swap 210m 710m|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart primary xfs 710m 100%|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|set 1 boot on # 1st partition을 ESP로 지정. fdisk의 boot flag와는 다르고, gdisk에서의 part-type code `EF00'와 같다.|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|print|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|select /dev/sdb|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mklabel gpt|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart primary xfs 0% 100%|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|print|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|quit|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkfs.vfat -n&amp;quot;efi&amp;quot; -F32 /dev/sda1}}&lt;br /&gt;
{{Cmd|mkswap -L&amp;quot;swap&amp;quot; /dev/sda2 &amp;amp;&amp;amp; swapon LABEL{{=}}swap}}&lt;br /&gt;
{{Cmd|mkfs.xfs -L&amp;quot;gentoo&amp;quot; -f /dev/sda3}} &lt;br /&gt;
{{Cmd|mkfs.xfs -L&amp;quot;home&amp;quot; -f /dev/sdb1 #}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
디스크 파티션 테이블 수정과 각 파티션에 파일시스템까지 올렸다. 이제 젠투 root가 설치될 파티션을 마운트하여 stage3, portage tar ball을 풀고, chroot으로 새 젠투 시스템에 진입한다.&lt;br /&gt;
{{Console|{{Cmd|mount LABEL{{=}}gentoo /mnt/gentoo &amp;amp;&amp;amp; cd /mnt/gentoo}}&lt;br /&gt;
{{Cmd|time tar /mnt/cdrom/xvjf stage3.tar.bz2 &amp;amp;&amp;amp; ls|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|time tar xvjf /mnt/cdrom/portage.tar.bz2 -C./usr/ &amp;amp;&amp;amp; ls|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|mount -t proc /proc /mnt/gentoo/proc|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|mount --rbind /sys /mnt/gentoo/sys|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|mount --rbind /dev /mnt/gentoo/dev|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|mount LABEL{{=}}home /mnt/gentoo/home|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|cp -L /etc/resolv.conf ./etc/|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|chroot ./ /bin/bash|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|env-update &amp;amp;&amp;amp; source /etc/profile|pwd=/&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|export PS1{{=}}&amp;quot;(chroot) $PS1&amp;quot;|pwd=/&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|passwd}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
다음은 커널 컴파일까지 과정이다. UEFI 기반으로 부팅이 되려면 반드시 알맞은 커널 설정을 해주어야 한다.&lt;br /&gt;
{{Console|&lt;br /&gt;
{{Cmd/chroot|eselect profile list}}&lt;br /&gt;
{{Cmd/chroot|eselect profile set &amp;lt;n&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|nano -w /etc/portage/make.conf # make.conf 설정은 개인 취향에 맞게 설정. 본문에서는 다음과 같이 썼다.}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CHOST=&amp;quot;x86_64-pc-linux-gnu&amp;quot;&lt;br /&gt;
CFLAGS=&amp;quot;-O2 -march=native -pipe&amp;quot;&lt;br /&gt;
CXXFLAGS=&amp;quot;${CFLAGS}&amp;quot;&lt;br /&gt;
MAKEOPTS=&amp;quot;-j5&amp;quot;&lt;br /&gt;
LINGUAS=&amp;quot;en ko&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Cmd/chroot|mount -t tmpfs -o size{{=}}2G none /var/tmp/portage}}&lt;br /&gt;
{{Cmd/chroot|emerge -av mirrorselect}}&lt;br /&gt;
{{Cmd/chroot|mirrorselect -o -i &amp;gt;&amp;gt; /etc/portage/make.conf}}&lt;br /&gt;
{{Cmd/chroot|mirrorselect -o -i -r &amp;gt;&amp;gt; /etc/portage/make.conf}}&lt;br /&gt;
{{Cmd/chroot|emerge --sync}}&lt;br /&gt;
{{Cmd/chroot|emerge genkernel gentoo-sources &amp;amp;&amp;amp; cd /usr/src/linux}}&lt;br /&gt;
{{Cmd/chroot|make menuconfig|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
커널 설정에서 다음 작업은 반드시 해야한다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Processor type and features  ---&amp;gt;&lt;br /&gt;
    [*] EFI runtime service support&lt;br /&gt;
    [*]   EFI stub support&lt;br /&gt;
    [*] Build a relocatable kernel&lt;br /&gt;
Device Drivers  ---&amp;gt;&lt;br /&gt;
    Graphics support ---&amp;gt;&lt;br /&gt;
        &amp;lt;*&amp;gt; Support for frame buffer devices  ---&amp;gt;&lt;br /&gt;
            [*]   Enable firmware EDID&lt;br /&gt;
            [*]   EFI-based Framebuffer Support&lt;br /&gt;
        Console display driver support  ---&amp;gt;&lt;br /&gt;
            &amp;lt;*&amp;gt; Framebuffer Console support&lt;br /&gt;
Firmware Drivers  ---&amp;gt;&lt;br /&gt;
    &amp;lt;*&amp;gt; EFI Variable Support via sysfs&lt;br /&gt;
-*- enabler the block layer ---&amp;gt;&lt;br /&gt;
    Partition Types  ---&amp;gt;&lt;br /&gt;
        [*]   EFI GUID Partition support&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
혹은 &amp;lt;code&amp;gt;/usr/src/linux/.config&amp;lt;/code&amp;gt;를 직접 수정한다고 하면 다음 커널옵션이 활성화되어 있는지 확인한다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CONFIG_EFI=y&lt;br /&gt;
CONFIG_EFI_STUB=y&lt;br /&gt;
CONFIG_RELOCATABLE=y&lt;br /&gt;
CONFIG_FIRMWARE_EDID=y&lt;br /&gt;
CONFIG_FB_EFI=y&lt;br /&gt;
CONFIG_FRAMEBUFFER_CONSOLE=y&lt;br /&gt;
CONFIG_EFI_VARS=y&lt;br /&gt;
CONFIG_EFI_PARTITION=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
또 한가지 주의할 사항은 UEFI는 커널과 분리된 initramfs를 로드할 수 없다. 따라서 initramfs를 쓰려고 한다면, 커널에 built-in 되어 있어야 한다. &amp;lt;code&amp;gt;genkernel&amp;lt;/code&amp;gt;을 쓰게되면, 커널설정에 기본으로 initramfs를 쓰는 것으로 되어 있으니 이 부분도 반드시 확인해야 하는 부분이 되겠다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
General setup  ---&amp;gt;&lt;br /&gt;
    [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support&lt;br /&gt;
    (/boot/initramfs.cpio) Initramfs source file(s)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
위의 설정 중 두번째 줄의 &amp;lt;code&amp;gt;/boot/initramfs.cpio&amp;lt;/code&amp;gt;는 커널에 built-in 될 initramfs 소스파일이다. 이 소스파일은 반드시 압축되지 않은 CPIO 파일이어야 한다. &amp;lt;code&amp;gt;/boot/initramfs.cpio&amp;lt;/code&amp;gt; 다음과 같이 만든다.&lt;br /&gt;
{{Console|{{Cmd/chroot|genkernel initramfs|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|xzcat /boot/initramfs-genkernel* &amp;gt; /boot/initramfs.cpio|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|file /boot/initramfs.cpio|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/output|/boot/initramfs.cpio: ASCII cpio archive (SVR4 with no CRC)}}&lt;br /&gt;
{{Cmd/chroot|rm /boot/initramfs-genkernel*|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/boot/initramfs.cpio&amp;lt;/code&amp;gt;가 만들어지고 나면, 이제 커널을 빌드하고, 빌드된 커널을 UEFI-펌웨어에 내장된 부팅매니저가 로드할 수 있는 위치(ESP)에 설치한다.&lt;br /&gt;
{{Console|{{Cmd/chroot|genkernel kernel|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|mount LABEL{{=}}efi /boot|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|mkdir -p /boot/efi/gentoo|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|cp arch/x86/boot/bzImage /boot/efi/gentoo/gentoox64.efi|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
이제 &amp;lt;code&amp;gt;efibootmgr&amp;lt;/code&amp;gt;라는 유틸리티로 [젠투 시스템의 UEFI 기반 부팅]을 설정을 해야하는데 한가지 문제가 있다. 본 문서에서 livecd는 BIOS 기반으로 부팅되었고, 따라서 현재 livecd의 커널은 위에서 언급된 &amp;lt;code&amp;gt;CONFIG_EFI_VARS&amp;lt;/code&amp;gt;라고 하는, 즉 EFI 변수를 알고 있지 않다.&lt;br /&gt;
{{Console|{{Cmd/chroot|emerge -av efibootmgr|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|efibootmgr -v # efivars를 불러 올 수 없다는 메세지를 출력할 것이다.|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
어떻게든 UEFI 기반으로 젠투 시스템을 부팅하여 &amp;lt;code&amp;gt;efibootmgr&amp;lt;/code&amp;gt;가 efivars를 불러 올 수 있기만 하면 된다. 운이 좋게도 이 문제를 해결해 줄 수 있는 EFI-shell 바이너리가 있다. &lt;br /&gt;
&lt;br /&gt;
https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/ShellBinPkg/UefiShell/X64/Shell.efi&lt;br /&gt;
&lt;br /&gt;
위 링크에서 EFI-shell 바이너리를 다운 받고, 적당히 아무 FAT32로 포맷된 UFD의 최상위 위치에 넣고, UEFI-펌웨어에서 EFI-shell를 실행한다. 메인보드마다 UEFI-펌웨어가 달라서 EFI-shell로 실행하는 방법이 다를 것이다. 본 문서를 작성한 사람의 보드에서는 FAT32 미디어의 최상위 위치에 &amp;lt;code&amp;gt;Shellx64.efi&amp;lt;/code&amp;gt;라는 파일만 EFI-shell로 인정(?)한다. 좀 더 우월한(?) 보드는 UEFI-펌웨어에서 [EFI-shell 실행하기]란 메뉴를 선택하면 EFI-shell의 위치를 선택할 수 있는 인터페이스를 제공하기도 한다.&lt;br /&gt;
&lt;br /&gt;
먼저 EFI-shell를 실행하기 전, chroot 환경을 빠져나가야 하는데, 다음을 마무리한다.&lt;br /&gt;
{{Console|&lt;br /&gt;
{{Cmd/chroot|nano -w /etc/fstab|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LABEL=efi       /boot             vfat      noauto,noatime  1 2&lt;br /&gt;
LABEL=swap      none              swap      sw              0 0&lt;br /&gt;
LABEL=gentoo    /                 xfs       defaults        0 1&lt;br /&gt;
LABEL=home      /home             xfs       auto            0 0&lt;br /&gt;
tmpfs           /var/tmp/portage  tmpfs     size=2G         0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Cmd/chroot|emerge syslog-ng vixie-cron xfsprogs dhcpcd|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|rc-update add syslog-ng default|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|rc-update add sshd default|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|exit|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|umount -l /mnt/gentoo/{proc,sys,dev,home,boot}|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|umount -l /mnt/gentoo|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|reboot|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
UEFI-펌웨어로 진입하여 EFI-shell를 실행하고 나면, &amp;lt;code&amp;gt;fs0:&amp;lt;/code&amp;gt;는 EFI-shell 바이너리가 저장된 볼륨이고, 아마도 위에서 빌드한, EFI-stub를 지원하는 커널이 위치한(&amp;lt;code&amp;gt;/dev/sda1&amp;lt;/code&amp;gt;) 볼륨은 &amp;lt;code&amp;gt;fs1:&amp;lt;/code&amp;gt;일 것이다. EFI-shell에서 커널을 로드하여 UEFI 기반으로 젠투 시스템을 부팅해본다.&lt;br /&gt;
{{Console|{{Cmd/output|2.0 Shell&amp;amp;gt; fs1:}}&lt;br /&gt;
{{Cmd/output|fs1:&amp;amp;gt; \efi\gentoo\gentoox64.efi}}}}&lt;br /&gt;
&lt;br /&gt;
커널 로드가 완료되면 커널은 어떤 파티션을 루트로 쓸 것인지 물어본다. 이것은 grub 부트로더가 커널에 전달했던 &amp;lt;code&amp;gt;real_root=&amp;lt;/code&amp;gt; 명령과 같다. 본 문서는 &amp;lt;code&amp;gt;/dev/sda3&amp;lt;/code&amp;gt;에 설치하였다.&lt;br /&gt;
&lt;br /&gt;
드디어 처음으로 젠투 시스템을 UEFI에 기반해서 부팅하였다. 위에서 사용할 수 없었던 &amp;lt;code&amp;gt;efibootmgr&amp;lt;/code&amp;gt; 유틸리티는 이제 사용할 수 있다. &lt;br /&gt;
{{Console|{{Cmd|efibootmgr # -v 옵션을 써보면 efibootmgr의 가능성을 확인할 수 있다.|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|efibootmgr -c -g -d /dev/sda -p1 -L&amp;quot;UEFI:Gentoo&amp;quot; -l&amp;quot;\efi\gentoo\gentoox64.efi&amp;quot;|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
위의 두번째 명령줄이 UEFI 기반으로 젠투 시스템을 별도의 부트로더 없이 바로 부팅할 수 있게 해준다. &amp;lt;code&amp;gt;efibootmgr&amp;lt;/code&amp;gt;는 UEFI-펌웨어에서 지정하는 boot-order를 OS에서 직접 편집할 수 있는 유틸리티이다.&lt;br /&gt;
&lt;br /&gt;
이것으로 젠투 리눅스를 UEFI에 기반해서 부팅할 수 있게 되었다.&lt;br /&gt;
&lt;br /&gt;
한가지 귀찮은 문제가 남았다고 한다면, UEFI를 기반해서 젠투를 부팅할 때, 매번 커널은 어떤 파티션을 루트로 쓸 지 물어보는 것이 있다. 이는 커널옵션(CONFIG_CMDLINE)에 어떤 파티션을 루트로 쓸 지 미리 써두는 것으로 해결할 수 있다.&lt;br /&gt;
{{Console|{{Cmd|blkid # /dev/sda3의 UUID를 적어둔다.|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/output|...}}&lt;br /&gt;
{{Cmd/output|/dev/sda3: LABEL{{=}}&amp;quot;gentoo&amp;quot; UUID{{=}}&amp;quot;467c4aa9-963d-4467-8cd0-d58caaacaff4&amp;quot; TYPE{{=}}&amp;quot;xfs&amp;quot;}}&lt;br /&gt;
{{Cmd/output|...}}&lt;br /&gt;
{{Cmd|genkernel --menuconfig bzImage|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Processor type and features  ---&amp;gt;&lt;br /&gt;
    [*] Built-in kernel command line&lt;br /&gt;
    (root=UUID=467c4aa9-963d-4467-8cd0-d58caaacaff4)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Cmd|cp /usr/src/linux/arch/x86/boot/bzImage /boot/efi/gentoo/gentoox64.efi|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:GentooKRDoc]]&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=Gentoo_on_UEFI-based_computer&amp;diff=1367</id>
		<title>Gentoo on UEFI-based computer</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=Gentoo_on_UEFI-based_computer&amp;diff=1367"/>
		<updated>2013-03-29T05:33:43Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==개요==&lt;br /&gt;
최근, 대부분의 메인보드에는 UEFI(Unified Extensible Firmware Interface)라고 불리는, 기존의 BIOS와는 다른, 펌웨어가 탑재되어 출시된다. UEFI-펌웨어는 직접 OS kernel을 로드할 수 있는 부팅매니저를 포함하고 있다. 따라서, UEFI 기반으로 시스템을 부팅하려고 한다면, 기존의 BIOS 기반으로 제작된 부트로더, 부팅매니저등은 사용할 수 없고, 사용할 필요도 없다. UEFI-펌웨어가 시스템을 부팅하는 구체적인 메커니즘은 다른 페이지를 참고하도록 하고, 여기서는 젠투 리눅스 배포판을 UEFI 기반으로 부팅하기까지 과정을 알아본다. 본 문서는 GRUB이라는 부트로더를 사용할 줄 모르고, UEFI-펌웨어가 탑재된 보드를 사용하는 사람에게 최적(?)의 문서가 될 것이다.&lt;br /&gt;
&lt;br /&gt;
==젠투 리눅스 설치에서 부팅까지==&lt;br /&gt;
아래 설치 과정을 무작정 따라하기 보다, 아웃라인을 잡고 시작하기를 권장한다. 그러면 이 문서에 나온 시나리오를 개인의 취향에 맞게 개선할 수 있을 것이다. 또한 시작에 앞서 overview를 권고함은 이 문서는 진행과정에서 의도적으로 실수하고 있기 때문이다.&lt;br /&gt;
&lt;br /&gt;
먼저 언제나 그렇듯, gentoo livecd와 stage3 tar ball, 최신 portage tar ball을 미러서버에서 다운받고 시작하도록 한다. 시스템 아키텍쳐별로 livecd, stage3이 같은 디렉토리에서 배포되고, portage tar ball은 snapshot이란 디렉토리에서 배포되고 있다.&lt;br /&gt;
&lt;br /&gt;
http://ftp.daum.net/gentoo/releases/&lt;br /&gt;
&lt;br /&gt;
이 문서에서는 Gentoo livecd는 LiveDVD가 아닌 minimal을 사용하였다. 요즘 환경에서 iso를 physical-CD에 굽는 경우는 드물 것이고, 아마도 부팅가능한 USB 플래시 드라이브를 제작하고 싶을 것이다. UNetbootin이라는 툴을 사용하면 iso 이미지를 가지고 간단하게 bootable UFD(USB Flash Drive)를 제작할 수 있다.&lt;br /&gt;
&lt;br /&gt;
http://unetbootin.sourceforge.net/&lt;br /&gt;
&lt;br /&gt;
OSX 환경 사용자는 이 툴을 사용하여도, 제작된 UFD가 정상적으로 부팅되지 않을 수 있다. 그럴 경우는 다음 처리를 해주어야 한다.&lt;br /&gt;
{{Console|{{Cmd/osx|diskutil list # 주의! USB 디스크 번호 확인}}&lt;br /&gt;
{{Cmd/osx|sudo fdisk -e /dev/rdisk1 # /dev/disk1이 아니다}}&lt;br /&gt;
{{Cmd/osx|p|host=fdisk:&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|pwd=|hash=1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;1: 0B 1023 254  63 - 1023 254  63 [         2 -   18555416] Win95 FAT-32|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd/osx|f 1|host=fdisk:|pwd=|hash=*1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|p|host=fdisk:|pwd=|hash=*1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|*1: 0B 1023 254  63 - 1023 254  63 [         2 -   18555416] Win95 FAT-32|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd/osx|w|host=fdisk:|pwd=|hash=*1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|exit|host=fdisk:&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|pwd=|hash=1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}}}&lt;br /&gt;
&lt;br /&gt;
젠투 livecd로 부팅을 하게 되면 &amp;lt;code&amp;gt;dmesg&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;lspci&amp;lt;/code&amp;gt;및 &amp;lt;code&amp;gt;ls*&amp;lt;/code&amp;gt; 유틸리티를 비롯하여, &lt;br /&gt;
{{Console|{{Cmd|more /proc/cpuinfo}}}}&lt;br /&gt;
등을 통해 시스템의 하드웨어 정보를 얻을 수 있다. 시스템 시간(date)을 설치과정에서 고치려면 가장 처음에 고칠 것을 권장한다.&lt;br /&gt;
{{Console|{{Cmd|date MMDDhhmmYYYY}}}}&lt;br /&gt;
&lt;br /&gt;
Alt+F2 혹은 Alt+방향키 등으로 여러개의 프레임 버퍼를 띄워두고 작업을 진행 할 수 있다.&lt;br /&gt;
&lt;br /&gt;
콘솔작업보다는 ssh 접속을 통한 터미널작업을 추천한다.&lt;br /&gt;
{{Console|{{Cmd|ifconfig}}&lt;br /&gt;
{{Cmd|# ip 주소가 잡혀있지 않은 경우에는 `net-setup' 스크립트로 네트워크를 설정한다.}}&lt;br /&gt;
{{Cmd|# net-setup eth0 &amp;amp;&amp;amp; ifconfig}}&lt;br /&gt;
{{Cmd|# LAN 환경에 dhcp 서버가 있다면 `dhcpcd eth0'을 명령하면 쉽게 ip를 발급받을 수 있다.}}&lt;br /&gt;
{{Cmd|ping -c3 www.gentoo.org}}&lt;br /&gt;
{{Cmd|/etc/init.d/sshd start &amp;amp;&amp;amp; passwd}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
나는 콘솔에서 모든 것을 끝내버리겠다(?)한다면, CapsLock키를 Ctrl키로 매핑하여 사용하는 것이 도움이 될 것이다.&lt;br /&gt;
{{Console|{{Cmd|emacs /etc/conf.d/keymaps}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
keymap=&amp;quot;emacs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Cmd|/etc/init.d/keymaps restart}}}}&lt;br /&gt;
위와 같이 설정하면, CapsLock키를 Ctrl키로 사용할 수 있을 것이다. 참고로 C-a/e, C-f/b, M-f/b, C-t, C-p/n등, 다양한 이맥스 키바인딩은 bash, csh와 같은 표준적인 쉘에서 여전히 유효하다.&lt;br /&gt;
&lt;br /&gt;
다음으로 할 작업은 디스크 편집과정이다. 따라서 데이터 유실과 같은 사항은 각별히 유의하여야 한다. 본 문서에서는 시스템 운용에 두 개의 블록 디스크 장치를 사용하여, 하나는 젠투의 root가 설치되고, 나머지 하나는 &amp;lt;code&amp;gt;/home&amp;lt;/code&amp;gt;에 마운트 될 것이다. 이 때, UEFI 기반에서 젠투를 부팅하려 한다면, 반드시 ESP(EFI System Partition)가 하나 이상의 디스크에 존재해야 한다. 또 반드시 ESP는 파티션 테이블 상에서 첫번째 파티션이어야 한다.&lt;br /&gt;
{{Console|{{Cmd|parted -l}}&lt;br /&gt;
{{Cmd|parted /dev/sda # gentoo root가 설치될 디스크}}&lt;br /&gt;
{{Cmd|mklabel gpt|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart EFI fat32 0% 210m # help 메세지에는 PART-TYPE으로 3가지 중 하나만 쓰라고 했지만, 이는 partition table의 name 컬럼에 불과하다.|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart primary linux-swap 210m 710m|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart primary xfs 710m 100%|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|set 1 boot on # 1st partition을 ESP로 지정. fdisk의 boot flag와는 다르고, gdisk에서의 part-type code `EF00'와 같다.|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|print|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|select /dev/sdb|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mklabel gpt|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart primary xfs 0% 100%|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|print|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|quit|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkfs.vfat -n&amp;quot;efi&amp;quot; -F32 /dev/sda1}}&lt;br /&gt;
{{Cmd|mkswap -L&amp;quot;swap&amp;quot; /dev/sda2 &amp;amp;&amp;amp; swapon LABEL{{=}}swap}}&lt;br /&gt;
{{Cmd|mkfs.xfs -L&amp;quot;gentoo&amp;quot; -f /dev/sda3}} &lt;br /&gt;
{{Cmd|mkfs.xfs -L&amp;quot;home&amp;quot; -f /dev/sdb1 #}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
디스크 파티션 테이블 수정과 각 파티션에 파일시스템까지 올렸다. 이제 젠투 root가 설치될 파티션을 마운트하여 stage3, portage tar ball을 풀고, chroot으로 새 젠투 시스템에 진입하여 본다.&lt;br /&gt;
{{Console|{{Cmd|mount LABEL{{=}}gentoo /mnt/gentoo &amp;amp;&amp;amp; cd /mnt/gentoo}}&lt;br /&gt;
{{Cmd|time tar /mnt/cdrom/xvjf stage3.tar.bz2 &amp;amp;&amp;amp; ls|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|time tar xvjf /mnt/cdrom/portage.tar.bz2 -C./usr/ &amp;amp;&amp;amp; ls|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|mount -t proc /proc /mnt/gentoo/proc|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|mount --rbind /sys /mnt/gentoo/sys|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|mount --rbind /dev /mnt/gentoo/dev|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|mount LABEL{{=}}home /mnt/gentoo/home|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|cp -L /etc/resolv.conf ./etc/|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|chroot ./ /bin/bash|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|env-update &amp;amp;&amp;amp; source /etc/profile|pwd=/&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|export PS1{{=}}&amp;quot;(chroot) $PS1&amp;quot;|pwd=/&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|passwd}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
다음은 커널 컴파일까지 과정이다. UEFI 기반으로 부팅이 되려면 반드시 알맞은 커널 설정을 해주어야 한다.&lt;br /&gt;
{{Console|&lt;br /&gt;
{{Cmd/chroot|eselect profile list}}&lt;br /&gt;
{{Cmd/chroot|eselect profile set &amp;lt;n&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|nano -w /etc/portage/make.conf # make.conf 설정은 개인 취향에 맞게 설정. 본문에서는 다음과 같이 썼다.}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CHOST=&amp;quot;x86_64-pc-linux-gnu&amp;quot;&lt;br /&gt;
CFLAGS=&amp;quot;-O2 -march=native -pipe&amp;quot;&lt;br /&gt;
CXXFLAGS=&amp;quot;${CFLAGS}&amp;quot;&lt;br /&gt;
MAKEOPTS=&amp;quot;-j5&amp;quot;&lt;br /&gt;
LINGUAS=&amp;quot;en ko&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Cmd/chroot|mount -t tmpfs -o size{{=}}2G none /var/tmp/portage}}&lt;br /&gt;
{{Cmd/chroot|emerge -av mirrorselect}}&lt;br /&gt;
{{Cmd/chroot|mirrorselect -o -i &amp;gt;&amp;gt; /etc/portage/make.conf}}&lt;br /&gt;
{{Cmd/chroot|mirrorselect -o -i -r &amp;gt;&amp;gt; /etc/portage/make.conf}}&lt;br /&gt;
{{Cmd/chroot|emerge --sync}}&lt;br /&gt;
{{Cmd/chroot|emerge genkernel gentoo-sources &amp;amp;&amp;amp; cd /usr/src/linux}}&lt;br /&gt;
{{Cmd/chroot|make menuconfig|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
커널 설정에서 다음 작업은 반드시 해야한다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Processor type and features  ---&amp;gt;&lt;br /&gt;
    [*] EFI runtime service support&lt;br /&gt;
    [*]   EFI stub support&lt;br /&gt;
    [*] Build a relocatable kernel&lt;br /&gt;
Device Drivers  ---&amp;gt;&lt;br /&gt;
    Graphics support ---&amp;gt;&lt;br /&gt;
        &amp;lt;*&amp;gt; Support for frame buffer devices  ---&amp;gt;&lt;br /&gt;
            [*]   Enable firmware EDID&lt;br /&gt;
            [*]   EFI-based Framebuffer Support&lt;br /&gt;
        Console display driver support  ---&amp;gt;&lt;br /&gt;
            &amp;lt;*&amp;gt; Framebuffer Console support&lt;br /&gt;
Firmware Drivers  ---&amp;gt;&lt;br /&gt;
    &amp;lt;*&amp;gt; EFI Variable Support via sysfs&lt;br /&gt;
-*- enabler the block layer ---&amp;gt;&lt;br /&gt;
    Partition Types  ---&amp;gt;&lt;br /&gt;
        [*]   EFI GUID Partition support&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
혹은 &amp;lt;code&amp;gt;/usr/src/linux/.config&amp;lt;/code&amp;gt;를 직접 수정한다고 하면 다음 커널옵션이 활성화되어 있는지 확인한다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CONFIG_EFI=y&lt;br /&gt;
CONFIG_EFI_STUB=y&lt;br /&gt;
CONFIG_RELOCATABLE=y&lt;br /&gt;
CONFIG_FIRMWARE_EDID=y&lt;br /&gt;
CONFIG_FB_EFI=y&lt;br /&gt;
CONFIG_FRAMEBUFFER_CONSOLE=y&lt;br /&gt;
CONFIG_EFI_VARS=y&lt;br /&gt;
CONFIG_EFI_PARTITION=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
또 한가지 주의할 사항은 UEFI는 커널과 분리된 initramfs를 로드할 수 없다. 따라서 initramfs를 쓰려고 한다면, 커널에 built-in 되어 있어야 한다. &amp;lt;code&amp;gt;genkernel&amp;lt;/code&amp;gt;을 쓰게되면, 커널설정에 기본으로 initramfs를 쓰는 것으로 되어 있으니 이 부분도 반드시 확인해야 하는 부분이 되겠다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
General setup  ---&amp;gt;&lt;br /&gt;
    [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support&lt;br /&gt;
    (/boot/initramfs.cpio) Initramfs source file(s)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
위의 설정 중 두번째 줄의 &amp;lt;code&amp;gt;/boot/initramfs.cpio&amp;lt;/code&amp;gt;는 커널에 built-in 될 initramfs 소스파일이다. 이 소스파일은 반드시 압축되지 않은 CPIO 파일이어야 한다. &amp;lt;code&amp;gt;/boot/initramfs.cpio&amp;lt;/code&amp;gt; 다음과 같이 만든다.&lt;br /&gt;
{{Console|{{Cmd/chroot|genkernel initramfs|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|xzcat /boot/initramfs-genkernel* &amp;gt; /boot/initramfs.cpio|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|file /boot/initramfs.cpio|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/output|/boot/initramfs.cpio: ASCII cpio archive (SVR4 with no CRC)}}&lt;br /&gt;
{{Cmd/chroot|rm /boot/initramfs-genkernel*|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/boot/initramfs.cpio&amp;lt;/code&amp;gt;가 만들어지고 나면, 이제 커널을 빌드하고, 빌드된 커널을 UEFI-펌웨어에 내장된 부팅매니저가 로드할 수 있는 위치(ESP)에 설치한다.&lt;br /&gt;
{{Console|{{Cmd/chroot|genkernel kernel|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|mount LABEL{{=}}efi /boot|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|mkdir -p /boot/efi/gentoo|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|cp arch/x86/boot/bzImage /boot/efi/gentoo/gentoox64.efi|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
이제 &amp;lt;code&amp;gt;efibootmgr&amp;lt;/code&amp;gt;라는 유틸리티로 [젠투 시스템의 UEFI 기반 부팅]을 설정을 해야하는데 한가지 문제가 있다. 본 문서에서 livecd는 BIOS 기반으로 부팅되었고, 따라서 현재 livecd의 커널은 위에서 언급된 &amp;lt;code&amp;gt;CONFIG_EFI_VARS&amp;lt;/code&amp;gt;라고 하는, 즉 EFI 변수를 알고 있지 않다.&lt;br /&gt;
{{Console|{{Cmd/chroot|emerge -av efibootmgr|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|efibootmgr -v # efivars를 불러 올 수 없다는 메세지를 출력할 것이다.|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
어떻게든 UEFI 기반으로 젠투 시스템을 부팅하여 &amp;lt;code&amp;gt;efibootmgr&amp;lt;/code&amp;gt;가 efivars를 불러 올 수 있기만 하면 된다. 운이 좋게도 이 문제를 해결해 줄 수 있는 EFI-shell 바이너리가 있다. &lt;br /&gt;
&lt;br /&gt;
https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/ShellBinPkg/UefiShell/X64/Shell.efi&lt;br /&gt;
&lt;br /&gt;
위 링크에서 EFI-shell 바이너리를 다운 받고, 적당히 아무 FAT32로 포맷된 UFD의 최상위 위치에 넣고, UEFI-펌웨어에서 EFI-shell를 실행한다. 메인보드마다 UEFI-펌웨어가 달라서 EFI-shell로 실행하는 방법이 다를 것이다. 본 문서를 작성한 사람의 보드에서는 FAT32 미디어의 최상위 위치에 &amp;lt;code&amp;gt;Shellx64.efi&amp;lt;/code&amp;gt;라는 파일만 EFI-shell로 인정(?)한다. 좀 더 우월한(?) 보드는 UEFI-펌웨어에서 [EFI-shell 실행하기]란 메뉴를 선택하면 EFI-shell의 위치를 선택할 수 있는 인터페이스를 제공하기도 한다.&lt;br /&gt;
&lt;br /&gt;
먼저 EFI-shell를 실행하기 전, chroot 환경을 빠져나가야 하는데, 다음을 마무리한다.&lt;br /&gt;
{{Console|&lt;br /&gt;
{{Cmd/chroot|nano -w /etc/fstab|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LABEL=efi       /boot             vfat      noauto,noatime  1 2&lt;br /&gt;
LABEL=swap      none              swap      sw              0 0&lt;br /&gt;
LABEL=gentoo    /                 xfs       defaults        0 1&lt;br /&gt;
LABEL=home      /home             xfs       auto            0 0&lt;br /&gt;
tmpfs           /var/tmp/portage  tmpfs     size=2G         0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Cmd/chroot|emerge syslog-ng vixie-cron xfsprogs dhcpcd|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|rc-update add syslog-ng default|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|rc-update add sshd default|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|exit|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|umount -l /mnt/gentoo/{proc,sys,dev,home,boot}|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|umount -l /mnt/gentoo|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|reboot|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
UEFI-펌웨어로 진입하여 EFI-shell를 실행하고 나면, &amp;lt;code&amp;gt;fs0:&amp;lt;/code&amp;gt;는 EFI-shell 바이너리가 저장된 볼륨이고, 아마도 위에서 빌드한, EFI-stub를 지원하는 커널이 위치한(&amp;lt;code&amp;gt;/dev/sda1&amp;lt;/code&amp;gt;) 볼륨은 &amp;lt;code&amp;gt;fs1:&amp;lt;/code&amp;gt;일 것이다. EFI-shell에서 커널을 로드하여 UEFI 기반으로 젠투 시스템을 부팅해본다.&lt;br /&gt;
{{Console|{{Cmd/output|2.0 Shell&amp;amp;gt; fs1:}}&lt;br /&gt;
{{Cmd/output|fs1:&amp;amp;gt; \efi\gentoo\gentoox64.efi}}}}&lt;br /&gt;
&lt;br /&gt;
커널 로드가 완료되면 커널은 어떤 파티션을 루트로 쓸 것인지 물어본다. 이것은 grub 부트로더가 커널에 전달했던 &amp;lt;code&amp;gt;real_root=&amp;lt;/code&amp;gt; 명령과 같다. 본 문서는 &amp;lt;code&amp;gt;/dev/sda3&amp;lt;/code&amp;gt;에 설치하였다.&lt;br /&gt;
&lt;br /&gt;
드디어 처음으로 젠투 시스템을 UEFI에 기반해서 부팅하였다. 위에서 사용할 수 없었던 &amp;lt;code&amp;gt;efibootmgr&amp;lt;/code&amp;gt; 유틸리티는 이제 사용할 수 있다. &lt;br /&gt;
{{Console|{{Cmd|efibootmgr # -v 옵션을 써보면 efibootmgr의 가능성을 확인할 수 있다.|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|efibootmgr -c -g -d /dev/sda -p1 -L&amp;quot;UEFI:Gentoo&amp;quot; -l&amp;quot;\efi\gentoo\gentoox64.efi&amp;quot;|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
위의 두번째 명령줄이 UEFI 기반으로 젠투 시스템을 별도의 부트로더 없이 바로 부팅할 수 있게 해준다. &amp;lt;code&amp;gt;efibootmgr&amp;lt;/code&amp;gt;는 UEFI-펌웨어에서 지정하는 boot-order를 OS에서 직접 편집할 수 있는 유틸리티이다.&lt;br /&gt;
&lt;br /&gt;
이것으로 젠투 리눅스를 UEFI에 기반해서 부팅할 수 있게 되었다.&lt;br /&gt;
&lt;br /&gt;
한가지 귀찮은 문제가 남았다고 한다면, UEFI를 기반해서 젠투를 부팅할 때, 매번 커널은 어떤 파티션을 루트로 쓸 지 물어보는 것이 있다. 이는 커널옵션(CONFIG_CMDLINE)에 어떤 파티션을 루트로 쓸 지 미리 써두는 것으로 해결할 수 있다.&lt;br /&gt;
{{Console|{{Cmd|blkid # /dev/sda3의 UUID를 적어둔다.|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/output|...}}&lt;br /&gt;
{{Cmd/output|/dev/sda3: LABEL{{=}}&amp;quot;gentoo&amp;quot; UUID{{=}}&amp;quot;467c4aa9-963d-4467-8cd0-d58caaacaff4&amp;quot; TYPE{{=}}&amp;quot;xfs&amp;quot;}}&lt;br /&gt;
{{Cmd/output|...}}&lt;br /&gt;
{{Cmd|genkernel --menuconfig bzImage|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Processor type and features  ---&amp;gt;&lt;br /&gt;
    [*] Built-in kernel command line&lt;br /&gt;
    (root=UUID=467c4aa9-963d-4467-8cd0-d58caaacaff4)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Cmd|cp /usr/src/linux/arch/x86/boot/bzImage /boot/efi/gentoo/gentoox64.efi|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:GentooKRDoc]]&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=Gentoo_on_UEFI-based_computer&amp;diff=1366</id>
		<title>Gentoo on UEFI-based computer</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=Gentoo_on_UEFI-based_computer&amp;diff=1366"/>
		<updated>2013-03-29T05:32:50Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==개요==&lt;br /&gt;
최근, 대부분의 메인보드에는 UEFI(Unified Extensible Firmware Interface)라고 불리는, 기존의 BIOS와는 다른, 펌웨어가 탑재되어 출시된다. UEFI-펌웨어는 직접 OS kernel을 로드할 수 있는 부팅매니저를 포함하고 있다. 따라서, UEFI 기반으로 시스템을 부팅하려고 한다면, 기존의 BIOS 기반으로 제작된 부트로더, 부팅매니저등은 사용할 수 없고, 사용할 필요도 없다. UEFI-펌웨어가 시스템을 부팅하는 구체적인 메커니즘은 다른 페이지를 참고하도록 하고, 여기서는 젠투 리눅스 배포판을 UEFI 기반으로 부팅하기까지 과정을 알아본다. 본 문서는 GRUB이라는 부트로더를 사용할 줄 모르고, UEFI-펌웨어가 탑재된 보드를 사용하는 사람에게 최적(?)의 문서가 될 것이다.&lt;br /&gt;
&lt;br /&gt;
==젠투 리눅스 설치에서 부팅까지==&lt;br /&gt;
아래 설치 과정을 무작정 따라하기 보다, 아웃라인을 잡고 시작하기를 권장한다. 그러면 이 문서에 나온 시나리오를 개인의 취향에 맞게 개선할 수 있을 것이다. 또한 시작에 앞서 overview를 권고함은 이 문서는 진행과정에서 의도적으로 실수하고 있기 때문이다.&lt;br /&gt;
&lt;br /&gt;
먼저 언제나 그렇듯, gentoo livecd와 stage3 tar ball, 최신 portage tar ball을 미러서버에서 다운받고 시작하도록 한다. 시스템 아키텍쳐별로 livecd, stage3이 같은 디렉토리에서 배포되고, portage tar ball은 snapshot이란 디렉토리에서 배포되고 있다.&lt;br /&gt;
&lt;br /&gt;
http://ftp.daum.net/gentoo/releases/&lt;br /&gt;
&lt;br /&gt;
이 문서에서는 Gentoo livecd는 LiveDVD가 아닌 minimal을 사용하였다. 요즘 환경에서 iso를 physical-CD에 굽는 경우는 드물 것이고, 아마도 부팅가능한 USB 플래시 드라이브를 제작하고 싶을 것이다. UNetbootin이라는 툴을 사용하면 iso 이미지를 가지고 간단하게 bootable UFD(USB Flash Drive)를 제작할 수 있다.&lt;br /&gt;
&lt;br /&gt;
http://unetbootin.sourceforge.net/&lt;br /&gt;
&lt;br /&gt;
OSX 환경 사용자는 이 툴을 사용하여도, 제작된 UFD가 정상적으로 부팅되지 않을 수 있다. 그럴 경우는 다음 처리를 해주어야 한다.&lt;br /&gt;
{{Console|{{Cmd/osx|diskutil list # 주의! USB 디스크 번호 확인}}&lt;br /&gt;
{{Cmd/osx|sudo fdisk -e /dev/rdisk1 # /dev/disk1이 아니다}}&lt;br /&gt;
{{Cmd/osx|p|host=fdisk:&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|pwd=|hash=1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;1: 0B 1023 254  63 - 1023 254  63 [         2 -   18555416] Win95 FAT-32|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd/osx|f 1|host=fdisk:|pwd=|hash=*1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|p|host=fdisk:|pwd=|hash=*1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|*1: 0B 1023 254  63 - 1023 254  63 [         2 -   18555416] Win95 FAT-32|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd/osx|w|host=fdisk:|pwd=|hash=*1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|exit|host=fdisk:&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|pwd=|hash=1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}}}&lt;br /&gt;
&lt;br /&gt;
젠투 livecd로 부팅을 하게 되면 &amp;lt;code&amp;gt;dmesg&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;lspci&amp;lt;/code&amp;gt;및 &amp;lt;code&amp;gt;ls*&amp;lt;/code&amp;gt; 유틸리티를 비롯하여, &lt;br /&gt;
{{Console|{{Cmd|more /proc/cpuinfo}}}}&lt;br /&gt;
등을 통해 시스템의 하드웨어 정보를 얻을 수 있다. 시스템 시간(date)을 설치과정에서 고치려면 가장 처음에 고칠 것을 권장한다.&lt;br /&gt;
{{Console|{{Cmd|date MMDDhhmmYYYY}}}}&lt;br /&gt;
&lt;br /&gt;
Alt+F2 혹은 Alt+방향키 등으로 여러개의 프레임 버퍼를 띄워두고 작업을 진행 할 수 있다.&lt;br /&gt;
&lt;br /&gt;
콘솔작업보다는 ssh 접속을 통한 터미널작업을 추천한다.&lt;br /&gt;
{{Console|{{Cmd|ifconfig}}&lt;br /&gt;
{{Cmd|# ip 주소가 잡혀있지 않은 경우에는 `net-setup' 스크립트로 네트워크를 설정한다.}}&lt;br /&gt;
{{Cmd|# net-setup eth0 &amp;amp;&amp;amp; ifconfig}}&lt;br /&gt;
{{Cmd|# LAN 환경에 dhcp 서버가 있다면 `dhcpcd eth0'을 명령하면 쉽게 ip를 발급받을 수 있다.}}&lt;br /&gt;
{{Cmd|ping -c3 www.gentoo.org}}&lt;br /&gt;
{{Cmd|/etc/init.d/sshd start &amp;amp;&amp;amp; passwd}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
나는 콘솔에서 모든 것을 끝내버리겠다(?) 하는 분들은, CapsLock키를 Ctrl키로 매핑하여 사용하는 것이 도움이 될 것이다.&lt;br /&gt;
{{Console|{{Cmd|emacs /etc/conf.d/keymaps}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
keymap=&amp;quot;emacs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Cmd|/etc/init.d/keymaps restart}}}}&lt;br /&gt;
위와 같이 설정하면, CapsLock키를 Ctrl키로 사용할 수 있을 것이다. 참고로 C-a/e, C-f/b, M-f/b, C-t, C-p/n등, 다양한 이맥스 키바인딩은 bash, csh와 같은 표준적인 쉘에서 여전히 유효하다.&lt;br /&gt;
&lt;br /&gt;
다음으로 할 작업은 디스크 편집과정이다. 따라서 데이터 유실과 같은 사항은 각별히 유의하여야 한다. 본 문서에서는 시스템 운용에 두 개의 블록 디스크 장치를 사용하여, 하나는 젠투의 root가 설치되고, 나머지 하나는 &amp;lt;code&amp;gt;/home&amp;lt;/code&amp;gt;에 마운트 될 것이다. 이 때, UEFI 기반에서 젠투를 부팅하려 한다면, 반드시 ESP(EFI System Partition)가 하나 이상의 디스크에 존재해야 한다. 또 반드시 ESP는 파티션 테이블 상에서 첫번째 파티션이어야 한다.&lt;br /&gt;
{{Console|{{Cmd|parted -l}}&lt;br /&gt;
{{Cmd|parted /dev/sda # gentoo root가 설치될 디스크}}&lt;br /&gt;
{{Cmd|mklabel gpt|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart EFI fat32 0% 210m # help 메세지에는 PART-TYPE으로 3가지 중 하나만 쓰라고 했지만, 이는 partition table의 name 컬럼에 불과하다.|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart primary linux-swap 210m 710m|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart primary xfs 710m 100%|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|set 1 boot on # 1st partition을 ESP로 지정. fdisk의 boot flag와는 다르고, gdisk에서의 part-type code `EF00'와 같다.|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|print|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|select /dev/sdb|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mklabel gpt|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart primary xfs 0% 100%|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|print|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|quit|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkfs.vfat -n&amp;quot;efi&amp;quot; -F32 /dev/sda1}}&lt;br /&gt;
{{Cmd|mkswap -L&amp;quot;swap&amp;quot; /dev/sda2 &amp;amp;&amp;amp; swapon LABEL{{=}}swap}}&lt;br /&gt;
{{Cmd|mkfs.xfs -L&amp;quot;gentoo&amp;quot; -f /dev/sda3}} &lt;br /&gt;
{{Cmd|mkfs.xfs -L&amp;quot;home&amp;quot; -f /dev/sdb1 #}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
디스크 파티션 테이블 수정과 각 파티션에 파일시스템까지 올렸다. 이제 젠투 root가 설치될 파티션을 마운트하여 stage3, portage tar ball을 풀고, chroot으로 새 젠투 시스템에 진입하여 본다.&lt;br /&gt;
{{Console|{{Cmd|mount LABEL{{=}}gentoo /mnt/gentoo &amp;amp;&amp;amp; cd /mnt/gentoo}}&lt;br /&gt;
{{Cmd|time tar /mnt/cdrom/xvjf stage3.tar.bz2 &amp;amp;&amp;amp; ls|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|time tar xvjf /mnt/cdrom/portage.tar.bz2 -C./usr/ &amp;amp;&amp;amp; ls|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|mount -t proc /proc /mnt/gentoo/proc|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|mount --rbind /sys /mnt/gentoo/sys|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|mount --rbind /dev /mnt/gentoo/dev|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|mount LABEL{{=}}home /mnt/gentoo/home|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|cp -L /etc/resolv.conf ./etc/|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|chroot ./ /bin/bash|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|env-update &amp;amp;&amp;amp; source /etc/profile|pwd=/&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|export PS1{{=}}&amp;quot;(chroot) $PS1&amp;quot;|pwd=/&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|passwd}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
다음은 커널 컴파일까지 과정이다. UEFI 기반으로 부팅이 되려면 반드시 알맞은 커널 설정을 해주어야 한다.&lt;br /&gt;
{{Console|&lt;br /&gt;
{{Cmd/chroot|eselect profile list}}&lt;br /&gt;
{{Cmd/chroot|eselect profile set &amp;lt;n&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|nano -w /etc/portage/make.conf # make.conf 설정은 개인 취향에 맞게 설정. 본문에서는 다음과 같이 썼다.}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CHOST=&amp;quot;x86_64-pc-linux-gnu&amp;quot;&lt;br /&gt;
CFLAGS=&amp;quot;-O2 -march=native -pipe&amp;quot;&lt;br /&gt;
CXXFLAGS=&amp;quot;${CFLAGS}&amp;quot;&lt;br /&gt;
MAKEOPTS=&amp;quot;-j5&amp;quot;&lt;br /&gt;
LINGUAS=&amp;quot;en ko&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Cmd/chroot|mount -t tmpfs -o size{{=}}2G none /var/tmp/portage}}&lt;br /&gt;
{{Cmd/chroot|emerge -av mirrorselect}}&lt;br /&gt;
{{Cmd/chroot|mirrorselect -o -i &amp;gt;&amp;gt; /etc/portage/make.conf}}&lt;br /&gt;
{{Cmd/chroot|mirrorselect -o -i -r &amp;gt;&amp;gt; /etc/portage/make.conf}}&lt;br /&gt;
{{Cmd/chroot|emerge --sync}}&lt;br /&gt;
{{Cmd/chroot|emerge genkernel gentoo-sources &amp;amp;&amp;amp; cd /usr/src/linux}}&lt;br /&gt;
{{Cmd/chroot|make menuconfig|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
커널 설정에서 다음 작업은 반드시 해야한다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Processor type and features  ---&amp;gt;&lt;br /&gt;
    [*] EFI runtime service support&lt;br /&gt;
    [*]   EFI stub support&lt;br /&gt;
    [*] Build a relocatable kernel&lt;br /&gt;
Device Drivers  ---&amp;gt;&lt;br /&gt;
    Graphics support ---&amp;gt;&lt;br /&gt;
        &amp;lt;*&amp;gt; Support for frame buffer devices  ---&amp;gt;&lt;br /&gt;
            [*]   Enable firmware EDID&lt;br /&gt;
            [*]   EFI-based Framebuffer Support&lt;br /&gt;
        Console display driver support  ---&amp;gt;&lt;br /&gt;
            &amp;lt;*&amp;gt; Framebuffer Console support&lt;br /&gt;
Firmware Drivers  ---&amp;gt;&lt;br /&gt;
    &amp;lt;*&amp;gt; EFI Variable Support via sysfs&lt;br /&gt;
-*- enabler the block layer ---&amp;gt;&lt;br /&gt;
    Partition Types  ---&amp;gt;&lt;br /&gt;
        [*]   EFI GUID Partition support&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
혹은 &amp;lt;code&amp;gt;/usr/src/linux/.config&amp;lt;/code&amp;gt;를 직접 수정한다고 하면 다음 커널옵션이 활성화되어 있는지 확인한다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CONFIG_EFI=y&lt;br /&gt;
CONFIG_EFI_STUB=y&lt;br /&gt;
CONFIG_RELOCATABLE=y&lt;br /&gt;
CONFIG_FIRMWARE_EDID=y&lt;br /&gt;
CONFIG_FB_EFI=y&lt;br /&gt;
CONFIG_FRAMEBUFFER_CONSOLE=y&lt;br /&gt;
CONFIG_EFI_VARS=y&lt;br /&gt;
CONFIG_EFI_PARTITION=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
또 한가지 주의할 사항은 UEFI는 커널과 분리된 initramfs를 로드할 수 없다. 따라서 initramfs를 쓰려고 한다면, 커널에 built-in 되어 있어야 한다. &amp;lt;code&amp;gt;genkernel&amp;lt;/code&amp;gt;을 쓰게되면, 커널설정에 기본으로 initramfs를 쓰는 것으로 되어 있으니 이 부분도 반드시 확인해야 하는 부분이 되겠다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
General setup  ---&amp;gt;&lt;br /&gt;
    [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support&lt;br /&gt;
    (/boot/initramfs.cpio) Initramfs source file(s)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
위의 설정 중 두번째 줄의 &amp;lt;code&amp;gt;/boot/initramfs.cpio&amp;lt;/code&amp;gt;는 커널에 built-in 될 initramfs 소스파일이다. 이 소스파일은 반드시 압축되지 않은 CPIO 파일이어야 한다. &amp;lt;code&amp;gt;/boot/initramfs.cpio&amp;lt;/code&amp;gt; 다음과 같이 만든다.&lt;br /&gt;
{{Console|{{Cmd/chroot|genkernel initramfs|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|xzcat /boot/initramfs-genkernel* &amp;gt; /boot/initramfs.cpio|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|file /boot/initramfs.cpio|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/output|/boot/initramfs.cpio: ASCII cpio archive (SVR4 with no CRC)}}&lt;br /&gt;
{{Cmd/chroot|rm /boot/initramfs-genkernel*|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/boot/initramfs.cpio&amp;lt;/code&amp;gt;가 만들어지고 나면, 이제 커널을 빌드하고, 빌드된 커널을 UEFI-펌웨어에 내장된 부팅매니저가 로드할 수 있는 위치(ESP)에 설치한다.&lt;br /&gt;
{{Console|{{Cmd/chroot|genkernel kernel|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|mount LABEL{{=}}efi /boot|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|mkdir -p /boot/efi/gentoo|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|cp arch/x86/boot/bzImage /boot/efi/gentoo/gentoox64.efi|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
이제 &amp;lt;code&amp;gt;efibootmgr&amp;lt;/code&amp;gt;라는 유틸리티로 [젠투 시스템의 UEFI 기반 부팅]을 설정을 해야하는데 한가지 문제가 있다. 본 문서에서 livecd는 BIOS 기반으로 부팅되었고, 따라서 현재 livecd의 커널은 위에서 언급된 &amp;lt;code&amp;gt;CONFIG_EFI_VARS&amp;lt;/code&amp;gt;라고 하는, 즉 EFI 변수를 알고 있지 않다.&lt;br /&gt;
{{Console|{{Cmd/chroot|emerge -av efibootmgr|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|efibootmgr -v # efivars를 불러 올 수 없다는 메세지를 출력할 것이다.|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
어떻게든 UEFI 기반으로 젠투 시스템을 부팅하여 &amp;lt;code&amp;gt;efibootmgr&amp;lt;/code&amp;gt;가 efivars를 불러 올 수 있기만 하면 된다. 운이 좋게도 이 문제를 해결해 줄 수 있는 EFI-shell 바이너리가 있다. &lt;br /&gt;
&lt;br /&gt;
https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/ShellBinPkg/UefiShell/X64/Shell.efi&lt;br /&gt;
&lt;br /&gt;
위 링크에서 EFI-shell 바이너리를 다운 받고, 적당히 아무 FAT32로 포맷된 UFD의 최상위 위치에 넣고, UEFI-펌웨어에서 EFI-shell를 실행한다. 메인보드마다 UEFI-펌웨어가 달라서 EFI-shell로 실행하는 방법이 다를 것이다. 본 문서를 작성한 사람의 보드에서는 FAT32 미디어의 최상위 위치에 &amp;lt;code&amp;gt;Shellx64.efi&amp;lt;/code&amp;gt;라는 파일만 EFI-shell로 인정(?)한다. 좀 더 우월한(?) 보드는 UEFI-펌웨어에서 [EFI-shell 실행하기]란 메뉴를 선택하면 EFI-shell의 위치를 선택할 수 있는 인터페이스를 제공하기도 한다.&lt;br /&gt;
&lt;br /&gt;
먼저 EFI-shell를 실행하기 전, chroot 환경을 빠져나가야 하는데, 다음을 마무리한다.&lt;br /&gt;
{{Console|&lt;br /&gt;
{{Cmd/chroot|nano -w /etc/fstab|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LABEL=efi       /boot             vfat      noauto,noatime  1 2&lt;br /&gt;
LABEL=swap      none              swap      sw              0 0&lt;br /&gt;
LABEL=gentoo    /                 xfs       defaults        0 1&lt;br /&gt;
LABEL=home      /home             xfs       auto            0 0&lt;br /&gt;
tmpfs           /var/tmp/portage  tmpfs     size=2G         0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Cmd/chroot|emerge syslog-ng vixie-cron xfsprogs dhcpcd|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|rc-update add syslog-ng default|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|rc-update add sshd default|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|exit|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|umount -l /mnt/gentoo/{proc,sys,dev,home,boot}|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|umount -l /mnt/gentoo|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|reboot|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
UEFI-펌웨어로 진입하여 EFI-shell를 실행하고 나면, &amp;lt;code&amp;gt;fs0:&amp;lt;/code&amp;gt;는 EFI-shell 바이너리가 저장된 볼륨이고, 아마도 위에서 빌드한, EFI-stub를 지원하는 커널이 위치한(&amp;lt;code&amp;gt;/dev/sda1&amp;lt;/code&amp;gt;) 볼륨은 &amp;lt;code&amp;gt;fs1:&amp;lt;/code&amp;gt;일 것이다. EFI-shell에서 커널을 로드하여 UEFI 기반으로 젠투 시스템을 부팅해본다.&lt;br /&gt;
{{Console|{{Cmd/output|2.0 Shell&amp;amp;gt; fs1:}}&lt;br /&gt;
{{Cmd/output|fs1:&amp;amp;gt; \efi\gentoo\gentoox64.efi}}}}&lt;br /&gt;
&lt;br /&gt;
커널 로드가 완료되면 커널은 어떤 파티션을 루트로 쓸 것인지 물어본다. 이것은 grub 부트로더가 커널에 전달했던 &amp;lt;code&amp;gt;real_root=&amp;lt;/code&amp;gt; 명령과 같다. 본 문서는 &amp;lt;code&amp;gt;/dev/sda3&amp;lt;/code&amp;gt;에 설치하였다.&lt;br /&gt;
&lt;br /&gt;
드디어 처음으로 젠투 시스템을 UEFI에 기반해서 부팅하였다. 위에서 사용할 수 없었던 &amp;lt;code&amp;gt;efibootmgr&amp;lt;/code&amp;gt; 유틸리티는 이제 사용할 수 있다. &lt;br /&gt;
{{Console|{{Cmd|efibootmgr # -v 옵션을 써보면 efibootmgr의 가능성을 확인할 수 있다.|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|efibootmgr -c -g -d /dev/sda -p1 -L&amp;quot;UEFI:Gentoo&amp;quot; -l&amp;quot;\efi\gentoo\gentoox64.efi&amp;quot;|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
위의 두번째 명령줄이 UEFI 기반으로 젠투 시스템을 별도의 부트로더 없이 바로 부팅할 수 있게 해준다. &amp;lt;code&amp;gt;efibootmgr&amp;lt;/code&amp;gt;는 UEFI-펌웨어에서 지정하는 boot-order를 OS에서 직접 편집할 수 있는 유틸리티이다.&lt;br /&gt;
&lt;br /&gt;
이것으로 젠투 리눅스를 UEFI에 기반해서 부팅할 수 있게 되었다.&lt;br /&gt;
&lt;br /&gt;
한가지 귀찮은 문제가 남았다고 한다면, UEFI를 기반해서 젠투를 부팅할 때, 매번 커널은 어떤 파티션을 루트로 쓸 지 물어보는 것이 있다. 이는 커널옵션(CONFIG_CMDLINE)에 어떤 파티션을 루트로 쓸 지 미리 써두는 것으로 해결할 수 있다.&lt;br /&gt;
{{Console|{{Cmd|blkid # /dev/sda3의 UUID를 적어둔다.|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/output|...}}&lt;br /&gt;
{{Cmd/output|/dev/sda3: LABEL{{=}}&amp;quot;gentoo&amp;quot; UUID{{=}}&amp;quot;467c4aa9-963d-4467-8cd0-d58caaacaff4&amp;quot; TYPE{{=}}&amp;quot;xfs&amp;quot;}}&lt;br /&gt;
{{Cmd/output|...}}&lt;br /&gt;
{{Cmd|genkernel --menuconfig bzImage|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Processor type and features  ---&amp;gt;&lt;br /&gt;
    [*] Built-in kernel command line&lt;br /&gt;
    (root=UUID=467c4aa9-963d-4467-8cd0-d58caaacaff4)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Cmd|cp /usr/src/linux/arch/x86/boot/bzImage /boot/efi/gentoo/gentoox64.efi|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:GentooKRDoc]]&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=Gentoo_on_UEFI-based_computer&amp;diff=1365</id>
		<title>Gentoo on UEFI-based computer</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=Gentoo_on_UEFI-based_computer&amp;diff=1365"/>
		<updated>2013-03-29T05:28:48Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==개요==&lt;br /&gt;
최근, 대부분의 메인보드에는 UEFI(Unified Extensible Firmware Interface)라고 불리는, 기존의 BIOS와는 다른, 펌웨어가 탑재되어 출시된다. UEFI-펌웨어는 직접 OS kernel을 로드할 수 있는 부팅매니저를 포함하고 있다. 따라서, UEFI 기반으로 시스템을 부팅하려고 한다면, 기존의 BIOS 기반으로 제작된 부트로더, 부팅매니저등은 사용할 수 없고, 사용할 필요도 없다. UEFI-펌웨어가 시스템을 부팅하는 구체적인 메커니즘은 다른 페이지를 참고하도록 하고, 여기서는 젠투 리눅스 배포판을 UEFI 기반으로 부팅하기까지 과정을 알아본다. 본 문서는 GRUB이라는 부트로더를 사용할 줄 모르고, UEFI-펌웨어가 탑재된 보드를 사용하는 사람에게 최적(?)의 문서가 될 것이다.&lt;br /&gt;
&lt;br /&gt;
==젠투 리눅스 설치에서 부팅까지==&lt;br /&gt;
아래 설치 과정을 무작정 따라하기 보다, 아웃라인을 잡고 시작하기를 권장한다. 그러면 이 문서에 나온 시나리오를 개인의 취향에 맞게 개선할 수 있을 것이다. 또한 시작에 앞서 overview를 권고함은 이 문서는 진행과정에서 의도적으로 실수하고 있기 때문이다.&lt;br /&gt;
&lt;br /&gt;
먼저 언제나 그렇듯, gentoo livecd와 stage3 tar ball, 최신 portage tar ball을 미러서버에서 다운받고 시작하도록 한다. 시스템 아키텍쳐별로 livecd, stage3이 같은 디렉토리에서 배포되고, portage tar ball은 snapshot이란 디렉토리에서 배포되고 있다.&lt;br /&gt;
&lt;br /&gt;
http://ftp.daum.net/gentoo/releases/&lt;br /&gt;
&lt;br /&gt;
이 문서에서는 Gentoo livecd는 LiveDVD가 아닌 minimal을 사용하였다. 요즘 환경에서 iso를 physical-CD에 굽는 경우는 드물 것이고, 아마도 부팅가능한 USB 플래시 드라이브를 제작하고 싶을 것이다. UNetbootin이라는 툴을 사용하면 iso 이미지를 가지고 간단하게 bootable UFD(USB Flash Drive)를 제작할 수 있다.&lt;br /&gt;
&lt;br /&gt;
http://unetbootin.sourceforge.net/&lt;br /&gt;
&lt;br /&gt;
OSX 환경 사용자는 이 툴을 사용하여도, 제작된 UFD가 정상적으로 부팅되지 않을 수 있다. 그럴 경우는 다음 처리를 해주어야 한다.&lt;br /&gt;
{{Console|{{Cmd/osx|diskutil list # 주의! USB 디스크 번호 확인}}&lt;br /&gt;
{{Cmd/osx|sudo fdisk -e /dev/rdisk1 # /dev/disk1이 아니다}}&lt;br /&gt;
{{Cmd/osx|p|host=fdisk:&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|pwd=|hash=1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;1: 0B 1023 254  63 - 1023 254  63 [         2 -   18555416] Win95 FAT-32|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd/osx|f 1|host=fdisk:|pwd=|hash=*1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|p|host=fdisk:|pwd=|hash=*1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|*1: 0B 1023 254  63 - 1023 254  63 [         2 -   18555416] Win95 FAT-32|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd/osx|w|host=fdisk:|pwd=|hash=*1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|exit|host=fdisk:&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|pwd=|hash=1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}}}&lt;br /&gt;
&lt;br /&gt;
젠투 livecd로 부팅을 하게 되면 &amp;lt;code&amp;gt;dmesg&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;lspci&amp;lt;/code&amp;gt;및 &amp;lt;code&amp;gt;ls*&amp;lt;/code&amp;gt; 유틸리티를 비롯하여, &lt;br /&gt;
{{Console|{{Cmd|more /proc/cpuinfo}}}}&lt;br /&gt;
등을 통해 시스템의 하드웨어 정보를 얻을 수 있다. 시스템 시간(date)를 설치과정에서 고치려면 가장 처음에 고칠 것을 권장한다.&lt;br /&gt;
{{Console|{{Cmd|date MMDDhhmmYYYY}}}}&lt;br /&gt;
&lt;br /&gt;
Alt+F2 혹은 Alt+방향키 등으로 여러개의 프레임 버퍼를 띄워두고 작업을 진행 할 수 있다.&lt;br /&gt;
&lt;br /&gt;
콘솔작업보다는 ssh 접속을 통한 터미널작업을 추천한다.&lt;br /&gt;
{{Console|{{Cmd|ifconfig}}&lt;br /&gt;
{{Cmd|# ip 주소가 잡혀있지 않은 경우에는 `net-setup' 스크립트로 네트워크를 설정한다.}}&lt;br /&gt;
{{Cmd|# net-setup eth0 &amp;amp;&amp;amp; ifconfig}}&lt;br /&gt;
{{Cmd|# LAN 환경에 dhcp 서버가 있다면 `dhcpcd eth0'을 명령하면 쉽게 ip를 발급받을 수 있다.}}&lt;br /&gt;
{{Cmd|ping -c3 www.gentoo.org}}&lt;br /&gt;
{{Cmd|/etc/init.d/sshd start &amp;amp;&amp;amp; passwd}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
나는 콘솔에서 모든 것을 끝내버리겠다(?) 하는 분들은, CapsLock키를 Ctrl키로 매핑하여 사용하는 것이 도움이 될 것이다.&lt;br /&gt;
{{Console|{{Cmd|emacs /etc/conf.d/keymaps}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
keymap=&amp;quot;emacs&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Cmd|/etc/init.d/keymaps restart}}}}&lt;br /&gt;
위와 같이 설정하면, CapsLock키를 Ctrl키로 사용할 수 있을 것이다. 참고로 C-a/e, C-f/b, M-f/b, C-t, C-p/n등, 다양한 이맥스 키바인딩은 bash, csh와 같은 표준적인 쉘에서 여전히 유효하다.&lt;br /&gt;
&lt;br /&gt;
다음으로 할 작업은 디스크 편집과정이다. 따라서 데이터 유실과 같은 사항은 각별히 유의하여야 한다. 본 문서에서는 시스템 운용에 두 개의 블록 디스크 장치를 사용하여, 하나는 젠투의 root가 설치되고, 나머지 하나는 &amp;lt;code&amp;gt;/home&amp;lt;/code&amp;gt;에 마운트 될 것이다. 이 때, UEFI 기반에서 젠투를 부팅하려 한다면, 반드시 ESP(EFI System Partition)가 하나 이상의 디스크에 존재해야 한다. 또 반드시 ESP는 파티션 테이블 상에서 첫번째 파티션이어야 한다.&lt;br /&gt;
{{Console|{{Cmd|parted -l}}&lt;br /&gt;
{{Cmd|parted /dev/sda # gentoo root가 설치될 디스크}}&lt;br /&gt;
{{Cmd|mklabel gpt|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart EFI fat32 0% 210m # help 메세지에는 PART-TYPE으로 3가지 중 하나만 쓰라고 했지만, 이는 partition table의 name 컬럼에 불과하다.|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart primary linux-swap 210m 710m|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart primary xfs 710m 100%|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|set 1 boot on # 1st partition을 ESP로 지정. fdisk의 boot flag와는 다르고, gdisk에서의 part-type code `EF00'와 같다.|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|print|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|select /dev/sdb|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mklabel gpt|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart primary xfs 0% 100%|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|print|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|quit|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkfs.vfat -n&amp;quot;efi&amp;quot; -F32 /dev/sda1}}&lt;br /&gt;
{{Cmd|mkswap -L&amp;quot;swap&amp;quot; /dev/sda2 &amp;amp;&amp;amp; swapon LABEL{{=}}swap}}&lt;br /&gt;
{{Cmd|mkfs.xfs -L&amp;quot;gentoo&amp;quot; -f /dev/sda3}} &lt;br /&gt;
{{Cmd|mkfs.xfs -L&amp;quot;home&amp;quot; -f /dev/sdb1 #}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
디스크 파티션 테이블 수정과 각 파티션에 파일시스템까지 올렸다. 이제 젠투 root가 설치될 파티션을 마운트하여 stage3, portage tar ball을 풀고, chroot으로 새 젠투 시스템에 진입하여 본다.&lt;br /&gt;
{{Console|{{Cmd|mount LABEL{{=}}gentoo /mnt/gentoo &amp;amp;&amp;amp; cd /mnt/gentoo}}&lt;br /&gt;
{{Cmd|time tar /mnt/cdrom/xvjf stage3.tar.bz2 &amp;amp;&amp;amp; ls|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|time tar xvjf /mnt/cdrom/portage.tar.bz2 -C./usr/ &amp;amp;&amp;amp; ls|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|mount -t proc /proc /mnt/gentoo/proc|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|mount --rbind /sys /mnt/gentoo/sys|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|mount --rbind /dev /mnt/gentoo/dev|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|mount LABEL{{=}}home /mnt/gentoo/home|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|cp -L /etc/resolv.conf ./etc/|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|chroot ./ /bin/bash|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|env-update &amp;amp;&amp;amp; source /etc/profile|pwd=/&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|export PS1{{=}}&amp;quot;(chroot) $PS1&amp;quot;|pwd=/&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|passwd}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
다음은 커널 컴파일까지 과정이다. UEFI 기반으로 부팅이 되려면 반드시 알맞은 커널 설정을 해주어야 한다.&lt;br /&gt;
{{Console|&lt;br /&gt;
{{Cmd/chroot|eselect profile list}}&lt;br /&gt;
{{Cmd/chroot|eselect profile set &amp;lt;n&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|nano -w /etc/portage/make.conf # make.conf 설정은 개인 취향에 맞게 설정. 본문에서는 다음과 같이 썼다.}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CHOST=&amp;quot;x86_64-pc-linux-gnu&amp;quot;&lt;br /&gt;
CFLAGS=&amp;quot;-O2 -march=native -pipe&amp;quot;&lt;br /&gt;
CXXFLAGS=&amp;quot;${CFLAGS}&amp;quot;&lt;br /&gt;
MAKEOPTS=&amp;quot;-j5&amp;quot;&lt;br /&gt;
LINGUAS=&amp;quot;en ko&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Cmd/chroot|mount -t tmpfs -o size{{=}}2G none /var/tmp/portage}}&lt;br /&gt;
{{Cmd/chroot|emerge -av mirrorselect}}&lt;br /&gt;
{{Cmd/chroot|mirrorselect -o -i &amp;gt;&amp;gt; /etc/portage/make.conf}}&lt;br /&gt;
{{Cmd/chroot|mirrorselect -o -i -r &amp;gt;&amp;gt; /etc/portage/make.conf}}&lt;br /&gt;
{{Cmd/chroot|emerge --sync}}&lt;br /&gt;
{{Cmd/chroot|emerge genkernel gentoo-sources &amp;amp;&amp;amp; cd /usr/src/linux}}&lt;br /&gt;
{{Cmd/chroot|make menuconfig|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
커널 설정에서 다음 작업은 반드시 해야한다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Processor type and features  ---&amp;gt;&lt;br /&gt;
    [*] EFI runtime service support&lt;br /&gt;
    [*]   EFI stub support&lt;br /&gt;
    [*] Build a relocatable kernel&lt;br /&gt;
Device Drivers  ---&amp;gt;&lt;br /&gt;
    Graphics support ---&amp;gt;&lt;br /&gt;
        &amp;lt;*&amp;gt; Support for frame buffer devices  ---&amp;gt;&lt;br /&gt;
            [*]   Enable firmware EDID&lt;br /&gt;
            [*]   EFI-based Framebuffer Support&lt;br /&gt;
        Console display driver support  ---&amp;gt;&lt;br /&gt;
            &amp;lt;*&amp;gt; Framebuffer Console support&lt;br /&gt;
Firmware Drivers  ---&amp;gt;&lt;br /&gt;
    &amp;lt;*&amp;gt; EFI Variable Support via sysfs&lt;br /&gt;
-*- enabler the block layer ---&amp;gt;&lt;br /&gt;
    Partition Types  ---&amp;gt;&lt;br /&gt;
        [*]   EFI GUID Partition support&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
혹은 &amp;lt;code&amp;gt;/usr/src/linux/.config&amp;lt;/code&amp;gt;를 직접 수정한다고 하면 다음 커널옵션이 활성화되어 있는지 확인한다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CONFIG_EFI=y&lt;br /&gt;
CONFIG_EFI_STUB=y&lt;br /&gt;
CONFIG_RELOCATABLE=y&lt;br /&gt;
CONFIG_FIRMWARE_EDID=y&lt;br /&gt;
CONFIG_FB_EFI=y&lt;br /&gt;
CONFIG_FRAMEBUFFER_CONSOLE=y&lt;br /&gt;
CONFIG_EFI_VARS=y&lt;br /&gt;
CONFIG_EFI_PARTITION=y&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
또 한가지 주의할 사항은 UEFI는 커널과 분리된 initramfs를 로드할 수 없다. 따라서 initramfs를 쓰려고 한다면, 커널에 built-in 되어 있어야 한다. &amp;lt;code&amp;gt;genkernel&amp;lt;/code&amp;gt;을 쓰게되면, 커널설정에 기본으로 initramfs를 쓰는 것으로 되어 있으니 이 부분도 반드시 확인해야 하는 부분이 되겠다.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
General setup  ---&amp;gt;&lt;br /&gt;
    [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support&lt;br /&gt;
    (/boot/initramfs.cpio) Initramfs source file(s)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
위의 설정 중 두번째 줄의 &amp;lt;code&amp;gt;/boot/initramfs.cpio&amp;lt;/code&amp;gt;는 커널에 built-in 될 initramfs 소스파일이다. 이 소스파일은 반드시 압축되지 않은 CPIO 파일이어야 한다. &amp;lt;code&amp;gt;/boot/initramfs.cpio&amp;lt;/code&amp;gt; 다음과 같이 만든다.&lt;br /&gt;
{{Console|{{Cmd/chroot|genkernel initramfs|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|xzcat /boot/initramfs-genkernel* &amp;gt; /boot/initramfs.cpio|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|file /boot/initramfs.cpio|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/output|/boot/initramfs.cpio: ASCII cpio archive (SVR4 with no CRC)}}&lt;br /&gt;
{{Cmd/chroot|rm /boot/initramfs-genkernel*|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/boot/initramfs.cpio&amp;lt;/code&amp;gt;가 만들어지고 나면, 이제 커널을 빌드하고, 빌드된 커널을 UEFI-펌웨어에 내장된 부팅매니저가 로드할 수 있는 위치(ESP)에 설치한다.&lt;br /&gt;
{{Console|{{Cmd/chroot|genkernel kernel|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|mount LABEL{{=}}efi /boot|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|mkdir -p /boot/efi/gentoo|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|cp arch/x86/boot/bzImage /boot/efi/gentoo/gentoox64.efi|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
이제 &amp;lt;code&amp;gt;efibootmgr&amp;lt;/code&amp;gt;라는 유틸리티로 [젠투 시스템의 UEFI 기반 부팅]을 설정을 해야하는데 한가지 문제가 있다. 본 문서에서 livecd는 BIOS 기반으로 부팅되었고, 따라서 현재 livecd의 커널은 위에서 언급된 &amp;lt;code&amp;gt;CONFIG_EFI_VARS&amp;lt;/code&amp;gt;라고 하는, 즉 EFI 변수를 알고 있지 않다.&lt;br /&gt;
{{Console|{{Cmd/chroot|emerge -av efibootmgr|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|efibootmgr -v # efivars를 불러 올 수 없다는 메세지를 출력할 것이다.|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
어떻게든 UEFI 기반으로 젠투 시스템을 부팅하여 &amp;lt;code&amp;gt;efibootmgr&amp;lt;/code&amp;gt;가 efivars를 불러 올 수 있기만 하면 된다. 운이 좋게도 이 문제를 해결해 줄 수 있는 EFI-shell 바이너리가 있다. &lt;br /&gt;
&lt;br /&gt;
https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/ShellBinPkg/UefiShell/X64/Shell.efi&lt;br /&gt;
&lt;br /&gt;
위 링크에서 EFI-shell 바이너리를 다운 받고, 적당히 아무 FAT32로 포맷된 UFD의 최상위 위치에 넣고, UEFI-펌웨어에서 EFI-shell를 실행한다. 메인보드마다 UEFI-펌웨어가 달라서 EFI-shell로 실행하는 방법이 다를 것이다. 본 문서를 작성한 사람의 보드에서는 FAT32 미디어의 최상위 위치에 &amp;lt;code&amp;gt;Shellx64.efi&amp;lt;/code&amp;gt;라는 파일만 EFI-shell로 인정(?)한다. 좀 더 우월한(?) 보드는 UEFI-펌웨어에서 [EFI-shell 실행하기]란 메뉴를 선택하면 EFI-shell의 위치를 선택할 수 있는 인터페이스를 제공하기도 한다.&lt;br /&gt;
&lt;br /&gt;
먼저 EFI-shell를 실행하기 전, chroot 환경을 빠져나가야 하는데, 다음을 마무리한다.&lt;br /&gt;
{{Console|&lt;br /&gt;
{{Cmd/chroot|nano -w /etc/fstab|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
LABEL=efi       /boot             vfat      noauto,noatime  1 2&lt;br /&gt;
LABEL=swap      none              swap      sw              0 0&lt;br /&gt;
LABEL=gentoo    /                 xfs       defaults        0 1&lt;br /&gt;
LABEL=home      /home             xfs       auto            0 0&lt;br /&gt;
tmpfs           /var/tmp/portage  tmpfs     size=2G         0 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Cmd/chroot|emerge syslog-ng vixie-cron xfsprogs dhcpcd|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|rc-update add syslog-ng default|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|rc-update add sshd default|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/chroot|exit|pwd=linux&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|umount -l /mnt/gentoo/{proc,sys,dev,home,boot}|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|umount -l /mnt/gentoo|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|reboot|pwd=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
UEFI-펌웨어로 진입하여 EFI-shell를 실행하고 나면, &amp;lt;code&amp;gt;fs0:&amp;lt;/code&amp;gt;는 EFI-shell 바이너리가 저장된 볼륨이고, 아마도 위에서 빌드한, EFI-stub를 지원하는 커널이 위치한(&amp;lt;code&amp;gt;/dev/sda1&amp;lt;/code&amp;gt;) 볼륨은 &amp;lt;code&amp;gt;fs1:&amp;lt;/code&amp;gt;일 것이다. EFI-shell에서 커널을 로드하여 UEFI 기반으로 젠투 시스템을 부팅해본다.&lt;br /&gt;
{{Console|{{Cmd/output|2.0 Shell&amp;amp;gt; fs1:}}&lt;br /&gt;
{{Cmd/output|fs1:&amp;amp;gt; \efi\gentoo\gentoox64.efi}}}}&lt;br /&gt;
&lt;br /&gt;
커널 로드가 완료되면 커널은 어떤 파티션을 루트로 쓸 것인지 물어본다. 이것은 grub 부트로더가 커널에 전달했던 &amp;lt;code&amp;gt;real_root=&amp;lt;/code&amp;gt; 명령과 같다. 본 문서는 &amp;lt;code&amp;gt;/dev/sda3&amp;lt;/code&amp;gt;에 설치하였다.&lt;br /&gt;
&lt;br /&gt;
드디어 처음으로 젠투 시스템을 UEFI에 기반해서 부팅하였다. 위에서 사용할 수 없었던 &amp;lt;code&amp;gt;efibootmgr&amp;lt;/code&amp;gt; 유틸리티는 이제 사용할 수 있다. &lt;br /&gt;
{{Console|{{Cmd|efibootmgr # -v 옵션을 써보면 efibootmgr의 가능성을 확인할 수 있다.|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd|efibootmgr -c -g -d /dev/sda -p1 -L&amp;quot;UEFI:Gentoo&amp;quot; -l&amp;quot;\efi\gentoo\gentoox64.efi&amp;quot;|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
위의 두번째 명령줄이 UEFI 기반으로 젠투 시스템을 별도의 부트로더 없이 바로 부팅할 수 있게 해준다. &amp;lt;code&amp;gt;efibootmgr&amp;lt;/code&amp;gt;는 UEFI-펌웨어에서 지정하는 boot-order를 OS에서 직접 편집할 수 있는 유틸리티이다.&lt;br /&gt;
&lt;br /&gt;
이것으로 젠투 리눅스를 UEFI에 기반해서 부팅할 수 있게 되었다.&lt;br /&gt;
&lt;br /&gt;
한가지 귀찮은 문제가 남았다고 한다면, UEFI를 기반해서 젠투를 부팅할 때, 매번 커널은 어떤 파티션을 루트로 쓸 지 물어보는 것이 있다. 이는 커널옵션(CONFIG_CMDLINE)에 어떤 파티션을 루트로 쓸 지 미리 써두는 것으로 해결할 수 있다.&lt;br /&gt;
{{Console|{{Cmd|blkid # /dev/sda3의 UUID를 적어둔다.|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/output|...}}&lt;br /&gt;
{{Cmd/output|/dev/sda3: LABEL{{=}}&amp;quot;gentoo&amp;quot; UUID{{=}}&amp;quot;467c4aa9-963d-4467-8cd0-d58caaacaff4&amp;quot; TYPE{{=}}&amp;quot;xfs&amp;quot;}}&lt;br /&gt;
{{Cmd/output|...}}&lt;br /&gt;
{{Cmd|genkernel --menuconfig bzImage|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Processor type and features  ---&amp;gt;&lt;br /&gt;
    [*] Built-in kernel command line&lt;br /&gt;
    (root=UUID=467c4aa9-963d-4467-8cd0-d58caaacaff4)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Cmd|cp /usr/src/linux/arch/x86/boot/bzImage /boot/efi/gentoo/gentoox64.efi|host=gentoo&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:GentooKRDoc]]&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd/chroot&amp;diff=1364</id>
		<title>틀:Cmd/chroot</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd/chroot&amp;diff=1364"/>
		<updated>2013-03-29T03:10:03Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Cmd|{{{1}}}|prehost=(chroot)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|pwd={{{pwd|/&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}}}}&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd/chroot&amp;diff=1363</id>
		<title>틀:Cmd/chroot</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd/chroot&amp;diff=1363"/>
		<updated>2013-03-29T01:57:06Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Cmd|{{{1}}}|prehost=(chroot)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|pwd=/&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=Gentoo_on_UEFI-based_computer&amp;diff=1362</id>
		<title>Gentoo on UEFI-based computer</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=Gentoo_on_UEFI-based_computer&amp;diff=1362"/>
		<updated>2013-03-29T01:38:36Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==개요==&lt;br /&gt;
최근, 대부분의 메인보드에는 UEFI(Unified Extensible Firmware Interface)라고 불리는, 기존의 BIOS와는 다른, 펌웨어가 탑재되어 출시된다. UEFI-펌웨어는 직접 OS kernel을 로드할 수 있는 부팅매니저를 포함하고 있다. 따라서, UEFI 기반으로 시스템을 부팅하려고 한다면, 기존의 BIOS 기반으로 제작된 부트로더, 부팅매니저등은 사용할 수 없고, 사용할 필요도 없다. UEFI-펌웨어가 시스템을 부팅하는 구체적인 메커니즘은 다른 페이지를 참고하도록 하고, 여기서는 젠투 리눅스 배포판을 UEFI 기반으로 부팅하기까지 과정을 알아본다.&lt;br /&gt;
&lt;br /&gt;
==젠투 리눅스 설치에서 부팅까지==&lt;br /&gt;
아래 설치 과정을 무작정 따라하기 보다, 아웃라인을 잡고 시작하기를 권장한다. 그러면 이 문서에 나온 시나리오를 개인의 취향에 맞게 개선할 수 있을 것이다. 또한 시작에 앞서 overview를 권고함은 이 문서는 진행과정에서 의도적으로 실수하고 있기 때문이다.&lt;br /&gt;
&lt;br /&gt;
먼저 언제나 그렇듯, gentoo livecd와 stage3 tar ball, 최신 portage tar ball을 미러서버에서 다운받고 시작하도록 한다. 시스템 아키텍쳐별로 livecd, stage3이 같은 디렉토리로 배포되고 있고, portage tar ball은 snapshot이란 디렉토리에서 배포되고 있다.&lt;br /&gt;
&lt;br /&gt;
http://ftp.daum.net/gentoo/releases/&lt;br /&gt;
&lt;br /&gt;
이 문서에서는 Gentoo livecd는 LiveDVD가 아닌 minimal을 사용하였다. 요즘 환경에서 iso를 physical-CD에 굽는 경우는 드물 것이고, 아마도 부팅가능한 USB 플래시 드라이브를 제작하고 싶을 것이다. UNetbootin이라는 툴을 사용하면 iso 이미지를 가지고 간단하게 bootable UFD(USB Flash Drive)를 제작할 수 있다.&lt;br /&gt;
&lt;br /&gt;
http://unetbootin.sourceforge.net/&lt;br /&gt;
&lt;br /&gt;
OSX 환경 사용자는 이 툴을 사용하여도, 제작된 UFD가 정상적으로 부팅되지 않을 수 있다. 그럴 경우는 다음 처리를 해주어야 한다.&lt;br /&gt;
{{Console|{{Cmd/osx|diskutil list # 주의! USB 디스크 번호 확인}}&lt;br /&gt;
{{Cmd/osx|sudo fdisk -e /dev/rdisk1 # /dev/disk1이 아니다}}&lt;br /&gt;
{{Cmd/osx|p|host=fdisk:&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|pwd=|hash=1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;1: 0B 1023 254  63 - 1023 254  63 [         2 -   18555416] Win95 FAT-32|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd/osx|f 1|host=fdisk:|pwd=|hash=*1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|p|host=fdisk:|pwd=|hash=*1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|*1: 0B 1023 254  63 - 1023 254  63 [         2 -   18555416] Win95 FAT-32|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd/osx|w|host=fdisk:|pwd=|hash=*1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|exit|host=fdisk:&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|pwd=|hash=1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}}}&lt;br /&gt;
&lt;br /&gt;
젠투 livecd로 부팅을 하게 되면 &amp;lt;code&amp;gt;dmesg&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;lspci&amp;lt;/code&amp;gt;및 &amp;lt;code&amp;gt;ls*&amp;lt;/code&amp;gt; 유틸리티를 비롯하여, &lt;br /&gt;
{{Console|{{Cmd|more /proc/cpuinfo}}}}&lt;br /&gt;
등을 통해 시스템의 하드웨어 정보를 얻을 수 있다. &lt;br /&gt;
&lt;br /&gt;
Alt+F2 혹은 Alt+방향키 등으로 여러개의 프레임 버퍼를 띄워두고 작업을 진행 할 수 있다.&lt;br /&gt;
&lt;br /&gt;
콘솔작업보다는 ssh 접속을 통한 터미널작업을 추천한다.&lt;br /&gt;
{{Console|{{Cmd|ifconfig}}&lt;br /&gt;
{{Cmd|# ip 주소가 잡혀있지 않은 경우에는 `net-setup' 스크립트로 네트워크를 설정한다.}}&lt;br /&gt;
{{Cmd|# net-setup eth0 &amp;amp;&amp;amp; ifconfig}}&lt;br /&gt;
{{Cmd|# LAN 환경에 dhcp 서버가 있다면 `dhcpcd eth0'을 명령하면 쉽게 ip를 발급받을 수 있다.}}&lt;br /&gt;
{{Cmd|ping -c3 www.gentoo.org}}&lt;br /&gt;
{{Cmd|/etc/init.d/sshd start &amp;amp;&amp;amp; passwd}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
나는 콘솔에서 모든 것을 끝내버리겠다(?) 하는 분들은, CapsLock키를 Ctrl키로 매핑하여 사용하는 것이 도움이 될 것이다.&lt;br /&gt;
{{Console|{{Cmd|emacs /etc/conf.d/keymaps}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
keymap=&amp;quot;emacs&amp;quot;&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Cmd|/etc/init.d/keymaps restart}}}}&lt;br /&gt;
위와 같이 설정하면, CapsLock키를 Ctrl키로 사용할 수 있을 것이다. 참고로 C-a/e, C-f/b, M-f/b, C-t, C-p/n등, 다양한 이맥스 키바인딩은 bash, csh와 같은 표준적인 쉘에서 여전히 유효하다.&lt;br /&gt;
&lt;br /&gt;
다음으로 할 작업은 디스크 편집과정이다. 따라서 데이터 유실과 같은 사항은 각별히 유의하여야 한다. 본 문서에서는 시스템 운용에 두 개의 블록 디스크 장치를 사용하여, 하나는 젠투의 root가 설치되고, 나머지 하나는 &amp;lt;code&amp;gt;/home&amp;lt;/code&amp;gt;에 마운트 될 것이다. 이 때, UEFI 기반에서 젠투를 부팅하려 한다면, 반드시 ESP(EFI System Partition)가 하나 이상의 디스크에 존재해야 한다. 또 반드시 ESP는 파티션 테이블 상에서 첫번째 파티션이어야 한다.&lt;br /&gt;
&lt;br /&gt;
{{Console|&lt;br /&gt;
{{Cmd|parted -l}}&lt;br /&gt;
{{Cmd|parted /dev/sda # gentoo root가 설치될 디스크}}&lt;br /&gt;
{{Cmd|mklabel gpt|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart EFI fat32 0% 210m # help 메세지에는 PART-TYPE으로 3가지 중 하나만 쓰라고 했지만, 이는 partition table의 name 컬럼에 불과하다.|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart primary linux-swap 210m 710m|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart primary xfs 710m 100%|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|set 1 boot on # 1st partition을 ESP로 지정. fdisk의 boot flag와는 다르고, gdisk에서의 part-type code `EF00'와 같다.|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|print|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|select /dev/sdb|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mklabel gpt|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkpart primary xfs 0% 100%|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|print|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|quit|prehost=(parted)&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd|mkfs.vfat -n&amp;quot;efi&amp;quot; -F32 /dev/sda1}}&lt;br /&gt;
{{Cmd|mkswap -L&amp;quot;swap&amp;quot; /dev/sda2 &amp;amp;&amp;amp; swapon LABEL{{=}}swap}}&lt;br /&gt;
{{Cmd|mkfs.xfs -L&amp;quot;gentoo&amp;quot; -f /dev/sda3}} &lt;br /&gt;
{{Cmd|mkfs.xfs -L&amp;quot;home&amp;quot; -f /dev/sdb1 #}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:GentooKRDoc]]&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd/output&amp;diff=1361</id>
		<title>틀:Cmd/output</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd/output&amp;diff=1361"/>
		<updated>2013-03-29T01:07:21Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: 새 문서: {{Cmd|{{{1}}}|host=|pwd=|hash=}}&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Cmd|{{{1}}}|host=|pwd=|hash=}}&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=Gentoo_on_UEFI-based_computer&amp;diff=1360</id>
		<title>Gentoo on UEFI-based computer</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=Gentoo_on_UEFI-based_computer&amp;diff=1360"/>
		<updated>2013-03-28T16:19:54Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: 새 문서: ==개요== 최근, 대부분의 메인보드에는 UEFI(Unified Extensible Firmware Interface)라고 불리는, 기존의 BIOS와는 다른, 펌웨어가 탑재되어 출시된다. UE...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==개요==&lt;br /&gt;
최근, 대부분의 메인보드에는 UEFI(Unified Extensible Firmware Interface)라고 불리는, 기존의 BIOS와는 다른, 펌웨어가 탑재되어 출시된다. UEFI-펌웨어는 직접 OS kernel을 로드할 수 있는 부팅매니저를 포함하고 있다. 따라서, UEFI 기반으로 시스템을 부팅하려고 한다면, 기존의 BIOS 기반으로 제작된 부트로더, 부팅매니저등은 사용할 수 없고, 사용할 필요도 없다. UEFI-펌웨어가 시스템을 부팅하는 구체적인 메커니즘은 다른 페이지를 참고하도록 하고, 여기서는 젠투 리눅스 배포판을 UEFI 기반으로 부팅하기까지 과정을 알아본다.&lt;br /&gt;
&lt;br /&gt;
==젠투 리눅스 설치에서 부팅까지==&lt;br /&gt;
아래 설치 과정을 무작정 따라하기 보다, 아웃라인을 잡고 시작하기를 권장한다. 그러면 이 문서에 나온 시나리오를 개인의 취향에 맞게 개선할 수 있을 것이다. 또한 시작에 앞서 overview를 권고함은 이 문서는 진행과정에서 의도적으로 실수하고 있기 때문이다.&lt;br /&gt;
&lt;br /&gt;
먼저 언제나 그렇듯, gentoo livecd와 stage3 tar ball, 최신 portage tar ball을 미러서버에서 다운받고 시작하도록 한다. 시스템 아키텍쳐별로 livecd, stage3이 같은 디렉토리로 배포되고 있고, portage tar ball은 snapshot이란 디렉토리에서 배포되고 있다.&lt;br /&gt;
&lt;br /&gt;
http://ftp.daum.net/gentoo/releases/&lt;br /&gt;
&lt;br /&gt;
이 문서에서는 Gentoo livecd는 LiveDVD가 아닌 minimal을 사용하였다. 요즘 환경에서 iso를 physical-CD에 굽는 경우는 드물 것이고, 아마도 부팅가능한 USB 플래시 드라이브를 제작하고 싶을 것이다. UNetbootin이라는 툴을 사용하면 iso 이미지를 가지고 간단하게 bootable UFD(USB Flash Drive)를 제작할 수 있다.&lt;br /&gt;
&lt;br /&gt;
http://unetbootin.sourceforge.net/&lt;br /&gt;
&lt;br /&gt;
OSX 환경 사용자는 이 툴을 사용하여도, 제작된 UFD가 정상적으로 부팅되지 않을 수 있다. 그럴 경우는 다음 처리를 해주어야 한다.&lt;br /&gt;
{{Console|{{Cmd/osx|diskutil list # 주의! USB 디스크 번호 확인}}&lt;br /&gt;
{{Cmd/osx|sudo fdisk -e /dev/rdisk1 # /dev/disk1이 아니다}}&lt;br /&gt;
{{Cmd/osx|p|host=fdisk:&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|pwd=|hash=1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;1: 0B 1023 254  63 - 1023 254  63 [         2 -   18555416] Win95 FAT-32|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd/osx|f 1|host=fdisk:|pwd=|hash=*1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|p|host=fdisk:|pwd=|hash=*1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|*1: 0B 1023 254  63 - 1023 254  63 [         2 -   18555416] Win95 FAT-32|host=|pwd=|hash=}}&lt;br /&gt;
{{Cmd/osx|w|host=fdisk:|pwd=|hash=*1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
{{Cmd/osx|exit|host=fdisk:&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;|pwd=|hash=1&amp;amp;gt;&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}}}&lt;br /&gt;
&lt;br /&gt;
젠투 livecd로 부팅을 하게 되면 &amp;lt;code&amp;gt;dmesg&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;lspci&amp;lt;/code&amp;gt;및 &amp;lt;code&amp;gt;ls*&amp;lt;/code&amp;gt; 유틸리티를 비롯하여, &lt;br /&gt;
{{Console|{{Cmd|more /proc/cpuinfo}}}}&lt;br /&gt;
등을 통해 시스템의 하드웨어 정보를 얻을 수 있다. Alt+F2 혹은 Alt+방향키 등으로 여러개의 프레임 버퍼를 띄워두고 작업을 진행 할 수 있다.&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd/osx&amp;diff=1359</id>
		<title>틀:Cmd/osx</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd/osx&amp;diff=1359"/>
		<updated>2013-03-28T16:07:52Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Cmd|{{{1}}}|host={{{host|osx&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}}|pwd={{{pwd|~&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}}|hash={{{hash|$&amp;lt;nowiki&amp;gt; &amp;lt;/nowiki&amp;gt;}}}|lcolor=rgb(0,230,23)|rcolor=rgb(0,230,23)|ccolor=rgb(0,230,23)}}&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd/osx&amp;diff=1358</id>
		<title>틀:Cmd/osx</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd/osx&amp;diff=1358"/>
		<updated>2013-03-28T15:45:58Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Cmd|{{{1}}}|host={{{host|osx }}}|pwd={{{pwd|~ }}}|hash={{{hash|$ }}}|lcolor=rgb(0,230,23)|rcolor=rgb(0,230,23)|ccolor=rgb(0,230,23)}}&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd&amp;diff=1357</id>
		<title>틀:Cmd</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd&amp;diff=1357"/>
		<updated>2013-03-28T15:45:45Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class{{=}}&amp;quot;prompt&amp;quot; style{{=}}&amp;quot;font-size=12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style{{=}}&amp;quot;color:{{{pcolor|#eaeaea}}};font-weight:bold;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;{{{prehost|}}}&amp;lt;/tt&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style{{=}}&amp;quot;color:{{{lcolor|rgb(192,55,41)}}};font-weight:bold;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;{{{host|livecd }}}&amp;lt;/tt&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style{{=}}&amp;quot;color:{{{rcolor|rgb(66,109,251)}}};font-weight:bold;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;{{{pwd|~ }}}{{{hash|# }}}&amp;lt;/tt&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style{{=}}&amp;quot;color:{{{ccolor|#eaeaea}}};&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;{{{1}}}&amp;lt;/tt&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Cmd|test1}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd&amp;diff=1356</id>
		<title>틀:Cmd</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd&amp;diff=1356"/>
		<updated>2013-03-28T15:44:38Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class{{=}}&amp;quot;prompt&amp;quot; style{{=}}&amp;quot;font-size=12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style{{=}}&amp;quot;color:{{{pcolor|#eaeaea}}};font-weight:bold;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;{{{prehost|}}}&amp;lt;/tt&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style{{=}}&amp;quot;color:{{{lcolor|rgb(192,55,41)}}};font-weight:bold;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;{{{host|livecd }}}&amp;lt;/tt&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style{{=}}&amp;quot;color:{{{rcolor|rgb(66,109,251)}}};font-weight:bold;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;{{{pwd|~ }}}{{{hash|#}}}&amp;lt;/tt&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style{{=}}&amp;quot;color:{{{ccolor|#eaeaea}}};&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;{{{1}}}&amp;lt;/tt&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Cmd|test1}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd&amp;diff=1355</id>
		<title>틀:Cmd</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd&amp;diff=1355"/>
		<updated>2013-03-28T15:43:53Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class{{=}}&amp;quot;prompt&amp;quot; style{{=}}&amp;quot;font-size=12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style{{=}}&amp;quot;color:{{{pcolor|#eaeaea}}};font-weight:bold;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;{{{prehost|}}}&amp;lt;/tt&amp;gt;&amp;amp;nbps;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style{{=}}&amp;quot;color:{{{lcolor|rgb(192,55,41)}}};font-weight:bold;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;{{{host|livecd }}}&amp;lt;/tt&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style{{=}}&amp;quot;color:{{{rcolor|rgb(66,109,251)}}};font-weight:bold;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;{{{pwd|~ }}}{{{hash|#}}}&amp;lt;/tt&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style{{=}}&amp;quot;color:{{{ccolor|#eaeaea}}};&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;{{{1}}}&amp;lt;/tt&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Cmd|test1}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd&amp;diff=1354</id>
		<title>틀:Cmd</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd&amp;diff=1354"/>
		<updated>2013-03-28T15:38:45Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class{{=}}&amp;quot;prompt&amp;quot; style{{=}}&amp;quot;font-size=12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style{{=}}&amp;quot;color:{{{pcolor|#eaeaea}}};font-weight:bold;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;{{{prehost|}}}&amp;lt;/tt&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style{{=}}&amp;quot;color:{{{lcolor|rgb(192,55,41)}}};font-weight:bold;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;{{{host|livecd}}}&amp;lt;/tt&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style{{=}}&amp;quot;color:{{{rcolor|rgb(66,109,251)}}};font-weight:bold;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;{{{pwd|~&amp;amp;nbps;}}}{{{hash|#}}}&amp;lt;/tt&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style{{=}}&amp;quot;color:{{{ccolor|#eaeaea}}};&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;{{{1}}}&amp;lt;/tt&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Cmd|test1}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd/osx&amp;diff=1353</id>
		<title>틀:Cmd/osx</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd/osx&amp;diff=1353"/>
		<updated>2013-03-28T15:36:56Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Cmd|{{{1}}}|host={{{host|osx}}}|pwd={{{pwd|~ }}}|hash={{{hash|$}}}|lcolor=rgb(0,230,23)|rcolor=rgb(0,230,23)|ccolor=rgb(0,230,23)}}&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd&amp;diff=1352</id>
		<title>틀:Cmd</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd&amp;diff=1352"/>
		<updated>2013-03-28T15:34:44Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class{{=}}&amp;quot;prompt&amp;quot; style{{=}}&amp;quot;font-size=12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style{{=}}&amp;quot;color:{{{pcolor|#eaeaea}}};font-weight:bold;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;{{{prehost|}}}&amp;lt;/tt&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style{{=}}&amp;quot;color:{{{lcolor|rgb(192,55,41)}}};font-weight:bold;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;{{{host|livecd}}}&amp;lt;/tt&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style{{=}}&amp;quot;color:{{{rcolor|rgb(66,109,251)}}};font-weight:bold;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;{{{pwd|~ }}}{{{hash|#}}}&amp;lt;/tt&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style{{=}}&amp;quot;color:{{{ccolor|#eaeaea}}};&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;{{{1}}}&amp;lt;/tt&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Cmd|test1}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd/osx&amp;diff=1351</id>
		<title>틀:Cmd/osx</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd/osx&amp;diff=1351"/>
		<updated>2013-03-28T15:28:58Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Cmd|{{{1}}}|host={{{host|osx}}}|pwd={{{pwd|~}}}|hash={{{hash|$}}}|lcolor=rgb(0,230,23)|rcolor=rgb(0,230,23)|ccolor=rgb(0,230,23)}}&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd/osx&amp;diff=1350</id>
		<title>틀:Cmd/osx</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd/osx&amp;diff=1350"/>
		<updated>2013-03-28T15:26:29Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Cmd|{{{1}}}|host={{{host|osx}}}|hash={{{hash|$}}}|lcolor=rgb(0,230,23)|rcolor=rgb(0,230,23)|ccolor=rgb(0,230,23)}}&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd/chroot&amp;diff=1349</id>
		<title>틀:Cmd/chroot</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd/chroot&amp;diff=1349"/>
		<updated>2013-03-28T15:18:39Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: 새 문서: {{Cmd|{{{1}}}|prehost=(chroot) }}&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Cmd|{{{1}}}|prehost=(chroot) }}&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd&amp;diff=1348</id>
		<title>틀:Cmd</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd&amp;diff=1348"/>
		<updated>2013-03-28T15:16:36Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class{{=}}&amp;quot;prompt&amp;quot; style{{=}}&amp;quot;font-size=12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style{{=}}&amp;quot;color:{{{pcolor|#eaeaea}}};font-weight:bold;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;{{{prehost|}}}&amp;lt;/tt&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style{{=}}&amp;quot;color:{{{lcolor|rgb(192,55,41)}}};font-weight:bold;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;{{{host|livecd}}}&amp;lt;/tt&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style{{=}}&amp;quot;color:{{{rcolor|rgb(66,109,251)}}};font-weight:bold;&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;{{{pwd|~}}} {{{hash|#}}}&amp;lt;/tt&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style{{=}}&amp;quot;color:{{{ccolor|#eaeaea}}};&amp;quot;&amp;gt;&amp;lt;tt&amp;gt;{{{1}}}&amp;lt;/tt&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Cmd|test1}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd&amp;diff=1347</id>
		<title>틀:Cmd</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd&amp;diff=1347"/>
		<updated>2013-03-28T15:15:00Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class{{=}}&amp;quot;prompt&amp;quot; style{{=}}&amp;quot;font-size=12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style{{=}}&amp;quot;color:{{{pcolor|#eaeaea}}};font-weight:bold;&amp;quot;&amp;gt;&amp;lt;code&amp;gt;{{{prehost|}}}&amp;lt;/code&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style{{=}}&amp;quot;color:{{{lcolor|rgb(192,55,41)}}};font-weight:bold;&amp;quot;&amp;gt;{{{host|livecd}}} &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style{{=}}&amp;quot;color:{{{rcolor|rgb(66,109,251)}}};font-weight:bold;&amp;quot;&amp;gt;{{{pwd|~}}} {{{hash|#}}} &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style{{=}}&amp;quot;color:{{{ccolor|#eaeaea}}};&amp;quot;&amp;gt;{{{1}}}&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Cmd|test1}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd/osx&amp;diff=1346</id>
		<title>틀:Cmd/osx</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd/osx&amp;diff=1346"/>
		<updated>2013-03-28T15:13:52Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: 새 문서: {{Cmd|{{{1}}}|host=osx|hash=$|lcolor=rgb(0,230,23)|rcolor=rgb(0,230,23)|ccolor=rgb(0,230,23)}}&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Cmd|{{{1}}}|host=osx|hash=$|lcolor=rgb(0,230,23)|rcolor=rgb(0,230,23)|ccolor=rgb(0,230,23)}}&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd&amp;diff=1345</id>
		<title>틀:Cmd</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Cmd&amp;diff=1345"/>
		<updated>2013-03-28T14:42:09Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;span class{{=}}&amp;quot;prompt&amp;quot; style{{=}}&amp;quot;font-size=12px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style{{=}}&amp;quot;color:{{{lcolor|#eaeaea}}};font-weight:bold;&amp;quot;&amp;gt;{{{prehost|}}}&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style{{=}}&amp;quot;color:{{{lcolor|rgb(192,55,41)}}};font-weight:bold;&amp;quot;&amp;gt;{{{host|livecd}}} &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style{{=}}&amp;quot;color:{{{rcolor|rgb(66,109,251)}}};font-weight:bold;&amp;quot;&amp;gt;{{{pwd|~}}} {{{hash|#}}} &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span style{{=}}&amp;quot;color:{{{rcolor|#eaeaea}}};&amp;quot;&amp;gt;{{{1}}}&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/span&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Cmd|test1}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Console&amp;diff=1344</id>
		<title>틀:Console</title>
		<link rel="alternate" type="text/html" href="https://wiki.gentoo-kr.org/index.php?title=%ED%8B%80:Console&amp;diff=1344"/>
		<updated>2013-03-28T13:44:31Z</updated>

		<summary type="html">&lt;p&gt;Alchemist: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style{{=}}&amp;quot;background-color: #000000;&lt;br /&gt;
            padding: 10px;            &lt;br /&gt;
            margin-top: .3em;&lt;br /&gt;
            margin-bottom: .3em;&amp;quot; &lt;br /&gt;
     class{{=}}&amp;quot;FrameBuffer&amp;quot;&amp;gt;{{{1}}}&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Alchemist</name></author>
		
	</entry>
</feed>