JZ2440 U-Boot-2016,11, Linux-4,17 и BusyBox-1.28.4 трансплантацией заметки

    Май 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. Установить инструменты компиляции
   MkDir / USR / местные / рука
   декомпрессия рычажного линукс-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
 
Во- вторых, U-Boot / U-Boot -spl компиляции
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
   активный раздел: nand0,0 - (УЗД) 0x00020000 @ 0x00000000
   Значения по умолчанию:
   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
 
2. Ожог
   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 
 
наслаждаться !

 

рекомендация

отwww.cnblogs.com/hackfun/p/11711199.html