Май 2018 начался JZ2440 постепенно пересадили Boot-2016.11-U, загрузочное U-SPL-2016.11,
Линуксом 4,17 и BusyBox-1.28.4, который линукс-4,17 и BusyBox-1.28.4 был последним официальным
версия, как и суммированы обучение Linux два года.
К сожалению, я не брал ноты на каждой стадии процесса миграции, просто хочу , чтобы закончить как можно скорее. Потому что сейчас
в 7788 были забыты, почти даже не компилировать жечь не помню , как действовать. После завершения миграции, потому что
занят он не представил код для GitHub. Совсем недавно запуская новый ноутбук, он предназначен ,
чтобы обновить информацию ниже.
К счастью, мерзавец совершить запись войти подробно процесс миграции. Разместить записи со ссылкой на
том , как миграция решения с нуля полной системы Linux.
Что касается развития борту JZ2440 приходит U-Boot-1.1.6, linux- 2.6.22.6, fs_qtopia, так как я
трансплантация U-Boot-2016.11 значительное увеличение независимой поддержки SPL руководство U-Boot, дерево устройств д.т.н. путем
добавления УЗД и DTB раздел, я также пытался повторно трансплантация U-Boot-1.1.6, нашел JZ2440 доски развития приходит с
U-Boot-1.1.6 участвовать в комплексе, нет необходимости изменять много вещей, Это выглядит очень трудно понять. Если читатели должны
быть сообщением, я представлю на GitHub.
Для Linux-4.17 является увеличение поддержки в дереве устройств JZ2440, по существу , путем установки периферийных драйвера
сконфигурированы устройства дерева.
GitHub仓库:
U-Boot-2016,11: https: //github.com/cgw201410/u-boot-2016.11_jz2440.git
линукс-4,17: https://github.com/cgw201410/linux-4.17_jz2440.git
BusyBox-1,28 0,4: https: //github.com/cgw201410/rootfs_jz2440.git
1. Установить инструменты компиляции
декомпрессия рычажного линукс-GCC-4.4.3.tar.gz в / USR / местные / ARM
ТДО -zxvf рычажного линукс-НКУ-4.4.3.tar.gz
2. Установите переменную среды
в ~ / .bashrc , наконец , добавить строку: экспорт PATH = $ PATH: /usr/local/arm/4.4.3/bin
обновляет переменные окружения: источник ~ / .bashrc
1. Compile-загрузчика U / U-Boot-SPL
от марки O = .. / TMP / Построить distclean
марку O = .. / TMP / Построить JZ2440_defconfig
марку O = .. / TMP / Все сборки
2. запустить NAND-Boo U T
в включают / конфиги / JZ2440.h закрыть макрос: CONFIG_SYS_BOOT_FROM_NOR_FLASH
каталог U-boot.bin: ../ TMP / Сложение / boot.bin U-
U-Boot-SPL. бен каталог: ../ TMP / Сложение / SPL / U-Boot-spl.bin
3. NOR U-Boot загрузки
в включить / конфиги / JZ2440.h открыть макрос: CONFIG_SYS_BOOT_FROM_NOR_FLASH
каталог U-boot.bin: ../ TMP /build/u-boot.bin
каталог U-Boot-spl.bin: ../ TMP / сборки / УЗД /
U-Boot-spl.bin Примечание: вышеуказанные режимы кодирования из U-загрузки spl.bin является то же самое.
Три, U-Boot / U-Boot -spl горения
1. U-Boot НОР инициировал
J-Link непосредственно горения и-boot.bin, U-загрузочные spl.bin не горит, поскольку НОР SPL не нужно , чтобы начать U-Boot для загрузки непосредственно из NOR U-Boot в.
Справка: «Как программировать программу S3C2440 голой доску»
2. NAND U-Boot , чтобы начать
здесь в качестве примера , чтобы записать TFTP:
2.1 Установить переменное окружение
SET IPAddr 192.168.xxx.xxx
SET ServerIP 192.168.xxx.xxx
2.2 горящего
Tftp 0x30000000 spl.bin-U-Boot, 0x20000 NAND ERASE 0; 0 0x30000000 NAND Write 0x20000
TFTP 0x30000000 U-boot.bin, NAND erase.part загрузчика; 0x30000000 NAND Написать загрузчику
четыре, переменные окружения
1. войти в режим команд U-Boot, установите переменные окружения (в дополнение к сети , связанные, другие настройки по умолчанию).
= 115200 BAUDRATE
в bootcmd = NAND Ядро чтения 0x30007FC0; 0x31000000 DTB NAND читать, в bootm 0x30007FC0 - 0x31000000
. В BootDelay = 5
ethact = DM9000
ethaddr = 08: 00: 3E: 26: 0A: 5В
IPADDR = 192.168.1.10
mtddevname = корневой файловой системы
mtddevnum = 5
маска подсети = 255.255.255.0
разбиение = nand0,5
ServerIP = 192.168.1.167
STDERR = последовательный
STDIN = последовательный
стандартный вывод = последовательный
2.分区规划
устройство nand0 <jz2440-nand0>, # детали = 6
#: размер имя mask_flags смещенные
0: SPL 0x00020000 0x00000000 0
1: загрузчик 0x000a0000 0x00020000 0
2: Params 0x00020000 0x000c0000 0
3: DTB 0x00020000 0x000e0000 0
4: ядро 0x00500000 0x00100000 0
5: 0x0fa00000 0x00600000 корневой файловой системы 0
mtdids: NAND0 = jz2440-NAND0
mtdparts: mtdparts = jz2440-NAND0: 128K @ 0 (SPL), 640K (загрузчик), 128K (в PARAMS), 128K (DTB), 5m (ядро), - (в корневой файловой системы )
В. Linux ядро компилируется программирования
1. компилировать
сделать distclean
марку jz2440_defconfig
в uImage сделать
каталог zImage: Arch / ARM / загрузки / uImage
DTB каталог: арка / рука / загрузки / DTS / S3C2440-jz2440.dtb
TFTP 0x30000000 S3C2440-jz2440.dtb; NAND erase.part DTB, Написать 0x30000000 NAND DTB
TFTP 0x30000000 uImage; Kernel NAND erase.part, 0x30000000 Kernel Написать NAND
шесть, делая сгореть файловую систему BusyBox
1. скомпилированный производство BusyBox формат jffs2 файловой системы
mkfs.jffs2 -n -s 0x800 -e -d 0x800000 = 0x20000 --pad в корневой файловой системы -o fs_root.jffs2
2. ожог
TFTP 0x30000000-1.28.4.jffs2 корневой файловой системы ; erase.part NAND корневой файловой системы ; NAND записи 0x30000000 0x600000 $ Filesize