Install couchdb for Ubuntu 12.04

Posted in 개인/ㄴLinux by

Install couchdb for Ubuntu 12.04

$ sudo add-apt-repository ppa:couchdb/stable

$ sudo apt-get update

$ sudo apt-get install couchdb


Install couchdb for Ubuntu 12.04

http://smilejay.com/2013/11/easy_install-mporterror-entry-point-console_scripts-easy_install-not-found/

노트북에서 make upload permission denied

Posted in 개인/ㄴFROMA by

ttyUSB0 포트의 권한 설정 때문이다.

sudo chmod o+rw /dev/ttyUSB0


[C언어] 포인터와 배열의 관계

Posted in 분류없음 by

다차원 배열을 포인터로 접근할 때 이해를 돕기 위하여 작성합니다. (매번 잊어버림)
다차원 배열을 함수 매개변수(파라미터)로 넘길 때에도 같은 원리임.

먼저 예제 소스코드와 결과를 보면서 설명하겠습니다.

#include 

int main(){
	int array[2][3][4] = {
		{{1,  2,  3,  4},
		 {5,  6,  7,  8}, 
		 {9,  10, 11, 12},},
		{{13, 14, 15, 16},
		 {17, 18, 19, 20}, 
		 {21, 22, 23, 24},},
	};
	int (*ptr1)[4] = array[0];
	int *ptr2 = array[0][1];
	int i;

	for(i=0; i<4; i++)
		printf("%d\t", ptr1[1][i]);
	puts("");
	for(i=0; i<4; i++)
		printf("%d\t", ptr2[i]);
	puts("");

	printf("%d\n", sizeof(array)/sizeof(int));
	printf("ptr1: 0x%x, ptr2: 0x%x\n", ptr1, ptr2);
	printf("ptr1: 0x%x, ptr2: 0x%x\n", ptr1[1], &(ptr2[1]));
	printf("ptr1: 0x%x, ptr2: 0x%x\n", &(ptr1[1][1]), &(ptr2[1]));
	printf("ptr1: 0x%x, ptr2: 0x%x\n", ++ptr1, ++ptr2);
	return 0;
}


3차원 array 배열을 선언하였고, 포인터를 이용해 array[0]로 시작되는 2차원 배열을 조작하고 싶습니다.
이때, *ptr1 = array[0]; 을 하여 ptr1의 값을 변경시키면 ptr1+1 혹은 ptr1[1] 했을때의 결과는 sizeof(int)만큼 움직이게 됩니다.
때문에 int (*ptr)[4] = array[0]; 으로 명시를 해줘서 ptr+1 혹은 ptr[1] 했을때의 sizeof(int)*4만큼 이동한다는 것을 선언시에 명시해줘야 합니다.
그러면 이를 통해 ptr[1][0]식의 2차원 배열 접근방식으로 포인터를 사용할 수 있죠. 주소계산법은 ptr주소 + 1 * sizeof(int) * 4 + 0 * sizeof(int) 식으로 이루어지게 됩니다.

결과를 통해 위에서 말한 것을 확인해보겠습니다.
ptr1의 주소는 0xa0482bf0와 같습니다. +1 혹은 [1] 연산을 통해 이동을 명령했을 시 0xF(16=sizeof(int)*4)만큼 이동한 것을 확인할 수 있습니다.
ptr1[1][1]을 통해 ptr1의 포인터를 2차원 배열처럼 사용할 수 있었습니다. 
다차원 배열의 함수 파라미터를 선언할 때에도 이와 같은 주소계산법을 통해 선언해준다면 오류없이 사용할 수 있습니다.

Markdown 문법 정리

Posted in 분류없음 by

Reference: http://sourceforge.net/p/tjdreamweaver/tickets/markdown_syntax#md_ex_tables

Markdown Syntax Guide

SourceForge uses markdown syntax everywhere to allow you to create rich
text markup, and extends markdown in several ways to allow for quick linking
to other artifacts in your project.

Markdown was created to be easy to read, easy to write, and still readable in plain text format.

Basic Text Formatting

Use * or _ to emphasize things:

*this is in italic*  and _so is this_

**this is in bold**  and __so is this__

***this is bold and italic***  and ___so is this___

Output:

this is in italic and so is this

this is in bold and so is this

this is bold and italic and so is this

You can strike through text using HTML like this:

<s>this is strike through text</s>

Output:

this is strike through text

A carriage return
makes a line break.

Two carriage returns make a new paragraph.

Output:

A carriage return
makes a line break.

Two carriage returns make a new paragraph.

Blockquotes

Use the > character in front of a line, just like in email

> Use it if you're quoting a person, a song or whatever.

> You can use *italic* or lists inside them also.
And just like with other paragraphs,
all of these lines are still
part of the blockquote, even without the > character in front.

To end the blockquote, just put a blank line before the following
paragraph.

Output:

Use it if you're quoting a person, a song or whatever.

You can use italic or lists inside them also.
And just like with other paragraphs,
all of these lines are still
part of the blockquote, even without the > character in front.

To end the blockquote, just put a blank line before the following
paragraph.

Preformatted Text

If you want some text to show up exactly as you write it, without Markdown doing anything to it, just indent every line by at least 4 spaces (or 1 tab). As an alternative to indenting, you can use 4 or more tildes before and after the text. See examples in the Code Highlighting section

    This line won't *have any markdown* formatting applied.
    I can even write <b>HTML</b> and it will show up as text.
    This is great for showing program source code, or HTML or even
    Markdown. <b>this won't show up as HTML</b> but
    exactly <i>as you see it in this text file</i>.

Within a paragraph, you can use backquotes to do the same thing.
`This won't be *italic* or **bold** at all.`

Output:

This line won't *have any markdown* formatting applied.
I can even write <b>HTML</b> and it will show up as text.
This is great for showing program source code, or HTML or even
Markdown. <b>this won't show up as HTML</b> but
exactly <i>as you see it in this text file</i>.

Within a paragraph, you can use backquotes to do the same thing.
This won't be *italic* or **bold** at all.

Lists

* an asterisk starts an unordered list
* and this is another item in the list
+ or you can also use the + character
- or the - character

To start an ordered list, write this:

1. this starts a list *with* numbers
+  this will show as number "2"
*  this will show as number "3."
9. any number, +, -, or * will keep the list going.
    * just indent by 4 spaces (or tab) to make a sub-list
        1. keep indenting for more sub lists
    * here i'm back to the second level

Output:

  • an asterisk starts an unordered list
  • and this is another item in the list
  • or you can also use the + character
  • or the - character

To start an ordered list, write this:

  1. this starts a list with numbers
  2. this will show as number "2"
  3. this will show as number "3."
  4. any number, +, -, or * will keep the list going.
    • just indent by 4 spaces (or tab) to make a sub-list
      1. keep indenting for more sub lists
    • here i'm back to the second level

Tables

You can create tables using pipes and dashes like this:

  First Header  | Second Header
  ------------- | -------------
  Content Cell  | Content Cell
  Content Cell  | Content Cell

Output:

First HeaderSecond Header
Content CellContent Cell
Content CellContent Cell

You can use markdown syntax within table cells for formatting:

  First Header   | Second Header
  -------------  | -------------
  *Content Cell* | Content Cell
  Content Cell   | Content Cell

Output:

First HeaderSecond Header
Content CellContent Cell
Content CellContent Cell

You can also create tables using HTML code.

Headers

Just put 1 or more dashes or equals signs (--- or ===) below the title.

This is a huge header
==================

this is a smaller header
------------------

Output:

This is a huge header

this is a smaller header

Horizontal Rule

Just put three or more *'s or -'s on a line:

----------------

Output:


Or, you can use single spaces between then, like this:

* * *

Output:


or

- - - - - - -

Output:


Make sure you have a blank line above the dashes, though, or else:
you will get a header
---

Output:

you will get a header

Images

To include an image, just put a "!" in front of a text link:

![alternate text](https://sourceforge.net/images/icon_linux.gif)

Output:

alternate text

The "alternate text" will show up if the browser can't load the image.

You can also use a title if you want, like this:

![tiny arrow](https://sourceforge.net/images/icon_linux.gif "tiny arrow")

Output:

tiny arrow

To reference an attached image, just use the img macro. You can add more attributes:

[[img src=attached-image.jpg alt=foobar]]

Output:

foobar

Videos

To embed a YouTube video, use the `embed` macro (only YouTube is supported at this time):

[[embed url=http://www.youtube.com/watch?v=6YbBmqUnoQM]]

Output:

Escapes and HTML

What if you want to just show asterisks, not italics?

* this shows up in italics: *a happy day*
* this shows the asterisks: \*a happy day\*

Output:

  • this shows up in italics: a happy day
  • this shows the asterisks: *a happy day*

The backslashes will disappear and leave the asterisks. You can do the same with any of the characters that have a special meaning
for Markdown.

Many simple HTML tags are allowed, for example <b> And unknown tags will be dropped. To show a literal <b> or an unknown tag like <foobar> you need escape it with HTML entities: :

<b>this will be bold</b>
you should escape &lt;unknown&gt; tags
&copy; special entities work
&amp;copy; if you want to escape it

Output:

this will be bold
you should escape <unknown> tags
© special entities work
&copy; if you want to escape it

HTML tags that are block-level like <div> can be used, but if there is markdown formatting within it, you must add a "markdown" attribute: <div markdown> Some safe attributes are also allowed, permitting basic styling and layout: <div markdown style="float:left">

Individual ampersands (&) and less-than signs (<) are fine, they will be shown as expected.

More Headers

More ways of doing headers:

# this is a huge header #
## this is a smaller header ##
### this is even smaller ###
#### more small ####
##### even smaller #####
###### smallest still: `<h6>` header

Output:

this is a huge header

this is a smaller header

this is even smaller

more small

even smaller
smallest still: <h6> header

You can use up to 6 # characters at the beginning of the line.

Table of Contents

You can display a list of links to jump to headers in a document. Sub-headers will be nested.

[TOC]

# Section 1
## Sub-section 1
# Section 2

Output:

Section 1

Sub-section 1

Section 2

Code Highlighting

The Code highlighting used in the newforge is based on (http://www.freewisdom.org/projects/python-markdown/CodeHilite). It follows the same syntax as regular Markdown code blocks, except that there are two ways to tell the highlighter what language to use for the code block.

If the first line of the codeblock contains a shebang, the language is derived from that and line numbers are used.

    #!/usr/bin/python
    # Code goes here ...

Output:

1
2
#!/usr/bin/python
# Code goes here ...

If the first line contains a shebang, but the shebang line does not contain a path (a single / or even a space) or If the first line begins with three or more colons, the text following the colons identifies the language. In both cases, the first line is removed from the code block before processing.

    :::python
    # Code goes here ...

Output:

# Code goes here ...

You can also designate a code block by surrounding it with lines of tildes. The type of code highlighting to apply will be inferred based on the code within, or you can specify like above.

~~~~~~
<a href="#">My code</a>
~~~~~~

Output:

<a href="#">My code</a>

Includes

You can embed another wiki page directly:

[[include ref=SamplePage]]

No example output is available for this one because it only works on real wiki pages. Try it in your wiki!

Neighborhood Notifications

You can list updates from all projects in a neighborhood by tool type. Max_number (default is 5) and sort (default is pubdate) are optional:

[[neighborhood_feeds tool_name=wiki max_number=10 sort=pubdate]]

Neighborhood Blog Posts

You can view blog posts from all projects in a neighborhood. Max_number (default is 5) and sort (default is timestamp) are optional:

[[neighborhood_blog_posts max_number=10 sort=timestamp]]

Project Blog Posts

You can view blog posts from all blogs in a project. Max_number (default is 5), mount point (leave empty to view posts from all blog tools in a project), and sort (default is timestamp) are optional:

[[project_blog_posts max_number=10 sort=timestamp mount_point=news]]

Download Button

You can display a download button that links to the best download available for the active project. Please note that if you use this macro and there is no download associated with your project, the button will not appear.

[[download_button]]

Project Member List

You can display a list of project members. By default the list is limited to 20 members, and a link is provided to a page with the full list.

[[members]]

Project Screenshots

You can show all the screenshots for the current project as thumbnails that are linked to the full-size image.

[[project_screenshots]]

Thanks

Thanks to John Gruber and Aaron Swartz for creating Markdown.

This page is based on some examples from Greg Schueler, greg@vario.us


[한이음 프로젝트] 나만의 가상 CPU 만들기 - C언어로 JK플립플롭 구현

Posted in 분류없음 by

#include "stdio.h"
#include "string.h"

#pragma pack(1)

typedef unsigned char __u8;

struct JKFF{
	__u8 j:1;
	__u8 k:1;
	__u8 q:1;
	__u8 _q:1;
};

struct JKFF_FUNC{
	__u8 (*jkflipflop)(__u8, __u8, __u8);
};

__u8 jkflipflop(__u8 j, __u8 k, __u8 q){
	return j*(~q) + (~k)*q;
}

int main(){
	struct JKFF ff;
	struct JKFF_FUNC ff_func;

	ff_func.jkflipflop = jkflipflop;
	
	memset(&ff, 0x0, sizeof(struct JKFF));

#if 1
	//start while - test JK filpflop function
	ff.q = 1;
	ff.j = 1;
	ff.k = 1;
	ff._q = ff_func.jkflipflop(ff.j, ff.k, ff.q);
	printf("%d, %d, %d, %d\n", ff.q, ff.j, ff.k, ff._q);
#endif

	return 0;
}

/*
 * Reference:	http://zeroway2.com.ne.kr/digital/05/0501/03/050103.html
 *		http://bombofmetal.tistory.com/489
 *		http://donghwada.tistory.com/20
 */


OSI - Chapter 01

Posted in 개인/ㄴOSI by

1.1 기본 구성요소

컴퓨터 구성요소는 다음과 같이 4가지로 구성된다.

  • 처리기(processor): 컴퓨터의 동작을 제어하고 데이터를 처리, 일반적으로 중앙처리장치(CPU)라고 부른다.
  • 주기억장치(main memory): 데이터와 프로그램을 저장, 휘발성(volatile)이다.
  • 입출력 모듈(I/O module): 컴퓨터와 외부 장치 간의 데이터 이동을 담당한다.
  • 시스템 버스(system bus): 처리기, 주기억장치, 그리고 입출력 모듈 간의 통신을 제공한다.

Figure1.1은 상위 수준의 구성요소를 보여준다. 처리기의 기능 중 하나는 메모리와 데이터를 교환하는 것이다. 이 때 MAR과 MBR, 두 개의 내부 레지스터를 이용한다.

  • 메모리 주소 레지스터(MAR:Memory Address Register): 다음에 읽거나 기록할 메모리의 주소를 명시하는 레지스터
  • 메모리 버퍼 레지스터(MBR:Memory Buffer Register): 메모리에 기록되거나 읽힐 데이터를 저장하고 있는 레지스터
  • 입출력 버퍼 레지스터(I/OBR: I/O Buffer Register): 입출력 모듈과 처리기 간의 데이터 교환을 위해 사용
  • 프로그램 카운터(PC): 다음에 수행할 명령어의 주소를 저장한다.
  • 명령어 레지스터(IR): 현재 수행 중인 명령어를 저장한다.

주기억장치는 주소으로 이루어진 집합이다. 각 주소에는 이진수의 값이 저장되어 있는데 이는 명령어 또는 데이터로 해석될 수 있다. 입출력 모듈은 처리기와 주기억장치로 데이터를 전송하거나, 그 역방향으로 데이터를 전송한다. 데이터가 전달될 때까지 일시적으로 데이터를 보관하는 내부 버퍼를 가지고 있다.


1.2 처리기 레지스터

처리기는 일련의 레지스터를 가지고 있으며, 이들은 두 가지 기능을 제공한다.

  • 사용자가 볼 수 있는 레지스터: 레지스터 사용의 최적화를 통해 주기억장치의 참조를 최소화 할 수 있게 한다. IA32에서는 EAX, EBX... ARM에서는 R0, R1... 같은 레지스터 집합
  • 제어 및 상태 레지스터: 처리기가 자신의 동작을 제어하거나 특권(privileged) 운영체제 루틴들이 프로그램의 수행을 제어하기 위해 사용한다. ARM의 CPSR와 같은 레지스터

사용자가 볼 수 있는 레지스터

이 레지스터는 처리기가 수행하는 기계어를 통해 참조할 수 있으며, 시스템 프로그램뿐만 아니라 응용 프로그램까지 모든 프로그램에서 시용할 수 있다. 레지스터의 유형으로 데이터, 주소, 조건 코드 레지스터 등이 있다.

  • 데이터 레지스터: 본질적으로 범용이며, 데이터에 대한 연산을 수행하는 기계어 명령어에 사용된다.
  • 주소 레지스터: 주기억장치 주소를 저장하고 있거나, 주소를 계산하기 위해 사용되는 주소의 일부를 저장한다.
    • 인덱스 레지스터: 인덱스를 이용한 주소지정은 기준값에 인덱스를 더하여 실제 주소를 계산하는 일반적인 주소지정 형태이다.
    • 세그먼트 포인터: 세그먼트를 이용한 주소지정인 경우, [세그먼트: 메모리는 워드로 구성된 가변적인 길이의 블록들]로 나누어진다. 메모리 참조는 특정 세그먼트 지정과 지정된 세그먼트 내에서의 오프셋을 통해 이루어진다.
    • 스택 포인터: 스택 사용방식에 따라 상단 혹은 하단을 가리키는 레지스터가 있다.

제어 및 상태 레지스터

모든 처리기는 상태 정보를 저장하기 위해 흔히 프로그램 상태 워드(PSW: Program Status Word)라고 불리는 레지스터를 포함하도록 설계된다. PSW는 조건 코드(또는 플래그)뿐만 아니라 인터럽트 가능/불능 비트와 커널/사용자 모드 비트와 같은 상태 정보도 포함한다.


1.3 명령어 수행

프로그램은 처리기에 의해 수행되며, 메모리에 저장된 명령어들의 집합으로 구성된다. 명령어 처리는 간단하게, 메모리로부터 한 번에 하나의 명령어를 읽고(fetch) 명령어를 수행(execution)하는 두 단계로 구성된다. 프로그램 수행은 명령어 반입과 명령어 실행의 반복으로 이루어진다.


명령어 반입과 수행

각 명령어 사이클이 시작될 때, 처리기는 메모리로부터 명령어를 가져온다. 일반적으로 프로그램 카운터(PC)는 다음에 가져올 명령어의 주소를 가지고 있다. 별도의 명령이 없는 한, 처리기는 각 명령어를 반입한 후 항상 PC를 증가시켜 다음 명령어가 순서대로 반입하게 한다.

반입된 명령어는 처리기 내의 명령어 레지스터(IR: Instruction Register)로 적재된다. 명령어의 비트들은 처리기가 행해야 할 작업을 명시한다. 처리기는 명령어를 해석하고 요구된 작업을 수행한다. 일반적으로 이러한 작업은 다음 4가지 범주로 분류될 수 있다.

  • 처리기-메모리: 데이터는 처리기로부터 메모리로, 또는 반대로 전송될 수 있다.
  • 처리기-입출력: 처리기와 입출력 모듈 간의 전송을 통해 주변장치로 데이터를 송수신 할 수 있다.
  • 데이터 처리: 처리기는 데이터에 대해 산술 또는 논리 연산을 수행할 수 있다.
  • 제어: 명령어는 수행 순서 변경을 명시할 수 있다.

Figure 1.4는 프로그램의 수행의 일부를 설명하고 있는데, 메모리와 처리기 레지스터 중 관련된 부분을 보여주고 있다.


입출력 기능

데이터는 입출력 모듈(디스크 컨트롤러 등)과 처리기 간에 직접 교환될 수 있다. 메모리의 주소를 지정함으로써 메모리 읽기와 쓰기를 할 수 있듯이, 입출력 모듈을 대상으로 데이터를 읽고 쓸 수 있다.

입출력 모듈 간의 통신 지연시간으로 인해 발생하는 처리기의 대기시간 및 작업 부담을 덜어주기 위해, 메모리와의 입출력 교환이 직접 이루어지게 하는 것이 바람직하다. 이 경우 처리기는 입출력 모듈에 대해 메모리 읽기나 쓰기 권한을 부여함으로써, 처리기를 개입시키지 않고 입출력-메모리 간 전송이 이루어지게 할 수 있다. 이러한 전공 과정에서, 입출력 모듈은 메모리에 대한 읽기 또는 쓰기 명령을 수행하게 되고, 결과적으로 처리기는 데이터 교환의 책임에서 벗어나게 된다. 이 연산을 직접 메모리 접근(DMA: Direct Memory Access)라 한다.


1.4 인터럽트

OSI - Chapter 00

Posted in 개인/ㄴOSI by

시작하기에 앞서...

William Stallings의 운영체제 내부구조 및 설계 원리(제6판)의 책을 공부하려고 한다. 단순히 책을 읽어나가는 것보다 정리하며 학습하면 오래 기억될 것 같아 공부한 내용들을 포스팅해 나갈 것이다. 끝까지 할 수 있을진 모르겠지만...



[한이음 프로젝트] 나만의 가상 CPU 만들기 - 1주차

Posted in 분류없음 by

본 페이지는 한이음 프로젝트 중 하나인 나만의 가상 CPU 만들기의 교육내용과 기술들을 정리하는 목적으로 사용한다.


1주차 과제

  1. RS, T, JK 중 하나로 플립플롭을 구현, Delay 고려
  2. 앞으로 구현할 Assembly Language를 정의
  3. C로 구현한 프로그램을 RTL로 구현

Period 1

  • HDL(Hardware Description Language) - 전자회로를 정밀하게 기술하는데 사용하는 컴퓨터 언어
  • 계산 = 피연산자 + 연산자
  • Memory = [address, value]의 pair
  • flipflop = 1bit storage

Period 2

  • 반도체: 도체 혹은 부도체를 컨트롤 할 수 있는 물체
  • ON/OFF를 나타내기 위한 소자 변천사: Relay -> 진공관 -> 반도체 -> 트렌지스터 -> CMOS(MoSFET)
  • 디지털 논리회로 수업 내용

Period 3

  • program = data structure + algorithm
  • mux = input line selection
  • RTL(Register Transfer Language: C -> Assembly -> RTL
  • CLU: instruction set에서 RTL 명령 셋을 찾고 이에 대한 연산을 처리할 수 있도록 각각의 장치에 명령을 행함

PhysicalDrive CreateFile 문제

Posted in 분류없음 by

VisualStudio Project Menu - Project Properties - Configuration Properties - General - Character Set 을 Use Unicode Character Set에서 Use Multi-Byte Character Set 로 바꿔준다 

Refernece: 
http://flysh.tistory.com/entry/%EC%9C%88%EB%8F%84%EC%9A%B0%EC%97%90%EC%84%9C-Physical-Drive-%EC%A7%81%EC%A0%91-%EC%9D%BD%EA%B3%A0-%EC%93%B0%EA%B8%B0
http://kkamagui.tistory.com/68

Windows7 Ubuntu UEFI방식으로 멀티부팅 설정

Posted in 개인/ㄴLinux by

LG zd360-GK60k를 구매하고 나서 듀얼부팅을 위해 windows7과 ubuntu를 파티션을 각각 나누어 설치하였다. 윈도우를 설치하고, ubuntu를 설치하면 grub로 들어가야 하는데 자동으로 윈도우 부팅만 되는 것이었다. 리눅스 mbr섹터를 복사하기 위해 라이브 우분투모드로 들어가 리눅스 파티션의 512k섹터를 읽어오고 이것을 bcdedit을 사용하여 ubuntu항목을 등록했지만, 부팅하면 커서만 깜빡이는 현상이 발생했다. 알고보니 바이오스가 UEFI방식으로 바뀌면서 이것에 맞게끔 설정을 해줘야 멀티부팅이 가능하다.


## 설정 순서
0. 바이오스 설정 advanced - UEFI Boot : Enabled, Legacy OS Boot : Disabled
1. Ubuntu USB로  Ubuntu 설치(Ubuntu12.04 LTS 지우고 다시 설치 항목 선택)
2. 그러면 UEFI방식으로 드라이버 잡고 gpt테이블로 구성해놓음
3. 다시 Ubuntu USB로 부팅하여 기타항목으로 들어가서 efi영역을 두고 ext4, swap 파티션을 삭제 후 재구성(이 때 사용할 용량으로 설정)
4. 재구성한 ext4파티션에 Ubuntu 재설치, 부트위치는 현재 하디드스크(sdaX가 아닌 sda)
5. Windows7 USB(UEFI방식)으로 생성 - fat32방식으로 해줘야 한다.(그러므로 xDark같은 이미지 파일은 사용할 수 없음)
6. UEFI Windows7 생성 방법은 아래 블로그 참조
7. Windows7 USB로 부팅하여 마지막 파티션에 윈도우를 설치해주자

UEFI방식의 USB로 윈도우를 먼저 설치한 후 우분투를 설치해도 상관없다.


## UEFI 방식으로 USB 디스크 생성
http://sungliky.blogspot.kr/2012/10/ubuntu-thinkpad-e320-1298-rk9-7-1.html


## XCopy 매개변수가 틀립니다 오류 시
xcopy f: h: /s /e     ->      xcopy f:* h: /s /e
위와 같은 식으로 *을 붙여서 해결하였다.


## Ubuntu USB 설치
http://deviantcj.tistory.com/473


## 윈도우 관리자를 이용한 듀얼부팅 설정
http://forlov3u.blog.me/20150375155


## 윈도우7 시스템 예약파티션 제거
http://snoopybox.co.kr/902
http://coolpunch.tistory.com/288



티스토리 툴바