Handbook:MIPS/Blocks/Bootloader/ko

실리콘 그래픽스 머신용 arcload
arcload는 64비트 커널이 필요하여 arcboot(64비트 바이너리로 쉽게 컴파일할 수 없음)를 쓸 수 없는 머신용으로 작성했습니다. 볼륨 헤더에서 커널을 직접 불러올 때 일어나는 특이한 현상을 처리할 수 있습니다. 이제 설치 과정을 진행해보겠습니다:

과정이 끝나면 에서 arcload 바이너리를 찾아보십시오. 이제 두 파일을 찾아보실 수 있습니다:
 * : Indy, Indigo2 (R4k), Challenge S, O2 시스템용 32비트 바이너리
 * : Octane/Octane2, Origin 200/2000, Indigo2 Impact 시스템용 64비트 바이너리

볼륨 헤더에 적당한 시스템 바이너리를 설지하려면 을 사용하십시오:

Indy/Indigo2/Challenge S/O2 사용자라면:

Indigo2 Impact/Octane/Octane2/Origin 200/Origin 2000 사용자라면:

Now just use  to verify they are in the volume header:

The file has a C-like syntax. For the full detail on how one configures it, see the arcload page on the Linux/MIPS wiki. In short, define a number of options, which are enabled and disabled at boot time using the OSLoadFilename variable.

Starting with arcload-0.5, arc.cf and kernels may reside either in the volume header, or on a partition. To utilize this newer feature, place the files in the partition (or  if the boot partition is not separate). arcload uses the filesystem driver code from the popular grub bootloader, and thus supports the same range of filesystems.

CoLo 설치
On Cobalt servers, these machines have a much less capable firmware installed on chip. The Cobalt BOOTROM is primitive, by comparison to the SGI PROM, and has a number of serious limitations.
 * There's a 675kB (approximate) limit on kernels. The current size of Linux 2.4 makes it nearly impossible to make a kernel this size. Linux 2.6 and 3.x is totally out of the question.
 * 64-bit kernels are not supported by the stock firmware (although these are highly experimental on Cobalt machines at this time)
 * The shell is basic at best

To overcome these limitations, an alternative firmware, called CoLo (Cobalt Loader) was developed. This is a BOOTROM image that can either be flashed into the chip inside the Cobalt server, or loaded from the existing firmware.

이제 CoLo 설치를 진행하겠습니다. 꾸러미 이머지로 시작하십시오.

With that installed, take a look inside the directory to find two files:
 * (the "kernel" for the stock firmware to load), and
 * (a ROM image for flashing into the BOOTROM)

We start by mounting and dumping a compressed copy of  in  where the system expects it.

CoLo 설정
Now, when the system first boots up, it'll load CoLo which will spit up a menu on the back LCD. The first option (and default that is assumed after roughly 5 seconds) is to boot to the hard disk. The system would then attempt to mount the first Linux partition it finds, and run the script default.colo. The syntax is fully documented in the CoLo documentation (have a peek at -- where X.YY is the version installed), and is very simple.

It is also possible to ask a question, such as which kernel & configuration to boot, with a default timeout. The following configuration does exactly this, asks the user which kernel they wish to use, and executes the chosen image. vmlinux.gz.new and vmlinux.gz.working may be actual kernel images, or just symlinks pointing to the kernel images on that disk. The 50 argument to select specifies that it should proceed with the first option ("Working") after 50/10 seconds.

See the documentation in for more details.

시리얼 콘솔 설정
Okay, the Linux installation as it stands now, would boot fine, but assumes the user will be logged in at a physical terminal. On Cobalt machines, this is particularly bad -- there's no such thing as a physical terminal.

First, pull up an editor and hack away at. Further down in the file, notice the following:

First, uncomment the c0 line. By default, it's set to use a terminal baud rate of 9600 bps. On Cobalt servers, this may be changed to 115200 to match the baud rate decided by the BOOT ROM. The following is how that section looks then. On a headless machine (e.g. Cobalt servers), we also recommend commenting out the local terminal lines (c1 through to c6) as these have a habit of misbehaving when they can't open.

Now, lastly... we have to tell the system, that the local serial port can be trusted as a secure terminal. The file we need to poke at is. It contains a list of terminals that the system trusts. We simply stick in two more lines, permitting the serial line to be used for root logins.

Lately, Linux also calls this /dev/tts/0 -- so we add this too:

일반 PROM 설정
With the bootloader installed, after rebooting (which we will come to in a second), go to the System Maintenance Menu and select Command Monitor (5) like did initially when netbooting the system.

Menu after boot

볼륨 헤더 위치를 입력하십시오:

젠투를 자동으로 부팅하십시오:

시간대를 설정하십시오:

시리얼 콘솔을 사용하십시오 - 그래픽 어댑터 사용자는 "d1"(하나) 대신 "g"를 넣어야 합니다:

시리얼 보 레이트를 설정하십시오. 9600 값이 기본값이며, 원한다면 38400까지 사용할 수도 있겠지만, 설정 안해도 그만입니다:

이제 시스템을 부팅하는 방법에 따라 다음 설정을 계속 진행하겠습니다.

Settings for direct volume-header booting
Set the root device to Gentoo's root partition, such as :

To list the available kernels, type "ls".

Declare the kernel parameters to pass:

To try a kernel without messing with kernel parameters, use the boot -f PROM command:

Settings for arcload
arcload uses the OSLoadFilename option to specify which options to set from. The configuration file is essentially a script, with the top-level blocks defining boot images for different systems, and inside that, optional settings. Thus, setting OSLoadFilename=mysys(serial) pulls in the settings for the mysys block, then sets further options overridden in serial.

In the example file above, we have one system block defined, ip28 with working, new and debug options available. We define our PROM variables as so:

Select arcload as the bootloader:- sash64 or sashARCS:

Use the "working" kernel image, defined in "ip28" section of arc.cf:

Starting with arcload-0.5, files no longer need to be placed in the volume header -- they may be placed in a partition instead. To tell arcload where to look for its configuration file and kernels, one must set the OSLoadPartition PROM variable. The exact value here will depend on where the disk resides on the SCSI bus. Use the SystemPartition PROM variable as a guide -- only the partition number should need to change.

To load from the volume header -- use partition 8:

Otherwise, specify the partition and filesystem type: