# chown -R nobody.bsp uboot
# chmod -R g+w uboot
# chmod -R g+x uboot/db
#svnserve -d -r /home/svn
# fsfs 파일시스템 타입
$ svnadmin create --fs-type fsfs repo_name
# bdb 버클리 디비 타입
$ svnadmin create --fs-type bdb repo_name
$ svn mkdir http://svn_server.com/svn/repo_name/project_name/trunk
$ svn mkdir http://svn_server.com/svn/repo_name/project_name/branches
$ svn mkdir http://svn_server.com/svn/repo_name/project_name/tags
# project_name 디렉토리를 지정하는 경우
$ svn import project_name http://svn_server.com/svn/repo_name/project_name/trunk
# project_name 디렉토리를 지정하지 않는 경우. 현재 디렉토리 전체가 올라감.
$ svn import http://svn_server.com/svn/repo_name/project_name/trunk
# project_name 이라는 디렉토리 새로 생성
$ svn checkout http://svn_server.com/svn/repo_name/project_name/trunk project_name
# 또는 마지막 인수를 입력하지 않으면 URL의 최종단인 basename으로 디렉토리가 생성됨.
# 아래 예에서는 trunk 라는 디렉토리가 새로 생성됨.
$ svn checkout http://svn_server.com/svn/repo_name/project_name/trunk
# .profile 또는 .bash_profile안에 추가
SVN_EDITOR=/usr/bin/vim
export SVN_EDITOR
# 저장소 백업
$ cd /var/svn
$ svnadmin dump repo_name > repo_name.dump
# 저장소 복구
$ cd /var/svn
$ svnadmin create repo_name
$ svnadmin load repo_name < repo_name.dump
연산자 우선순위 및 결합순서
컴퓨터언어는 개발자를 비롯한 컴퓨터 과학/공학자들의 요구에
따라 다양하게 진화되었다. 최대한 인간의 일반적인 사고를 바탕에 두고 문법과 체계를 만든 것이지만, 아무래도 언어 개발자들의
마인드가 포함되어 있어 일반에게는 약간 어렵기도 한 것 같다. 다음은 C++ 연산자 우선순위표이다. 이것을 잘 알아야, 복잡한
포인터와 구조체, 배열이 섞인 복잡해 보이는 식도 기계적으로 풀어낼 수 있다. 그러므로 다음은 반드시 암기 가능하면 이해할
사항이다.
간략본(http://www.winapi.co.kr/clec/cpp1/5-4-1.htm)
순위 |
연산자 |
결합순서 |
1 |
( ) [ ] -> . |
왼쪽 우선 |
2 |
! ~ ++ -- + -(부호) *(포인터) & sizeof 캐스트 |
오른쪽 우선 |
3 |
*(곱셈) / % |
왼쪽 우선 |
4 |
+ -(덧셈, 뺄셈) |
왼쪽 우선 |
5 |
<< >> |
왼쪽 우선 |
6 |
< <= > >= |
왼쪽 우선 |
7 |
== != |
왼쪽 우선 |
8 |
& |
왼쪽 우선 |
9 |
^ |
왼쪽 우선 |
10 |
| |
왼쪽 우선 |
11 |
&& |
왼쪽 우선 |
12 |
|| |
왼쪽 우선 |
13 |
? : |
오른쪽 우선 |
14 |
= 복합대입 |
오른쪽 우선 |
15 |
, |
왼쪽 우선 |
자바(http://www.tech-faq.com/lang/ko/java-operator-precedence.shtml)
자바 연산자 우선순위는 자바를 결정하는 방법을 평가 연산자를 사용하여 첫 번째합니다.
In this chart, operator precedence is displayed from highest precedence to lowest precedence. 이 차트, 연산자를 우선 순위가 높은 우선 순위가 낮은 우선순위를 표시합니다.
우선순위 | 연산자 | 기능 | 결합순서 |
---|---|---|---|
1 | [] |
Array index 어레이 색인 | Left to Right |
() |
Method call 메서드 호출 | ||
. |
Member access 회원에 액세스 | ||
2 | ++ |
Prefix or postfix increment 접두사 또는 postfix 증감 | Right to Left |
-- |
Prefix or postfix decrement 접두사 또는 postfix 감소 | ||
+ - |
Unary plus, minus 단항 플러스, 마이너스 | ||
~ |
Bitwise NOT 비트없는 | ||
! |
Boolean (logical) NOT 부울 (논리) | ||
(type) |
Type cast 유형 캐스트 | ||
new |
Object creation 개체를 창출 | ||
3 | * / % |
Multiplication, division, remainder 곱셈, 부서, 나머지 | Left to Right |
4 | + - |
Addition, subtraction 또한 뺄셈 | Left to Right |
+ |
String concatenation 문자열 연결 | ||
5 | << |
Signed bit shift left to right 서명 비트 교대 왼쪽에서 오른쪽으로 | Left to Right |
>> |
Signed bit shift right to left 서명 비트 교대 오른쪽에서 왼쪽으로 | ||
>>> |
Unsigned bit shift right to left 오른쪽에서 왼쪽으로 서명되지 않은 비트 교대 | ||
6 | < <= |
Less than, less than or equal to 미만, 이하 같음 | Left to Right |
> >= |
Greater than, greater than or equal to 보다 큼, 크거나 같음 | ||
instanceof |
Reference test 참조 테스트 | ||
7 | == |
Equal to 같음 | Left to Right |
!= |
Not equal to 같지 않음 | ||
8 | & |
Bitwise AND 비트 및 | Left to Right |
& & |
Boolean (logical) AND 부울 (논리)과 | ||
9 | ^ |
Bitwise XOR 비트 xor | Left to Right |
^ |
Boolean (logical) XOR 부울 (논리) xor | ||
10 | | |
Bitwise OR 비트 또는 | Left to Right |
| |
Boolean (logical) OR 부울 (논리) 또는 | ||
11 | && |
Boolean (logical) AND 부울 (논리)과 | Left to Right |
12 | || |
Boolean (logical) OR 부울 (논리) 또는 | Left to Right |
13 | ? : |
Conditional 조건부 | Right to Left |
14 | = |
Assignment 과제 | Right to Left |
*= /= += -= %= <<= >>= >>>= &= ^= |= |
Combinated assignment 임무는 combinated (operation and assignment) (작업과 배정) |
Notes: 참고 사항 :
참고
- 이쪽 블로그를 보면 연산자 우선 순위에 대한 여러 생각들을 정리해 놓았다
출 처 : http://learder.tistory.com/827019
The bootloader that comes factory installed on the Micro2440 and the Mini2440 board is called Supervivi. I don't personally like it. It has very limited support and requires a YAFFS filesystem for the root filesystem. So when I bought my board I began to immediately search out an alternative. The bootloader by choice, it seems, is a modified version of U-Boot with modifications for the Mini2440 board's hardware
The code is maintained by a guy named buserror. I'll provide his information at the end of this howto.
At the time of writing this, I had some issues with getting Buserror's U-Boot working correctly.
The code that is in his git repository, doesn't run from RAM without a modification to the source. So here are the instructions that I gathered for altering and compiling it, and getting it going on the Mini2440 and Micro2440 board.
For this to work, I'm going to assume that you have a crosscompiler set up. Later on, I will probably write an entry here about setting that up, but not now. I'm also assuming you have git installed.
Step 1: Get the source
mkdir uboot ; cd uboot
git clone git://repo.or.cz/u-boot-openmoko/mini2440.git
Step 2: Set your cross compiler prefix so you don't end up compiling this for x86.
export CROSS_COMPILE=arm-none-linux-gnueabi-
Step 3: Modify the source to disable CONFIG_USE_IRQ. Open include/configs/mini2440.h.
#define USE_920T_MMU
//#define CONFIG_USE_IRQ 1 /* Needed for USB device! */
Disabling this obviously disables the use of USB During boot. You can fix this by reflashing a normal copy of u-boot from within u-boot once this is up and running. In the above example, I commented it out but you can probably just change the 1 to a 0.
Step 4: Make and compile.
cd ../../
make mini2440_config
make
Assuming this all compiles correctly, you will have a u-boot.bin file in your directory now as well as a 2k and 16k block size bin file. Those two are for flashing inside of U-Boot. The normal .bin is for flashing from ram from within supervivi.
Step 5: Flashing u-boot to the mini2440. In this example, we'll be using DMW for Windows to transfer the binary over to the board with the supplied USB cable.
5a. Set boot switch to NOR.
5b. When supervivi pops up, hit q for supervivi shell.
5c. Load the image in to ram at 0x32000000 (6 zeros) memory location.
shell> load ram 0x32000000 <uboot bin size in bytes> u-boot
5d. Use DNW to transfer the u-boot.bin from your computer to the board.
5e. Execute the loaded bin file you loaded in to RAM.
shell> go 0x32000000
5f. You should now be inside u-boot at a MINI24440# prompt. Now we prepare the NAND.
MINI2440# nand scrub
5g. Create the bad block table.
MINI2440# nand createbbt
5h. Write the u-boot that we're running at 0x32000000, to the NAND.
MINI2440# nand write.e 0x32000000 0x0 <u-boot bin size in hex>
5i. Partition the NAND.
MINI2440# dynpart
5j Create the dynamic environment space for u-boot.
MINI2440# dynenv set u-boot_env
5k. Save the environment to NAND.
MINI2440# saveenv
You can now set the boot switch back to NAND and reboot the system. It should pop up with U-Boot and give you a MINI2440# uboot prompt. From this point on you can do all your work inside U-boot for loading images for the kernel and for the filesystem. I would like to note though, that in the above examples, you need to know your u-boot bin file size in both bytes and in hex. You can use google to convert the file size in bytes to hex. (i.e. "233907 to hex" in the google search box). I recommend trying to run u-boot without the source modification first before disabling IRQ because I'm guessing at some point, buserror or someone else will figure out why it won't run from RAM with that enabled. If it fails, and you can always modify the source and recompile.
I'd like to note that I collected these instructions from various sites and I've re-worded and explained them some to help. I hope that this helps you.
Here are some useful links for u-boot and other things:
http://bliterness.blogspot.com/ - Busseror's blog
http://code.google.com/p/mini2440/ ... - Buserror's Google code page.
http://repo.or.cz/w/openembedded/mi... - Git repository for the modified Openembedded
http://repo.or.cz/w/u-boot-openmoko... - Git repository for u-boot
UPDATE: MAY 8th, 2010: As of writing this update, the code in the git repository already has the above modification to the code. If you for any reason require USB support on your bootloader, you will need to uncomment the line that is commented out above and recompile.
UPDATE MAY 31st, 2010: There have been some problems with the current repository code and it won't run from RAM for some devices. So here's a quick workaround.
You should have a working u-boot... I'm currently getting an error about it not seeing my nand but it seems to be able to access it. Maybe you guys can let me know if you see anything wrong. I am suspecting there is a problem with the new u-boot code. Maybe buserror can shed some light on this.
This is a howto install uboot and a new kernel on the mini2440. Big thanks to BusError for the instructions and guidance. DISCLAIMER: This worked for me, if it eats your cat or burns your kitchen sink, don't blame me.
I used this one: http://www.codesourcery.com/sgpp/lite/arm/portal/package3696/public/arm-none-linux-gnueabi/arm-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
Add the bin dir to the $PATH. If you have a toolchain with another prefix (like arm-linux-) adapt the CROSS_COMPILE environment variable in the next steps.
Clone the git tree:
mkdir uboot ; cd uboot
git clone git://repo.or.cz/u-boot-openmoko/mini2440.git
Setup cross compiling:
export CROSS_COMPILE=arm-none-linux-gnueabi-
or edit your .bashrc eg.
export CROSS_COMPILE=arm-none-linux-gnueabi-
export PS1="\[\033[1;34m\]\u \[\033[0m\]\w:\$: \[\033[0m\]"
#export PS1="\u:\w\$>"
LS_OPTIONS="--color=auto"
alias ls="ls $LS_OPTIONS"
Prepare the mini2440 target:
cd mini2440
make mini2440_config
Compile:
make all
This will give you a "u-boot.bin". If you get an error about a missing whatever-gcc, verifiy if there is a hardcoded CROSS_COMPILE setting in the Makefile
We use the installed vivi bootloader to load uboot via usb. Power the board off, set the NOR switch to on, power the board on. You'll get the vivi output on the serial console. Press 'q' to go to the shell and do the "load flash" on address 0 with the size of "u-boot.bin" (238232 bytes in this example):
[q] Goto shell of vivi
Enter your selection: q
Supervivi> load flash 0 238232 u
USB host is connected. Waiting a download.
Use the "s3c2410_boot_usb" utility (http://mini2440.googlecode.com/files/s3c2410_boot_usb-20060807.tar.bz2) to upload the "u-boot.bin" via usb:
./s3c2410_boot_usb u-boot.bin
You'll see something like this as output, ignore the error message:
csum = 0x9a6e
send_file: addr = 0x33f80000, len = 0x0003a298
Error downloading program
and this on the serial console:
Now, Downloading [ADDRESS:30000000h,TOTAL:238242]
RECEIVED FILE SIZE: 238242 (232KB/S, 1S)
Downloaded file at 0x30000000, size = 238232 bytes
Found block size = 0x0003c000
Erasing... ... done
Writing... ... done
Written 238232 bytes
Supervivi>
Then you see
MINI2440 # saveenv
Saving Environment to NAND...
Erasing Nand...nand_erase: attempt to erase a bad block at page 0x00000260
Try
MINI2440 # nand scrub
...
Really scrub this NAND flash? <y/N>
press y and enter. After erasing make
MINI2440 # nand createbbt
press y and enter. Now you can save the environment
MINI2440 # saveenv
Now power off the board, set the NOR switch back to off, and power on the board. We verify the version and then prepare config storage in flash:
MINI2440 # version
U-Boot 1.3.2-dirty-moko12 (Mar 8 2009 - 13:50:19)
MINI2440 # dynenv set 40000
device 0 offset 0x40000, size 0x3fc0000
45 4e 56 30 - 00 00 04 00
MINI2440 # saveenv
Saving Environment to NAND...
Erasing Nand...Writing to Nand... done
MINI2440 # reset
do a "printenv" to show active settings. Adjust the IP for uboot and the tftp server. We need proper IP connectivity to load the kernel with tftp. "setenv" is your friend. "saveenv" stores the setting to flash.
Fetch from git:
mkdir kernel ; cd kernel
git clone git://repo.or.cz/linux-2.6/mini2440.git
cd mini2440
mkdir -p ../kernel-bin
Generate .config from mini2440 template:
CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm make O=../kernel-bin/ mini2440_defconfig
(optional) if you want to modify kernel modules use this command afterwards:
(optional if you don't have libncurses5-dev) apt-get install libncurses5-dev
cd ../kernel-bin
make ARCH=arm menuconfig
cd ../mini2440
Compile kernel and modules:
CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm make O=../kernel-bin/
Generate "uImage" with the "mkimage" tool:
../uboot/mini2440/tools/mkimage -A arm -O linux -T kernel -C none -a 0x30008000 -e 0x30008000 -d ../kernel-bin/arch/arm/boot/zImage /tftpboot/uImage
To create the dynamically loaded kernel modules, which would go into the root file system later on do this:
CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm make O=../kernel-bin/ modules
CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm make O=../kernel-bin/ INSTALL_MOD_PATH=.. modules_install
After this step, there should be a directory ../lib which would contain the dynamically loaded modules(drivers). This folder would go to the root file system of your board, for example I have my filesystem on a sd card. I would stick the SD card in the PC, and mount it and then copy the modules as:
cp ../lib/modules/2.6.32-rc8/ /media/rootfs/lib/modules/ -r
don't forget to
sync
umount /media/*
Verify partitions, we need the offset for the kernel partition (probably 0x60000):
mtdparts
Erase the kernel partition:
nand erase 60000 <padded size>
Load the kernel with uboot into ram:
tftp 0x32000000 uImage
Note the size, pad it to 512 byte and use the nand write command to flash it:
nand write 32000000 60000 <padded size>.
We use a nfs chroot for now:
setenv bootargs console=ttySAC0,115200 noinitrd init=/sbin/init mini2440=1tb ip=192.168.80.12 root=/dev/nfs rw nfsroot=192.168.80.1:/home/public/arm
This is helpful for automatic booting:
setenv bootcmd 'nboot.e kernel ; bootm'
Follow this nice howto from BusError http://code.google.com/p/mini2440/wiki/Emdebian
If you are using Fedora follow this link : http://www.electronics.diycinema.co.uk/embedded/mini2440/bitbaking-the-kernel-angstrom-and-qt4-embedded-all-at-once/comment-page-2/#comment-498 , otherwise follow here:
cd ~
mkdir OE
cd OE
git clone git://repo.or.cz/openembedded/mini2440.git openembedded
Getting other required Softwares
sudo apt-get install gawk diffstat help2man texi2html texinfo build-essential subversion cvs unzip texinfo git-core
sudo dpkg-reconfigure dash
and choose "<No>" from the menu.
Then we create a helper for ourselves:
gedit ~/OE/source-me.txt
and past the following, and change the /home/ashkax to your own home directory address.
export OETREE="/home/ashkax/OE"
BBPATH=${OETREE}/:${OETREE}/openembedded/
echo Setting up dev env for Ångström
if [ -z ${ORG_PATH} ] ; then
ORG_PATH=${PATH}
export ORG_PATH
fi
if [ -z ${ORG_LD_LIBRARY_PATH} ] ; then
ORG_LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
export ORG_LD_LIBRARY_PATH
fi
PATH=${OETREE}/openembedded/bitbake/bin:${ORG_PATH}
LD_LIBRARY_PATH=
export PATH LD_LIBRARY_PATH BBPATH
export LANG=C
export BB_ENV_EXTRAWHITE="MACHINE DISTRO OETREE ANGSTROM_MODE ANGSTROMLIBC LIBC"
sudo sysctl vm.mmap_min_addr=0
echo "Altered environment for OE Development"
This file that we just created will be used later on, to setup the compiler... Now lets edit the bitbake configuration file to tell bit bake we like it to compile the QT embedded for us too:
cd ~/OE/openembedded
wget http://www.electronics.diycinema.co.uk/wp-content/uploads/2009/11/local.conf.txt
gedit local.conf.txt
now change all the doug to your own user name, save the file and quit gedit. Then
cp local.conf.txt conf/local.conf
Alternatively you can use the original sample file and edit it to your liking:
cd openembedded
gedit mini2440_local_conf_example.conf
cp mini2440_local_conf_example.conf conf/local.conf
gedit ~/OE/openembedded/recipes/images/mini2440-image.bb
it would be something like:
#Angstrom bootstrap image
IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp"
ANGSTROM_EXTRA_INSTALL ?= ""
DEPENDS = "task-base-extended \
psplash-zap \
esekeyd u-boot-utils tslib \
i2c-tools i2c screen rsync nfs-utils \
directfb gdbserver directfb mtd-utils \
"
IMAGE_INSTALL = "task-base-extended \
${ANGSTROM_EXTRA_INSTALL} \
psplash-zap qt4-embedded\
esekeyd u-boot-utils tslib-calibrate tslib-tests \
i2c-tools i2c screen rsync nfs-utils-client \
directfb gdbserver directfb mtd-utils \
rsvg pango \
"
export IMAGE_BASENAME = "mini2440-image"
IMAGE_LINGUAS = ""
inherit image
Now all you have to do is source the script from wherever you put it:
source ~/OE/source-me.txt
cd ~/OE/openembedded/
bitbake mini2440-image
If you get an error trying to build a package try cleaning it: bitbake -c clean INSERTPACKAGENAME
Then try and build the image again. Maybe you won’t have this problem. I guess it’s either because the checksum parser failed to build or my hdd is dodgy. It only happened once on binutils but worked fine after cleaning it.
A few hours later if all goes well you should have images in: ~/OE/oetmp/deploy/glibc/images/mini2440/
Obviously that directory depends on what you setup in the local.conf.
but, for a fun start boot up your mini2440 with the new image that you've just created and issue the following command:
ts_calibrate
ts_test
qtdemo -qws
When you have bad blocks in NAND, you'll get write errors. This gives more information: http://wiki.openmoko.org/wiki/NAND_bad_blocks
Clear the flash (do not reset the board till uboot is reinstalled, or you need to use NOR/vivi to reinstall uboot via usb):
nand scrub
Create new bad blocks table:
nand createbbt
Reflash uboot (use the size in the output from the tftp command and pad it to hit 512 byte boundaries for the nand write command)
tftp 0x32000000 u-boot.bin
nand write 32000000 0 <size of u-boot.bin>
reset
Create dynamic partitions:
dynpart
dynenv set u-boot_env
saveenv
reset
And then use write.e to write to the mtdparts, e.g.:
tftp 0x32000000 uImage
nand write.e 32000000 kernel
nboot.e kernel
This error and some other errors related to illegal instructions happened because all packages are compiled with -mthumb though the kernel and modules use -mno-thumb. The mix of instruction sets seem to cause problems. A hotfix is to edit your conf/distro/include/angstrom.inc and change the line: ANGSTROM_ARM_INSTRUCTION_SET_armv4t = "thumb" to ANGSTROM_ARM_INSTRUCTION_SET_armv4t = "arm"
The default for the mini2440 is -mno-thumb but for some reason (save memory space, maybe?) the angstrom distro overrides this for all armv4t family processors.
If the resolution is messed up or you can run the ts_calibrate but the hitting points are out of range, it may be because of the boot arguments.. Reboot your system, press a key in startup to go to uboot environment and make sure mini2440=0tb for 3.5" screen, and mini2440=1tb for 7" screen. Try using the commands printenv, and setenv to do so.
Try ts_calibrated after booting.
http://bliterness.blogspot.com/
http://code.google.com/p/mini2440/
http://blog.cor-net.org/ (Qt 4.5 on mini2440)
http://wiki.openembedded.net/index.php/Getting_Started
http://www.sereno-online.com/site/2010/05/01/qt-4-6-2-installation-procedure-for-friendlyarm-mini-2440-board/ (Qt 4.6.2 on mini 2440)
출 처 : http://wiki.linuxmce.org/index.php/Mini2440#Setting_up_embedian
안녕하세요?
현재 국내에 GIT에 대한 제대로 된 문서가 없기에, GIT 사용자 가이드에 대하여 번역을 시작하게 되었습니다.
번역의 오류로 틀린 내용이 있을 수도 있으니, 오류 발견시 댓글을 남겨주시면 감사하겠습니다.
GIT 사용법 (ProGIT) - 1.4. GIT 설치
원본 : ProGIT Book(http://progit.org)
번역 : 김재훈(이솝 임베디드 포럼, http://www.aesop.or.kr)
1.4. GIT 설치
이제 GIT를 사용하는 방법에 대해 알아보도록 합니다. 우선, GIT를 사용하기 위해서는 GIT를 설치해야 합니다.
GIT를 설치하는 방법에는 소스를 받아서 컴파일 하는 방법과 플랫폼에 따라 각각 존재하는 패키지를 사용하여 설치하는 두 가지 방법이 있습니다.
1.4.1. GIT 소스 컴파일 방법
GIT 소스를 받아 직접 컴파일하여 설치하는 방법은 가장 최신의 GIT 버전을 적용할 수 있다는 것이 장점 입니다.
GIT는 버전이 올라갈 때마다, 유저 인터페이스 및 기타 기능들이 향상 되고 있습니다.
따 라서, 많은 Linux 배포본들이 매우 오래된 GIT 버전을 패키지로 제공하는 일이 자주 있기 때문에, 만약 사용자가 소스를 컴파일하는 방식에 위화감을 느끼지 않는다면 GIT 소스를 받아 직접 컴파일 하는 방법이 최신 버전을 사용하는 가장 좋은 방법 입니다.
우선 GIT 소스를 컴파일 하기 위해서는 GIT 컴파일에 의존적인 라이브러리들을 우선 설치할 필요가 있습니다.
GIT 컴파일에 의존적인 라이브러리는 curl, zlib, openssl, expat, liviconv 입니다.
만 약 사용자가, Fedora 배포본 기반의 리눅스 시스템을 사용하고 있다면 yum 명령을 사용하고, uBuntu Linux와 같은 Debian 계열의 운영체제는 apt-get 명령을 이용하여 의존적인 라이브러리를 손쉽게 설치 할 수 있습니다.
$ yum install curl-devel expat-devel gettext-devel \
openssl-devel zlib-devel$ apt-get install curl-devel expat-devel gettext-devel \
openssl-devel zlib-devel
GIT를 컴파일하는데 필요한 의존적인 라이브러리를 모두 설치하였다면, 이제 GIT의 웹 사이트에서 최신판의 Snapshot을 다음 명령을 통해 가져올 수 있습니다.
http://git-scm.com/download
이제, 다음 명령으로 소스를 컴파일 하고 인스톨 합니다.
$ tar -zxf git-1.6.0.5.tar.gz
$ cd git-1.6.0.5
$ make prefix=/usr/local all
$ sudo make prefix=/usr/local install
GIT가 잘 컴파일 되었다면, 이제 GIT 명령을 이용하여 다음과 같이 최신판의 GIT 소스를 GIT를 이용하여 얻어올 수 있습니다.
$ git clone git://git.kernel.org/pub/scm/git/git.git
1.4.2. Linux 배포본에서의 설치
리눅스 배포판에서 제공하는 패키지 설치 프로그램을 통해 설치를 하고 싶은 경우, 다음과 같은 명령을 사용하여 설치를 진행 할 수 있습니다.
Fedora 및 Redhat 계열 배포본의 경우 다음의 명령을 사용 합니다.
$ yum install git-core
Ubuntu와 같은 Debian 계열 배포본의 경우 다음의 명령을 사용 합니다.
$ apt-get install git-core
1.4.3. Macintosh 에서의 설치
MacOS에 GIT를 설치하는 방법은 두 가지 방법이 있습니다.
이중에서 가장 간단한 방법은 GUI 방식의 Gitinstaller를 사용하는 방법 입니다.
이 Gitinstaller는 Google Code 페이지의 다음의 사이트에서 다운로드 할 수 있습니다.
http://code.google.com/p/git-osx-installer
이외에 또 한 가지의 방법은 MacPorts(http://www.macports.org)에서 GIT의 설치본을 받아오는 방법 입니다.
여러분의 Macintosh 컴퓨터에 Macports를 설치한 상태라면, Git를 다음과 같은 명령으로 설치할 수 있습니다.
$ sudo port install git-core +svn +doc +bash_completion +gitweb
1.4.4. Windows 에서의 설치
Windows 운영체제에 GIT를 설치하는 방법은 매우 간단합니다.
msysGit 프로젝트는 Windows에서 간단하게 GIT를 인스톨할 수 있는 방법을 제공하고 있습니다.
따라서, Google의 Code 페이지로부터, Installer를 받아와 실행만 하시면 됩니다.
http://code.google.com/p/msysgit
설치가 끝나면, Linux 처럼 커맨드 라인 방식 및 Windows의 일반적인 GUI 방식 양쪽 모두를 사용할 수 있습니다.
출 처 : http://ippuu.tistory.com/125