Atheros AR81 Family GigaEthernet 드라이버 설치.
AMD 칩셋을 달고 나오는 저가형 메인보드의 경우에 Atheros 의 Ethernet 칩셋을 탑재하는 경우가 있습니다. 문제는 Atheros Ethernet 드라이버가 윈도우용은 제공하는데 리눅스용은 제공을 않하더군요.
인터넷을 검색해보니까 누군가 리눅스용 드라이버를 제작해 놨는데, 오래된 경우라 최신의 리눅스 커널을 위해서는 패치를 해야하고 그 패치도 누군가 만들어서 올려놨더군요.
이 문서는 Atheros AR81 Family GigaEthernet 리눅스 드라이버를 설치하는 방법을 설명한 것 입니다.
1. 다운로드
첨부파일을 다운로드 하면 됩니다.
첨부파일: AR81Family-linux-v1.0.1.14.tar
2. 설치
먼저, 커널 소스를 설치합니다. 현재 설치된 커널의 버전에 맞는 것을 설치해야 합니다.
1 2 3 |
uname -r #2.6.18-398.el5PAE yum install kernel-PAE-devel |
Atheros 드라이버는 커널의 소스를 ‘/usr/src/linux’ 디렉토리에서 찾습니다. 다음과 같이 심볼릭 링크를 생성해 줍니다.
1 |
ln -s /usr/src/kernels/2.6.18-398.el5PAE-i686 linux |
압축을 푼 드라이버 디렉토리에서 컴파일 설치를 해줍니다.
1 2 3 |
tar xvzf AR81Family-linux-v1.0.1.14.tar.gz cd AR81Family-linux-v1.0.1.14 make install |
부팅시 마다 자동으로 모듈을 로딩하도록 하기 위해서 다음과 같이 해줍니다.
1 |
echo /sbin/modprobe atl1e >> /etc/sysconfig/modules/local.modules |
재부팅해서 eth0 가 올라오는지 살펴봅니다.
대부분 다 잘 올라 옵니다. eth0 가 올라오면 이제 IP 설정을 해주면 됩니다.
- Camera: Nikon D200
- Focal length: 5.6mm
- ISO: 100
- Shutter speed: 1/204s
CentOS IPv6 비활성화
IPv4 의 부족분을 대체하기 위해서 IPv6 가 개발되었지만 아직까지 사용빈도가 높지않아 리눅스 IPv6 비활성화 시켜서 자원을 아낄 수 있습니다. 기본적으로 CentOS 6, 7 에서는 IPv6 가 활성화 되어 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# 소켓 리스닝 상태 netstat -lpn Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1550/rpcbind tcp 0 0 0.0.0.0:39698 0.0.0.0:* LISTEN 1568/rpc.statd tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1622/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1698/master tcp 0 0 :::111 :::* LISTEN 1550/rpcbind tcp 0 0 :::22 :::* LISTEN 1622/sshd tcp 0 0 ::1:25 :::* LISTEN 1698/master tcp 0 0 :::57468 :::* LISTEN 1568/rpc.statd udp 0 0 0.0.0.0:877 0.0.0.0:* 1550/rpcbind udp 0 0 0.0.0.0:111 0.0.0.0:* 1550/rpcbind udp 0 0 0.0.0.0:896 0.0.0.0:* 1568/rpc.statd udp 0 0 0.0.0.0:46387 0.0.0.0:* 1568/rpc.statd udp 0 0 0.0.0.0:68 0.0.0.0:* 1462/dhclient udp 0 0 :::877 :::* 1550/rpcbind udp 0 0 :::111 :::* 1550/rpcbind udp 0 0 :::46198 :::* 1568/rpc.statd # 커널 모듈 상태 lsmod | grep ipv6 nf_conntrack_ipv6 8337 2 nf_defrag_ipv6 11156 1 nf_conntrack_ipv6 nf_conntrack 79758 7 xt_conntrack,ipt_MASQUERADE,iptable_nat,nf_nat,nf_conntrack_ipv4,nf_conntrack_ipv6,xt_state ipv6 318183 153 ip6t_REJECT,nf_conntrack_ipv6,nf_defrag_ipv6 |
위와같이 IPv6 가 사용 됩니다.
CentOS 6
1. IPv6 커널 모듈 비활성화
다음과 같이 IPv6 커널 모듈이 로딩되지 않도록 해줍니다.
1 |
echo "install ipv6 /bin/true" > /etc/modprobe.d/disable_ipv6.conf |
2. 커널 파라메터 추가
다음과 같이 IPv6 커널 파라메터를 추가해 줍니다.
1 2 |
echo "net.ipv6.conf.default.disable_ipv6=1" >> /etc/sysctl.conf echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.conf |
이제 재부팅을 해주면 IPv6 가 비활성화 됩니다.
CentOS 7
1. Grub2 IPv6 비활성화 옵션 추가
1 2 3 4 5 6 7 8 |
# vim /etc/default/grub GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="ipv6.disable=1 vconsole.font=latarcyrheb-sun16 vconsole.keymap=ko crashkernel=auto rhgb quiet" GRUB_DISABLE_RECOVERY="true" |
이와같이 GRUB_CMDLINUX_LINUX=”ipv6.disable=1 …” 를 추가 합니다.
그리고 다음과 같이 Grub 을 재성해 줍니다.
1 |
grub2-mkconfig -o /boot/grub2/grub.cfg |
위 절정을 다하고 시스템을 reboot 해주면 IPv6 가 비활성화 됩니다.
CentOS 6 Xen 설치
CentOS 6을 사용하고 있다면 별다른 노력없이 Xen 가상화 서버를 구축할 수 있습니다. 현재(2014년 9월 19일) CentOS 의 최신 배포판은 6.5 입니다.
이 문서는 CentOS 6 Xen 설치에 관한 것 입니다.
1. Xen 패키지 저장소 활성화
Xen 가상화를 위해서 CentOS 6.5 에서는 Xen 가상화 패키지 설치를 쉽게할 수 있도록 저장소를 제공합니다. 이 저장소를 이용하기 위해서 다음과 같이 쉘 명령어를 입력해 줍니다.
1 2 |
# Xen 저장소 활성화를 위한 저장소 추가 yum install centos-release-xen |
2. xen 설치.
저장소를 활성화 했기 때문에 yum 으로 xen 을 설치할 수 있습니다.
1 2 |
# Xen 설치 yum install xen |
3. grub 에 xen 하이퍼바이저 이식
xen 패키지를 설치하면 이를 위한 커널도 새롭게 설치되는데, 여기에 xen 하이퍼바이저를 부팅시에 되도록 고쳐줘야 합니다. 이것도 스크립트로 제공해 줍니다.
1 2 |
# grub 에 Xen 하이퍼바이저 이식. /usr/bin/grub-bootxen.sh |
4. 재부팅 해줍니다.
1 2 |
# 재부팅 reboot |
5. 확인
재부팅이 끝나면 제대로 됐는지 다음과 같이 확인 합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# Xen 확인. 이는 xm 명령어를 이용한다. ]# xm info host : localhost.localdomain release : 3.10.43-11.el6.centos.alt.x86_64 version : #1 SMP Mon Jun 16 14:22:02 UTC 2014 machine : x86_64 nr_cpus : 2 nr_nodes : 1 cores_per_socket : 2 threads_per_core : 1 cpu_mhz : 1800 hw_caps : 178bf3ff:ebd3fbff:00000000:00000010:00002001:00000000:0000001f:00000000 virt_caps : hvm total_memory : 2047 free_memory : 998 free_cpus : 0 xen_major : 4 xen_minor : 2 xen_extra : .4-33.el6 xen_caps : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64 xen_scheduler : credit xen_pagesize : 4096 platform_params : virt_start=0xffff800000000000 xen_changeset : unavailable xen_commandline : dom0_mem=1024M,max:1024M loglvl=all guest_loglvl=all cc_compiler : gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4) cc_compile_by : mockbuild cc_compile_domain : centos.org cc_compile_date : Mon Jun 16 17:22:14 UTC 2014 xend_config_format : 4 |
저의 CPU 는 하드웨어 가상화를 지원하기 때문에 HVM (전 가상화)까지 지원 합니다.
6. libvirt 설치.
Xen 을 사용하기 위해서는 xm, xl 명령어를 사용하는데 이것보다 Python 으로 작성된 프로그램을 이용하면 더 쉽게 관리를 할 수 있습니다. 이를 위해서 다음의 패키지를 설치 합니다.
1 2 |
# libvirt 패키지 설치 yum install libvirt python-virtinst libvirt-daemon-xen -y |
다시 재부팅을 해주면 끝납니다.