Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
120901-Linux-On-AT91RM9200-SK-new.doc
Скачиваний:
33
Добавлен:
05.03.2016
Размер:
798.21 Кб
Скачать
    1. Компиляция ядра

Сборка ядра осуществляется командой: make

bash# make

пример:

root@server:linux# make

scripts/kconfig/conf -s arch/arm/Kconfig

CHK include/linux/version.h

SYMLINK include/asm-arm/arch -> include/asm-arm/arch-at91rm9200

make[1]: `include/asm-arm/mach-types.h' не требует обновления.

CHK include/linux/utsrelease.h

CHK include/linux/compile.h

CC arch/arm/kernel/setup.o

LD arch/arm/kernel/built-in.o

GZIP kernel/config_data.gz

IKCFG kernel/config_data.h

CC kernel/configs.o

LD kernel/built-in.o

GEN .version

CHK include/linux/compile.h

UPD include/linux/compile.h

CC init/version.o

LD init/built-in.o

LD .tmp_vmlinux1

KSYM .tmp_kallsyms1.S

AS .tmp_kallsyms1.o

LD .tmp_vmlinux2

KSYM .tmp_kallsyms2.S

AS .tmp_kallsyms2.o

LD vmlinux

SYSMAP System.map

SYSMAP .tmp_System.map

MODPOST vmlinux

OBJCOPY arch/arm/boot/Image

Kernel: arch/arm/boot/Image is ready

GZIP arch/arm/boot/compressed/piggy.gz

AS arch/arm/boot/compressed/piggy.o

LD arch/arm/boot/compressed/vmlinux

OBJCOPY arch/arm/boot/zImage

Kernel: arch/arm/boot/zImage is ready

You have new mail in /var/mail/root

root@server:build# ./build_Image_FS.sh

После сборки получится готовое ядро. Лежать оно должно по следующему пути

linux/arch/arm/boot/zImage

В ранее собранном U-boot должен был также собраться файл mkimage, который нужен теперь для подготовки ядра и Файловой системы к загрузке в ARM.

    1. Конечная сборка ядра и инсталляция

Тут все - как при сборке ядра под компьютер:

bash# cd ${PREFIX}/src/linux

bash# make Image

bash# make modules

bash# make INSTALL_MOD_PATH=${SYSROOT} modules_install

Это нужно делать, когда уже окончательная сборка + инсталляция, пока не стоит торопиться выполнять эти 3 последние команды.

    1. Скрипт для сборки сжатых образов

#!/bin/bash

#=========================

#root@server:build# ./mkimage --help

#Usage: ./mkimage -l image

# -l ==> list image header information

# ./mkimage [-x] -A arch -O os -T type -C comp -a addr -e ep -n name -d data_file[:data_file...] image

# -A ==> set architecture to 'arch'

# -O ==> set operating system to 'os'

# -T ==> set image type to 'type'

# -C ==> set compression type 'comp'

# -a ==> set load address to 'addr' (hex)

# -e ==> set entry point to 'ep' (hex)

# -n ==> set image name to 'name'

# -d ==> use image data from 'datafile'

# -x ==> set XIP (execute in place)

#=========================

echo " Create KERNEL "

rm -rf Image.gz

cp ./linux/arch/arm/boot/Image ./

gzip ./Image

./mkimage -A arm -O linux -C gzip -a 0x20008000 -e 0x20008000 -d Image.gz kernel

#./mkimage -A arm -O linux -C none -a 0x20007fc0 -e 0x20008000 -d Image.lnk uImage # lelick 20007fc0

#=========================

echo " Create FS "

./mkimage -A arm -O linux -C gzip -T ramdisk -a 0x20288000 -d rm9200fs.ext2.gz fs

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]