KR20010087868A - Method for booting operating system in Linux - Google Patents

Method for booting operating system in Linux Download PDF

Info

Publication number
KR20010087868A
KR20010087868A KR1020000011676A KR20000011676A KR20010087868A KR 20010087868 A KR20010087868 A KR 20010087868A KR 1020000011676 A KR1020000011676 A KR 1020000011676A KR 20000011676 A KR20000011676 A KR 20000011676A KR 20010087868 A KR20010087868 A KR 20010087868A
Authority
KR
South Korea
Prior art keywords
linux
flash memory
flash
kernel
memory
Prior art date
Application number
KR1020000011676A
Other languages
Korean (ko)
Inventor
김광수
Original Assignee
김광수
리누딕스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김광수, 리누딕스 주식회사 filed Critical 김광수
Priority to KR1020000011676A priority Critical patent/KR20010087868A/en
Publication of KR20010087868A publication Critical patent/KR20010087868A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

PURPOSE: A method for booting the LINUX operating system is provided to mount the LINUX operating system on a flash ROM, not on a floppy disk or hard disk, and to begin the booting in the LINUX by applying a 68000 series micro controller to an embedded system. CONSTITUTION: When a BLFEL(Boot Loader For Embedded Linux) program is performed, the component hardware of LOC(Linux On Chip) becomes initialized(S100). The OS(Operating System) determines if the monitor mode is operated or not(S150). When the signal, which delivers a command from a host computer, is sent to the LOC, the OS runs the monitor mode(S200). The OS checks if the flash memory is normal or not(S250). If the flash memory is not normal, the process returns to the S200 step. Otherwise, a LINUX kernel image, binary file, is downloaded from the host computer and stored to the flash memory. The OS reads and mounts the LINUX kernel image to a RAM memory(S300), and jumps to the start address of the LINUX kernel(S400).

Description

리눅스 운영 체제 부팅 방법{Method for booting operating system in Linux}Method for booting operating system in Linux}

본 발명은 리눅스(Linux) 운영 체제 부팅(Booting) 방법에 관한 것으로, 보다 상세하게는 68000 기반의 임베디드(Embeded) 컨트롤러에 리눅스 운영 체제를 로드(Load)하고 부팅시킬 수 있는 기능을 제공하는 리눅스 운영 체제 부팅 방법에 관한 것이다.The present invention relates to a Linux operating system booting method, and more particularly, Linux operating which provides a function of loading and booting a Linux operating system to an embedded controller based on a 68000. It is about how to boot the system.

최근에, 리눅스 임베디드 시스템의 시장 규모가 급속도로 커져서 시스템의 운영 체제 시장에 대한 윈도와 리눅스의 주도권 다툼이 치열해지고 있으며, 리눅스를 이용해 화상전화와 CDMA(Code Division Multiple Access) 방식의 이동전화 단말기 및 IMT(International Mobile Telecommunication)2000 단말기 개발이 이루어지고 있다. 임베디드 시스템은 기기를 동작하는 운영 체제인 소프트웨어를 컴퓨터처럼 디스크에서 읽어들이는 게 아니라 칩에 담아 기기에 내장시킨 형태의 장치인데, 이동전화 단말기, 셋탑박스, 팜탑, 개인정보기기, 자동차, 전자밥솥 및 냉장고 등과 같이 소프트웨어를 담은 칩이 내장된 장치가 모두 포함된다. 보통, 운영 체제는 용도에 맞는 기능을 얼마나 빠르고 원활하게 구현해주느냐가 핵심인데 리눅스가 윈도즈보다 앞선 것으로 평가되고 있으며, 개인용 컴퓨터의 롬(ROM) 바이오스(BIOS : Basic Input Output System)는 윈도즈와 같은 운영 체제가 수행될 수 있도록 전원 투입 후 메모리의 유효성 검사, 하드웨어의 인식 및 초기화, 운영 체제를 메모리로 복사하는 등의 기능을 담당한다.Recently, the market size of Linux embedded system is growing rapidly, and the battle between Windows and Linux on the operating system market of the system is intensifying. Using Linux, video telephone and CDMA (Mobile Division) type mobile phone terminal and IMT (International Mobile Telecommunication) 2000 terminal development is being made. Embedded system is a device that does not read software, which is an operating system that operates the device, from a disk like a computer, but embeds it in a chip.It is a mobile phone terminal, set-top box, palmtop, personal information device, automobile, and rice cooker. And devices incorporating chips containing software such as refrigerators. In general, the operating system is the key to how quickly and smoothly the function to be used for the purpose, Linux is considered to be ahead of Windows, and ROM (Basic Input Output System) of personal computer is operating like Windows It is responsible for validating memory after powering up, recognizing and initializing hardware, and copying the operating system to memory so that the system can be executed.

도 1은 종래 기술에 의한 리눅스 운영 체제를 탑재한 컴퓨터의 구성도이다.1 is a block diagram of a computer equipped with a Linux operating system according to the prior art.

도 1에 있어서, 종래 기술에 의한 리눅스 운영 체제를 탑재한 컴퓨터는 컴퓨터 본체(10), 모니터(20), 키보드(30),CD롬 드라이버(40) 및 플로피디스크 드라이버(50)로 구성되며, 컴퓨터 본체(10)는 중앙처리장치(11), 롬 바이오스(12), 램(13), 플래시(Flash)/하드 디스크(14) 및 컴퓨터 구성수단과의 인터페이스를 위한 외부인터페이스(15)로 구성된다.In FIG. 1, a computer equipped with a Linux operating system according to the prior art is composed of a computer main body 10, a monitor 20, a keyboard 30, a CD ROM driver 40, and a floppy disk driver 50. The computer body 10 is composed of a central processing unit 11, a ROM BIOS 12, a RAM 13, a flash / hard disk 14, and an external interface 15 for interfacing with a computer component. do.

리눅스 운영 체제를 탑재하기 위해서는 롬 바이오스(12)가 필요한데, 이 롬 바이오스(12)는 전원이 켜지면 컴퓨터 하드웨어의 구성을 검사하고 CD롬 드라이버(40)나 플로피디스크 드라이버(50)가 장착되어 있는지 검사하다. CD롬 드라이버(40)나 플로피디스크 드라이버(50)로부터 리눅스 커널 이미지인 바이너리 파일(Binary file)을 읽어서 플래시(Flash)/하드 디스크(14)에 저장하고, 이후 전원이 재투입되면 롬 바이오스(12)가 기동되어 하드웨어 검사를 수행한 후 플래시/하드 디스크(14)로부터 리눅스 커널 이미지를 읽어서 주 메모리인 램(13)에 복사한 후 리눅스로 부팅한다. 즉, 플래시/하드 디스크(14)에 OS(Operating System)가 탑재되어 있는지 여부를 확인하여 주 메모리인 램(13) 영역에 복사하고 탑재된 OS를 부팅할 수 있도록 한다. 상술한 플래시/하드 디스크(14)의 플래시 디스크는 플래시롬과 파일시스템 구현용 제어칩을 함께 장착하여 구성되어 플래시/하드 디스크(14)의 하드 디스크와 유사한 성능을 갖는다.The ROM BIOS 12 is required to run the Linux operating system. The ROM BIOS 12 checks the configuration of the computer hardware when the power is turned on and checks whether the CD ROM driver 40 or the floppy disk driver 50 is installed. Check. Reads a binary file, which is a Linux kernel image, from a CD-ROM driver 40 or a floppy disk driver 50, and stores it in a flash / hard disk 14. ) Starts up, performs a hardware test, reads the Linux kernel image from the flash / hard disk (14), copies it into RAM (13), and then boots into Linux. In other words, it checks whether the OS (Operating System) is mounted on the flash / hard disk 14 and copies it to the RAM 13 area as main memory to boot the mounted OS. The flash disk of the flash / hard disk 14 described above is configured by mounting a flash ROM and a control system for implementing a file system together, and has a performance similar to that of the hard disk of the flash / hard disk 14.

그런데, 종래 기술에 의한 리눅스 운영 체제를 탑재한 컴퓨터는 다음과 같은 문제점이 발생한다.However, a computer equipped with a Linux operating system according to the prior art has the following problems.

리눅스를 탑재하기 위하여 반드시 롬 바이오스가 장착된 임베디드 컴퓨터를 사용하여야 하며, CD롬 드라이버나 플로피디스크 드라이버, 키보드, 모니터를 장착하여 복잡한 케이블링 과정을 거쳐야만 컴퓨터의 동작이 가능하다. 또한, 리눅스 커널 이미지를 저장하기 위하여 사용되는 메모리로 플래시 디스크나 하드 디스크가 채택되는데, 플래시 디스크는 하드 디스크처럼 동작하도록 파일시스템이 구현된 반도체 메모리로서 컴퓨터 내부에 기능을 구현하기 위한 별도의 칩이 장착된 제품으로 용량에 비해 고가이며, 하드 디스크는 임베디드 시스템에 적용하기에는 부피가 크고 충격과 진동에 취약하다.In order to install Linux, you must use embedded computer equipped with ROM BIOS and operate the computer only after complicated cabling process by installing CD ROM driver, floppy disk driver, keyboard and monitor. In addition, a flash disk or a hard disk is adopted as a memory used to store a Linux kernel image. A flash disk is a semiconductor memory in which a file system is implemented to act like a hard disk, and a separate chip for implementing a function inside a computer is provided. It is expensive compared to its capacity, and hard disks are bulky to apply to embedded systems and are vulnerable to shock and vibration.

따라서, 본 발명은 이와 같은 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 68000 계열의 마이크로 컨트롤러를 사용한 임베디드 시스템에 적용함으로써, 리눅스 운영 체제의 탑재 및 부팅을 구현하기 위하여 플로피 디스크나 플래시/하드 디스크가 아닌 플래시 롬에 리눅스 운영 체제를 탑재하고, 이를 주메모리에 복사하여 유효성을 검사하여 리눅스로의 부팅을 시작하도록 하는 리눅스 운영 체제 부팅 방법을 제공하는데 있다.Therefore, the present invention is to solve such a problem, the object of the present invention is applied to an embedded system using a 68000 series of microcontroller, to implement the mounting and booting of the Linux operating system floppy disk or flash / hard disk It provides a Linux operating system booting method that loads the Linux operating system into a non-volatile flash ROM, copies it into main memory, validates it, and starts booting into Linux.

도 1은 종래 기술에 의한 리눅스 운영 체제를 탑재한 컴퓨터의 구성도,1 is a block diagram of a computer equipped with a Linux operating system according to the prior art,

도 2는 본 발명에 따른 리눅스 운영 체제 부팅 방법을 수행하기 위한 장치의 구성도,2 is a block diagram of an apparatus for performing a Linux operating system booting method according to the present invention;

도 3은 본 발명에 따른 리눅스 운영 체제 부팅 방법을 수행하기 위한 흐름도,3 is a flowchart for performing a Linux operating system booting method according to the present invention;

도 4는 도 3에 도시된 본 발명에 따른 리눅스 운영 체제 부팅 방법의 세부 흐름도,4 is a detailed flowchart of a Linux operating system booting method according to the present invention shown in FIG.

도 5는 도 3에 도시된 본 발명에 따른 리눅스 운영 체제 부팅 방법의 다른 세부 흐름도,5 is another detailed flowchart of the Linux operating system booting method according to the present invention shown in FIG.

도 6은 도 3에 도시된 본 발명에 따른 리눅스 운영 체제 부팅 방법의 또 다른 세부 흐름도,6 is another detailed flowchart of the Linux operating system booting method according to the present invention shown in FIG. 3;

도 7은 도 3에 도시된 본 발명에 따른 리눅스 운영 체제 부팅 방법의 또 다른 세부 흐름도.7 is another detailed flowchart of the Linux operating system booting method according to the present invention shown in FIG.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

100 : LOC 110 : 중앙처리장치100: LOC 110: central processing unit

120 : 플래시롬 130 : 램120: flash ROM 130: RAM

140 : 외부인터페이스 200 : 호스트 컴퓨터140: external interface 200: host computer

210 : 모니터 220 : 컴퓨터본체210: monitor 220: computer body

230 : 키보드230: keyboard

이와 같은 목적을 달성하기 위한 본 발명의 특징은, 리눅스를 탑재한 임베디드 시스템을 이용하여 전자 기기를 동작하는 운영 체제에 있어서, 상기 전자 기기의 구성 하드웨어를 초기화 하는 제 1 과정; 상기 제 1 과정에서 상기 전자 기기가 초기화되면 모니터 모드로 진입할 것인가 판단하는 제 2 과정; 상기 제 2 과정에서 모니터 모드로 진입하면 모니터 모드를 실행하는 제 3 과정; 상기 제 2 과정에서 모니터 모드로 진입하지 않거나 상기 제 3 과정에서 모니터 모드를 실행하면 플래시 메모리가 정상인가 판단하는 제 4 과정; 상기 제 4 과정에서 상기 플래시 메모리가 정상이 아니면 상기 제 3 과정으로 복귀하고, 상기 플래시 메모리가 정상이면 상기 플래시 메모리에서 상기 리눅스의 커널 이미지를 읽어서 램 메모리에 탑재하는 제 5 과정; 및 상기 제 5 과정에서 상기 램 메모리에 상기 리눅스의 커널 이미지가 탑재되면 상기 리눅스의 커널의 시작 번지로 점프하는 제 6 과정을 포함하는데 있다.A feature of the present invention for achieving the above object is an operating system for operating an electronic device using an embedded system equipped with Linux, comprising: a first process of initializing configuration hardware of the electronic device; A second step of determining whether to enter a monitor mode when the electronic device is initialized in the first step; A third step of executing a monitor mode when entering the monitor mode in the second step; A fourth step of determining whether the flash memory is normal when the monitor mode is not entered into the second process or the monitor mode is executed in the third process; A fifth process of returning to the third process if the flash memory is not normal in the fourth process, and if the flash memory is normal, reading a kernel image of the Linux from the flash memory and loading the RAM image into the RAM memory; And a sixth process of jumping to a start address of the kernel of the Linux when the kernel image of the Linux is mounted in the RAM memory in the fifth process.

바람직하게, 상기 제 1 과정은 상기 전자 기기의 구성 하드웨어를 초기화하기 위하여 내장 타이머를 초기화하는 제 1 단계; 상기 제 1 단계에서 상기 내장 타이머가 초기화되면 직렬 통신을 초기화하는 제 2 단계; 상기 제 2 단계에서 상기 직렬 통신이 초기화되면 상기 플래시 메모리의 영역 크기를 설정하는 제 3 단계; 상기 제 3 단계에서 상기 플래시 메모리의 영역 크기가 설정되면 상기 램 메모리의 영역 크기를 설정하는 제 4 단계; 및 상기 제 4 단계에서 상기 램 메모리의 영역 크기가 설정되면 인터럽트 핸들러를 설정하는 제 5 단계를 포함하는데 있다.Preferably, the first process comprises: a first step of initializing a built-in timer to initialize configuration hardware of the electronic device; A second step of initializing serial communication when the internal timer is initialized in the first step; A third step of setting an area size of the flash memory when the serial communication is initialized in the second step; A fourth step of setting an area size of the RAM memory when the area size of the flash memory is set in the third step; And a fifth step of setting an interrupt handler when an area size of the RAM memory is set in the fourth step.

바람직하게, 상기 제 3 과정은 상기 모니터 모드를 실행하기 위하여 명령어를 감지하였는가 판단하는 제 1 단계; 상기 제 1 단계에서 상기 명령어를 감지하지 못했으면 상기 명령어를 수신하기 위하여 상기 제 1 단계로 복귀하는 제 2 단계; 상기 제 1 단계에서 상기 명령어가 감지되었으면 상기 램 메모리를 사용하여 읽기/쓰기를 하며, 통신 칩을 액세스하고, 직렬 통신을 통한 상기 리눅스의 커널을 수신하고, 그리고 상기 플래시 메모리로 프로그래밍하는 제 3 단계; 상기 제 3 단계가 수행되면 상기 명령어를 수신하여 상기 제 1 단계로 복귀하는 제 4 단계; 및 상기 제 1 단계에서 상기 명령어가 감지되었으면 상기 플래시 메모리의 플래시 부트를 명령하는 제 5 단계를 포함하는데 있다.Preferably, the third process includes a first step of determining whether a command is detected to execute the monitor mode; A second step of returning to the first step to receive the command if the command is not detected in the first step; A third step of reading / writing using the RAM memory, accessing a communication chip, receiving the kernel of the Linux through serial communication, and programming into the flash memory if the command is detected in the first step. ; A fourth step of receiving the command and returning to the first step when the third step is performed; And a fifth step of instructing a flash boot of the flash memory when the command is detected in the first step.

바람직하게, 상기 제 5 과정은 상기 플래시 메모리로부터 상기 리눅스의 커널 이미지를 읽어서 상기 램 메모리에 탑재하기 위하여 상기 플래시 메모리의 플래시 이미지 파일의 유효성을 검사하는 제 1 단계; 상기 제 1 단계에서 검사된 상기 플래시 이미지 파일의 유효성이 정상인가 판단하는 제 2 단계; 상기 제 2 단계에서 상기 플래시 이미지 파일의 유효성이 정상이 아니면 에러 보고를 수행하는 제 3 단계; 및 상기 제 2 단계에서 상기 플래시 이미지 파일의 유효성이 정상이면 상기 플래시 메모리의 이미지 파일을 상기 램 메모리의 블럭으로 복사하는 제 4 단계를 포함하는데 있다.Preferably, the fifth step includes a first step of validating a flash image file of the flash memory to read a kernel image of the Linux from the flash memory and to mount the kernel image in the RAM memory; A second step of determining whether the validity of the flash image file checked in the first step is normal; A third step of performing an error report if the validity of the flash image file is not normal in the second step; And a fourth step of copying the image file of the flash memory to the block of the RAM memory when the validity of the flash image file is normal in the second step.

바람직하게, 상기 제 6 과정은 상기 리눅스의 커널의 시작 번지로 점프하기 위하여 상기 리눅스의 커널 동작을 시작하는 제 1 단계; 및 상기 제 1 단계에서 상기 리눅스의 커널 동작이 시작되면 상기 플래시 메모리에 기초로한 상기 임베디드 시스템의 상기 리눅스 동작을 시작하는 제 2 단계를 포함하는데 있다.Preferably, the sixth step may include a first step of starting a kernel operation of the Linux to jump to a start address of the kernel of the Linux; And a second step of starting the Linux operation of the embedded system based on the flash memory when the kernel operation of the Linux is started in the first step.

이하, 본 발명의 바람직한 실시예에 대하여 첨부 도면을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조 부호를 부가함에 있어서, 동일한 구성요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호로 표기되었음에 유의하여야 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. First, in adding reference numerals to the components of each drawing, it should be noted that the same reference numerals are denoted by the same reference numerals as much as possible even if displayed on the other drawings.

도 2는 본 발명에 따른 리눅스 운영 체제 부팅 방법을 수행하기 위한 장치의 구성도이며, 도 3은 본 발명에 따른 리눅스 운영 체제 부팅 방법을 수행하는 흐름도이다.2 is a block diagram of a device for performing a Linux operating system booting method according to the present invention, Figure 3 is a flow chart for performing a Linux operating system booting method according to the present invention.

도 2 및 도 3에 있어서, 본 발명에 따른 리눅스 운영 체제 부팅 방법을 수행하기 위해서 중앙처리장치(110), 플래시롬(120), 램(130) 및 외부인터페이스(140)으로 구성되는 LOC(Linux On Chip)(100)와, 모니터(210), 컴퓨터본체(220) 및 키보드(230)로 구성되는 호스트 컴퓨터(200)로 이루어져 있는데, LOC(100)와 호스트 컴퓨터(200)는 RS-232C통신 케이블로 연결되어 있다. 또한, 호스트 컴퓨터(200)는 터미널 에뮬레이터 프로그램이 장착되어 있다.2 and 3, LOC (Linux) consisting of the central processing unit 110, flash ROM 120, RAM 130 and the external interface 140 to perform the Linux operating system booting method according to the present invention. On Chip) 100, and a host computer 200 composed of a monitor 210, a computer body 220 and a keyboard 230, the LOC 100 and the host computer 200 is RS-232C communication It is connected by cable. The host computer 200 is also equipped with a terminal emulator program.

LOC(100)의 플래시롬(120)은 칩형태의 반도체 부품으로 종래기술의 플래시/하드 디스크(14)의 플래시 디스크에 장착된 플래시롬과 파일시스템 구현용 칩중 파일시스템 구현용 제어칩이 없는 형태를 갖는다.The flash ROM 120 of the LOC 100 is a chip-shaped semiconductor component, and there is no flash ROM mounted on a flash disk of the conventional flash / hard disk 14 and a control chip for implementing a file system among the chips for implementing a file system. Has

도 1의 롬 바이오스(12)나 CD롬 드라이버(40) 등이 없이 LOC(100)에 리눅스를 탑재하기 위해서 BLFEL(Boot Loader For Embeded Linux)프로그램을 이용하는데, 이 BLFEL프로그램이 롬 바이오스(12)를 대체하게 된다. BLFEL프로그램이 LOC(100)에 저장되어야만 이후 통신을 통한 리눅스의 탑재가 가능해지는데, 이 리눅스를 탑재하기 위해서는 LOC(100)와 같은 전자 기기에 전원을 투입하고 BLFEL프로그램을 수행한다. BLFEL프로그램이 수행되면 LOC(100)의 구성 하드웨어가 초기화 되고(단계 S100), S100 단계에서 LOC(100)가 초기화되면 모니터(210)를 실행시키는 모니터 모드로 진입할 것인가 판단한다(단계 S150).In order to mount Linux on the LOC 100 without the ROM BIOS 12 or the CD ROM driver 40 of FIG. 1, a BLoader (Boot Loader For Embeded Linux) program is used. The BLFEL program is a ROM BIOS 12. Will replace. Only after the BLFEL program is stored in the LOC 100 is it possible to mount Linux through communication. In order to mount this Linux, power is supplied to an electronic device such as the LOC 100 and the BLFEL program is executed. When the BLFEL program is executed, the configuration hardware of the LOC 100 is initialized (step S100). When the LOC 100 is initialized in step S100, it is determined whether to enter the monitor mode for executing the monitor 210 (step S150).

S150 단계에서 호스트컴퓨터(200)로부터 명령을 전달하라는 신호가 LOC(100)에 전달되면 모니터 모드로 진입하여 모니터 모드를 실행한다(단계 S200). S150 단계에서 모니터 모드로 진입되지 않거나, S200 단계에서 모니터 모드를 실행하면 플래시롬(120)인 플래시 메모리가 정상인가 판단한다(단계 S250).When a signal for transmitting a command from the host computer 200 to the LOC 100 is transmitted in step S150, the monitor enters the monitor mode and executes the monitor mode (step S200). If the monitor mode is not entered in step S150 or if the monitor mode is executed in step S200, it is determined whether the flash memory 120 of the flash ROM 120 is normal (step S250).

S250 단계에서 플래시롬(120)인 플래시 메모리가 정상이 아니면 S200 단계로 복귀하고, 플래시롬(120)인 플래시 메모리가 정상이면 호스트컴퓨터(200)로부터 바이너리 파일인 리눅스 커널 이미지가 다운 로드되어 플래시롬(120)인 플래시 메모리에 저장된다.If the flash memory 120 of the flash ROM 120 is not normal in step S250, the process returns to step S200. If the flash memory of the flash ROM 120 is normal, the Linux kernel image, which is a binary file, is downloaded from the host computer 200 and the flash ROM is downloaded. 120 is stored in the flash memory.

S250 단계를 수행한 후에 플래시롬(120)인 플래시 메모리에 저장된 리눅스의 커널 이미지를 읽어서 주 메모리인 램(130) 메모리에 탑재하고(단계 S300), S300 단계에서 램(130) 메모리에 리눅스의 커널 이미지가 탑재되면 리눅스의 커널의 시작 번지로 점프한다(단계 S400).After performing step S250, the kernel image of Linux stored in the flash memory 120 is read and loaded into the RAM 130 memory, which is the main memory (step S300), and the kernel of Linux is stored in the RAM 130 memory at step S300. If the image is mounted, jump to the starting address of the kernel of Linux (step S400).

도 4는 도 3에 도시된 본 발명에 따른 리눅스 운영 체제 부팅 방법의 세부 흐름도이다.4 is a detailed flowchart of a Linux operating system booting method according to the present invention shown in FIG. 3.

도 4에 있어서, 전자 기기인 호스트 컴퓨터(200)의 구성 하드웨어를 초기화하기 위하여 호스트 컴퓨터(200)의 내장 타이머(도시되지 않음)를 초기화하고(단계S101), S101 단계에서 내장 타이머가 초기화되면 RS-232C를 통한 직렬 통신을 초기화한다(단계 S102). S102 단계에서 직렬 통신이 초기화되면 플래시롬(120)인 플래시 메모리의 영역 크기를 설정하고(단계 S103), S103 단계에서 플래시롬(120)인 플래시 메모리의 영역 크기가 설정되면 램(130) 메모리의 영역 크기를 설정한다(단계 S104). S104 단계에서 램(130) 메모리의 영역 크기가 설정되면 인터럽트 핸들러를 설정한다(단계 S105).In FIG. 4, in order to initialize the configuration hardware of the host computer 200, which is an electronic device, an internal timer (not shown) of the host computer 200 is initialized (step S101). Initialize the serial communication via -232C (step S102). When the serial communication is initialized in step S102, the area size of the flash memory, which is the flash ROM 120, is set (step S103). When the area size of the flash memory, which is the flash ROM 120, is set, in step S103, The area size is set (step S104). If the area size of the RAM 130 memory is set in step S104, an interrupt handler is set (step S105).

도 5는 도 3에 도시된 본 발명에 따른 리눅스 운영 체제 부팅 방법의 다른 세부 흐름도이다.5 is another detailed flowchart of the Linux operating system booting method according to the present invention shown in FIG. 3.

도 5에 있어서, 모니터 모드를 실행하기 위하여 LOC(100)가 호스트 컴퓨터(200)로부터 전송되는 명령어를 감지하였는가 판단하여(단계 S201), S201 단계에서 명령어를 감지하지 못했으면 명령어를 수신하기 위하여 S201 단계로 복귀한다(단계 S202). S202 단계에서 명령어가 감지되었으면 램(130) 메모리를 사용하여 읽기/쓰기를 하며(단계 S203), 호스트 컴퓨터(200)의 통신 칩(도시되지 않음)을 액세스하고(단계 S204), 직렬 통신을 통하여 리눅스의 커널을 수신하고(단계 S205), 그리고 플래시롬(120)인 플래시 메모리로 프로그래밍하여(단계 S206), 리눅스 커널 이미지를 저장한다.In FIG. 5, it is determined whether the LOC 100 detects a command transmitted from the host computer 200 to execute the monitor mode (step S201), and if it is not detected in step S201, to receive a command S201. Return to step (step S202). If an instruction is detected in step S202, the memory is read / write using the RAM 130 (step S203), a communication chip (not shown) of the host computer 200 is accessed (step S204), and serial communication is performed. The kernel of Linux is received (step S205), and the flash memory 120 is programmed to flash memory (step S206) to store the Linux kernel image.

S203 단계내지 S206 단계가 수행되면 LOC(100)는 호스트 컴퓨터(200)로부터 명령어를 수신하여(단계 S207), S201 단계로 복귀한다. 이후 호스트 컴퓨터(200)가 재기동되어 다시 명령어가 감지되었으면 플래시롬(120)인 플래시 메모리로부터 리눅스 커널 이미지를 읽어서 램(130) 메모리에 복사한 후 플래시 부트를 명령한다(단계 S208).When steps S203 to S206 are performed, the LOC 100 receives a command from the host computer 200 (step S207), and returns to step S201. Then, if the host computer 200 is restarted and the command is detected again, the Linux kernel image is read from the flash memory, which is the flash ROM 120, copied to the RAM 130 memory, and then the flash boot command is executed (step S208).

도 6은 도 3에 도시된 본 발명에 따른 리눅스 운영 체제 부팅 방법의 또 다른 세부 흐름도이다.6 is another detailed flowchart of the Linux operating system booting method according to the present invention shown in FIG. 3.

도 6에 있어서, 플래시롬(120)인 플래시 메모리로부터 리눅스의 커널 이미지를 읽어서 램(130) 메모리에 탑재하기 위하여 플래시롬(120)인 플래시 메모리의 플래시 이미지 파일의 유효성을 검사하고(단계 S301), S301 단계에서 검사된 플래시 이미지 파일의 유효성이 정상인가 판단하여(단계 S302), S302 단계에서 플래시 이미지 파일의 유효성이 정상이 아니면 LOC(100)가 호스트 컴퓨터(200)에 에러 보고를 수행한다(단계 S303). S302 단계에서 플래시 이미지 파일의 유효성이 정상이면 플래시롬(120)인 플래시 메모리의 이미지 파일을 램(130) 메모리의 블럭으로 복사한다(단계 S304).In Fig. 6, in order to read the kernel image of Linux from the flash memory, which is the flash ROM 120, and to mount it in the RAM 130, the validity of the flash image file of the flash memory which is the flash ROM 120 is checked (step S301). In step S301, the validity of the flash image file checked in step S302 is determined to be normal (step S302). If the validity of the flash image file is not normal in step S302, the LOC 100 reports an error to the host computer 200 ( Step S303). If the validity of the flash image file is normal in step S302, the image file of the flash memory 120 that is the flash ROM 120 is copied to a block of the RAM 130 memory (step S304).

도 7은 도 3에 도시된 본 발명에 따른 리눅스 운영 체제 부팅 방법의 또 다른 세부 흐름도이다.7 is another detailed flowchart of the Linux operating system booting method according to the present invention shown in FIG. 3.

도 7에 있어서, 리눅스의 커널의 시작 번지로 점프하기 위하여 리눅스의 커널 동작을 시작하여(단계 S401), S401 단계에서 리눅스의 커널 동작이 시작되면 리눅스 커널에 의한 리눅스 기능을 수행하기 위하여 플래시롬(120)인 플래시 메모리에 기초로한 임베디드 시스템의 리눅스 동작을 시작한다(단계 S402).In FIG. 7, the kernel operation of Linux is started to jump to the starting address of the kernel of Linux (step S401). When the kernel operation of Linux is started at step S401, a flash ROM ( 120, the Linux operation of the embedded system based on the flash memory is started (step S402).

이와 같이, 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범주에서 벗어나지 않는 한도 내에서 여러가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구범위 뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.As described above, in the detailed description of the present invention, specific embodiments have been described, but various modifications are possible without departing from the scope of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined by the claims below and equivalents thereof.

결국, 본 발명에 의한 리눅스 운영 체제 부팅 방법에 따르면 다음과 같은 이점이 발생한다.As a result, according to the Linux operating system booting method according to the present invention the following advantages occur.

즉, 리눅스 탑재를 위한 롬 바이오스가 필요 없고 CD롬 드라이버, 플로피디스크 드라이버, 키보드 및 모니터와 같은 주변장치가 필요없으며 기존의 임베디드 컴퓨터에 비하여 초소형으로 제작이 가능하여 생산 가격이 아주 저렴하며, 범용 마이크로프로세서 응용 제품인 일반적인 임베디드 시스템에 리눅스의 탑재가 가능하다.In other words, it doesn't need ROM BIOS for Linux, no peripheral device such as CD ROM driver, floppy disk driver, keyboard and monitor, and it can be manufactured in a very small size compared to the existing embedded computer. Linux can be built into a typical embedded system that is a processor application.

Claims (6)

리눅스를 탑재한 임베디드 시스템을 이용하여 전자 기기를 동작하는 운영 체제에 있어서,In an operating system operating an electronic device using an embedded system equipped with Linux, 상기 전자 기기의 구성 하드웨어를 초기화 하는 제 1 과정;A first step of initializing configuration hardware of the electronic device; 상기 제 1 과정에서 상기 전자 기기가 초기화되면 모니터 모드로 진입할 것인가 판단하는 제 2 과정;A second step of determining whether to enter a monitor mode when the electronic device is initialized in the first step; 상기 제 2 과정에서 모니터 모드로 진입하면 모니터 모드를 실행하는 제 3 과정;A third step of executing a monitor mode when entering the monitor mode in the second step; 상기 제 2 과정에서 모니터 모드로 진입하지 않거나 상기 제 3 과정에서 모니터 모드를 실행하면 플래시 메모리가 정상인가 판단하는 제 4 과정;A fourth step of determining whether the flash memory is normal when the monitor mode is not entered into the second process or the monitor mode is executed in the third process; 상기 제 4 과정에서 상기 플래시 메모리가 정상이 아니면 상기 제 3 과정으로 복귀하고, 상기 플래시 메모리가 정상이면 상기 플래시 메모리에서 상기 리눅스의 커널 이미지를 읽어서 램 메모리에 탑재하는 제 5 과정; 및A fifth process of returning to the third process if the flash memory is not normal in the fourth process, and if the flash memory is normal, reading a kernel image of the Linux from the flash memory and loading the RAM image into the RAM memory; And 상기 제 5 과정에서 상기 램 메모리에 상기 리눅스의 커널 이미지가 탑재되면 상기 리눅스의 커널의 시작 번지로 점프하는 제 6 과정을 포함하는 것을 특징으로 하는 리눅스 운영 체제 부팅 방법.And a sixth step of jumping to a start address of the kernel of the Linux when the kernel image of the Linux is mounted in the RAM memory in the fifth step. 제 1 항에 있어서, 상기 제 1 과정은The method of claim 1, wherein the first process is 상기 전자 기기의 구성 하드웨어를 초기화하기 위하여 내장 타이머를 초기화하는 제 1 단계;A first step of initializing a built-in timer to initialize configuration hardware of the electronic device; 상기 제 1 단계에서 상기 내장 타이머가 초기화되면 직렬 통신을 초기화하는 제 2 단계;A second step of initializing serial communication when the internal timer is initialized in the first step; 상기 제 2 단계에서 상기 직렬 통신이 초기화되면 상기 플래시 메모리의 영역 크기를 설정하는 제 3 단계;A third step of setting an area size of the flash memory when the serial communication is initialized in the second step; 상기 제 3 단계에서 상기 플래시 메모리의 영역 크기가 설정되면 상기 램 메모리의 영역 크기를 설정하는 제 4 단계; 및A fourth step of setting an area size of the RAM memory when the area size of the flash memory is set in the third step; And 상기 제 4 단계에서 상기 램 메모리의 영역 크기가 설정되면 인터럽트 핸들러를 설정하는 제 5 단계를 포함하는 것을 특징으로 하는 리눅스 운영 체제 부팅 방법.And a fifth step of setting an interrupt handler when the area size of the RAM memory is set in the fourth step. 제 1 항에 있어서, 상기 제 3 과정은The method of claim 1, wherein the third process is 상기 모니터 모드를 실행하기 위하여 명령어를 감지하였는가 판단하는 제 1 단계;A first step of determining whether a command is detected to execute the monitor mode; 상기 제 1 단계에서 상기 명령어를 감지하지 못했으면 상기 명령어를 수신하기 위하여 상기 제 1 단계로 복귀하는 제 2 단계;A second step of returning to the first step to receive the command if the command is not detected in the first step; 상기 제 1 단계에서 상기 명령어가 감지되었으면 상기 램 메모리를 사용하여 읽기/쓰기를 하며, 통신 칩을 액세스하고, 직렬 통신을 통한 상기 리눅스의 커널을 수신하고, 그리고 상기 플래시 메모리로 프로그래밍하는 제 3 단계;A third step of reading / writing using the RAM memory, accessing a communication chip, receiving the kernel of the Linux through serial communication, and programming into the flash memory if the command is detected in the first step. ; 상기 제 3 단계가 수행되면 상기 명령어를 수신하여 상기 제 1 단계로 복귀하는 제 4 단계; 및A fourth step of receiving the command and returning to the first step when the third step is performed; And 상기 제 1 단계에서 상기 명령어가 감지되었으면 상기 플래시 메모리의 플래시 부트를 명령하는 제 5 단계를 포함하는 것을 특징으로 하는 리눅스 운영 체제 부팅 방법.And a fifth step of instructing a flash boot of the flash memory when the command is detected in the first step. 제 1 항에 있어서, 상기 제 5 과정은The method of claim 1, wherein the fifth process 상기 플래시 메모리로부터 상기 리눅스의 커널 이미지를 읽어서 상기 램 메모리에 탑재하기 위하여 상기 플래시 메모리의 플래시 이미지 파일의 유효성을 검사하는 제 1 단계;A first step of validating a flash image file of the flash memory to read a kernel image of the Linux from the flash memory and to load the kernel image into the RAM memory; 상기 제 1 단계에서 검사된 상기 플래시 이미지 파일의 유효성이 정상인가 판단하는 제 2 단계;A second step of determining whether the validity of the flash image file checked in the first step is normal; 상기 제 2 단계에서 상기 플래시 이미지 파일의 유효성이 정상이 아니면 에러 보고를 수행하는 제 3 단계; 및A third step of performing an error report if the validity of the flash image file is not normal in the second step; And 상기 제 2 단계에서 상기 플래시 이미지 파일의 유효성이 정상이면 상기 플래시 메모리의 이미지 파일을 상기 램 메모리의 블럭으로 복사하는 제 4 단계를 포함하는 것을 특징으로 하는 리눅스 운영 체제 부팅 방법.And copying the image file of the flash memory into the block of the RAM memory when the validity of the flash image file is normal in the second step. 제 1 항에 있어서, 상기 제 6 과정은The method of claim 1, wherein the sixth process 상기 리눅스의 커널의 시작 번지로 점프하기 위하여 상기 리눅스의 커널 동작을 시작하는 제 1 단계; 및Starting a kernel operation of the Linux to jump to a start address of the kernel of the Linux; And 상기 제 1 단계에서 상기 리눅스의 커널 동작이 시작되면 상기 플래시 메모리에 기초로한 상기 임베디드 시스템의 상기 리눅스 동작을 시작하는 제 2 단계를 포함하는 것을 특징으로 하는 리눅스 운영 체제 부팅 방법.And a second step of starting the Linux operation of the embedded system based on the flash memory when the kernel operation of the Linux is started in the first step. 제 1 항에 있어서,The method of claim 1, 리눅스 커널 이미지는 바이너리 파일임을 특징으로 하는 리눅스 운영 체제 부팅 방법.A Linux operating system boot method, characterized in that the Linux kernel image is a binary file.
KR1020000011676A 2000-03-09 2000-03-09 Method for booting operating system in Linux KR20010087868A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000011676A KR20010087868A (en) 2000-03-09 2000-03-09 Method for booting operating system in Linux

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000011676A KR20010087868A (en) 2000-03-09 2000-03-09 Method for booting operating system in Linux

Publications (1)

Publication Number Publication Date
KR20010087868A true KR20010087868A (en) 2001-09-26

Family

ID=19653463

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000011676A KR20010087868A (en) 2000-03-09 2000-03-09 Method for booting operating system in Linux

Country Status (1)

Country Link
KR (1) KR20010087868A (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000064023A (en) * 2000-08-17 2000-11-06 송경엽 Method for connecting internet through cd rom booting in linux operating system
KR100469669B1 (en) * 2002-09-24 2005-02-02 삼성전자주식회사 System to boot using flash memory and the method thereof
KR100508087B1 (en) * 2002-03-08 2005-08-17 삼성전자주식회사 System boot using nand flash memory and method thereof
KR100621095B1 (en) * 2004-04-07 2006-09-08 삼성전자주식회사 Booting-system and booting-method for initializing peripherals
KR20070077463A (en) * 2006-01-23 2007-07-26 키몬다 아게 Method of system booting with a direct memory access in a new memory architecture
KR100764875B1 (en) * 2005-08-17 2007-10-09 주식회사 유비스티 Computer system for low electric power by using flash memory and method therefor
KR100848323B1 (en) * 2005-12-08 2008-07-24 한국전자통신연구원 Method for enhancing real time response in embedded OS kernel
US7694122B2 (en) 2005-05-25 2010-04-06 Samsung Electronics Co., Ltd. Electronic device and booting method thereof
US7925928B2 (en) 2003-12-25 2011-04-12 Panasonic Corporation Information processing apparatus for performing a system boot by using programs stored in a non-volatile storage device
KR20130095142A (en) * 2012-02-17 2013-08-27 인포뱅크 주식회사 Recording medium, method and device for program execution

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000064023A (en) * 2000-08-17 2000-11-06 송경엽 Method for connecting internet through cd rom booting in linux operating system
KR100508087B1 (en) * 2002-03-08 2005-08-17 삼성전자주식회사 System boot using nand flash memory and method thereof
KR100469669B1 (en) * 2002-09-24 2005-02-02 삼성전자주식회사 System to boot using flash memory and the method thereof
US7925928B2 (en) 2003-12-25 2011-04-12 Panasonic Corporation Information processing apparatus for performing a system boot by using programs stored in a non-volatile storage device
KR100621095B1 (en) * 2004-04-07 2006-09-08 삼성전자주식회사 Booting-system and booting-method for initializing peripherals
US7694122B2 (en) 2005-05-25 2010-04-06 Samsung Electronics Co., Ltd. Electronic device and booting method thereof
KR100764875B1 (en) * 2005-08-17 2007-10-09 주식회사 유비스티 Computer system for low electric power by using flash memory and method therefor
KR100848323B1 (en) * 2005-12-08 2008-07-24 한국전자통신연구원 Method for enhancing real time response in embedded OS kernel
KR20070077463A (en) * 2006-01-23 2007-07-26 키몬다 아게 Method of system booting with a direct memory access in a new memory architecture
KR20130095142A (en) * 2012-02-17 2013-08-27 인포뱅크 주식회사 Recording medium, method and device for program execution

Similar Documents

Publication Publication Date Title
US6112303A (en) Computer system with system ROM including serial-access PROM coupled to an auto-configuring memory controller and method of shadowing BIOS code from PROM
US5519843A (en) Flash memory system providing both BIOS and user storage capability
US8281116B2 (en) System and method for utilizing a protected/hidden region of semiconductor based memory/storage
US5651139A (en) Protected system partition read/write access on a SCSI controlled DASD
KR100924497B1 (en) System and method for booting from a non-volatile application and file storage device
US6401198B1 (en) Storing system-level mass storage configuration data in non-volatile memory on each mass storage device to allow for reboot/power-on reconfiguration of all installed mass storage devices to the same configuration as last use
US7331046B2 (en) Program and information processing method
US20030110369A1 (en) Firmware extensions
US7395420B2 (en) Using protected/hidden region of a magnetic media under firmware control
US7386653B2 (en) Flash memory arrangement
WO1997014095A1 (en) System for providing bios to host computer
US20100241815A1 (en) Hybrid Storage Device
US7565521B2 (en) Method for managing memory space during system initialization
US20080114923A1 (en) Apparatus and method for controlling operation processing in nonvolatile memory
US7694122B2 (en) Electronic device and booting method thereof
US5940627A (en) User selectable feature set for a flash ROM based peripheral
KR20010087868A (en) Method for booting operating system in Linux
US6725294B1 (en) Installation and access of a device handler for a peripheral device in a computer
US6598157B1 (en) Dynamic boot block control by boot configuration determination and subsequent address modification
US20050289537A1 (en) System and method for installing software on a computing device
KR100860402B1 (en) Device and method for upgradin system using two step bootloader
CN117251221B (en) Micro control chip, management method thereof and storage medium
KR100622148B1 (en) Method for booting of portable terminal
KR100284260B1 (en) Diskless boot device on PC
KR20070079954A (en) Linux operating system booting method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application