реклама на сайте
подробности

 
 
4 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> Embedded linux bootstraping, ликбез
3.14
сообщение Jul 16 2007, 10:20
Сообщение #1


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



Начало обсуждения здесь: http://electronix.ru/forum/index.php?showtopic=33796
Т.е. на данный момент, моя железяка после загрузки ядра пытается смонтировать корневую через NFS (насколько я понимаю).
Начитавшись этого http://www.opennet.ru/base/sys/initrd_intro.txt.html я окончательно запутался.
Здесь инструкции по сборке и запуску линуха на колибри: http://www.vollmann.net/colibri/colibri-bs...ing-started.txt
Там ни слова не говорится о initrd файловой системе ...
Прокомментируйте плиз следующие инструкции по сборке ядра линуха:
Цитата
$ arm-linux-objcopy -O binary -R .note -R .comment -S vmlinux linux.bin
$ gzip -c -9 linux.bin > linux.bin.gz
$ $PROJECT/colibri-bsp-x.x/bin/mkimage -A arm -O linux -T kernel -C gzip \
-a 0xa0008000 -e 0xa0008000 -n "Linux Kernel Image" -d linux.bin.gz uImage


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
amw
сообщение Jul 17 2007, 08:33
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата
$ arm-linux-objcopy -O binary -R .note -R .comment -S vmlinux linux.bin

При линковке получается ELF файл который можно запускать из какой нибудь среды, чаще всего эта среда - ОС. При загрузке ОС никакой среды нет. Эта стройчка создает бинарный образ пригодный для прямого запуска. Ну типа HEX файл для микроконтроллера, только бинарник.
Цитата
$ gzip -c -9 linux.bin > linux.bin.gz

А здесь образ сжимается. Ядро - это самораспаковывающийся архив.
Цитата
$ $PROJECT/colibri-bsp-x.x/bin/mkimage -A arm -O linux -T kernel -C gzip \
-a 0xa0008000 -e 0xa0008000 -n "Linux Kernel Image" -d linux.bin.gz uImage

А это, как я понимаю, из полученного сжатоо бинарного образа ядра создается образ пригодный для загрузки с помощью uBoot. Этот образ содержит дополнительную информацию, которую обрабатывает uBoot. Часть из этой информации uBoot передает ядру при запуске в виде параметров комендной строки, часть использует сам (например адреса).
Сам с uBoot не работал, но большинство embedded/network загрузчиков это делают.

Цитата
Начитавшись этого http://www.opennet.ru/base/sys/initrd_intro.txt.html я окончательно запутался.

initrd - виртуальный диск, размещаемый в памяти и загружаемый туда загрузчиком вместе с ядром до старта ядра. Ядро потом его находит, распаковывает и монтирует как корневую файловую систему.
От ramdisk он отличается тем, что загружается в память загрузчиком а не ядром. Собственно initrd - это ramdisk загружаемый до запуска ядра.
Создается он вручную достаточно просто. Всякие утилиты типа mkinitrd предназначены для конфигурационно-восстановительных действий применительно к КОНКРЕТНОМУ ДИСТРИБУТИВУ.
Если нужны подробности по initrd - спрашивайте.

Сообщение отредактировал amw - Jul 17 2007, 08:26


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
3.14
сообщение Jul 17 2007, 08:40
Сообщение #3


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



Спасибо.
В общем, корневуху на NOR флешку я разместил и теперь линух нормально грузится ...
На данный момент имею следуюшие аргументы загрузки ядра: noinitrd root=/dev/mtdblock2 rootfstype=jffs2 ip=:::::eth0: console=ttyS0,115200n8
Но в последствии, на своей железяке, у меня будет маленькая NOR флешка (4Мбайт), соответственно развесистая корневуха не по силам (да и ни к чему, всего одно приложение крутится будет). Т.е. для моего случая идеальный вариант это небольшой виртуальный диск (initrd) на котором и будет корневуха с моим приложением. Отсюда вопрос, как это организовать?
Допустим я соберу образ этого виртуального диска по этим инструкциям http://www.opennet.ru/base/sys/initrd_intro.txt.html , но какие аргументы загрузки ядра тогда должны быть при этом?
Еще, откуда (на данный момент) ядро знает что устройство /dev/mdtblock находится по адресу 0x480000 (из BSP платы)?


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
3.14
сообщение Jul 17 2007, 11:19
Сообщение #4


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



Собрал образ ramdisk, по следующему скрипту:
Код
#!/bin/sh
RDSIZE=4000
BLKSIZE=1024

dd if=/dev/zero of=./ramdisk.img bs=$BLKSIZE count=$RDSIZE

/sbin/mke2fs -F -m 0 -b $BLKSIZE ./ramdisk.img $RDSIZE

mount ./ramdisk.img ./mnt -t ext2 -o loop=/dev/loop0

mkdir ./mnt/bin
mkdir ./mnt/sys
mkdir ./mnt/dev
mkdir ./mnt/proc

cp ./busybox ./mnt/bin/busybox
pushd ./mnt/bin
ln -s busybox ash
ln -s busybox mount
ln -s busybox echo
ln -s busybox ls
ln -s busybox cat
ln -s busybox ps
ln -s busybox dmesg
ln -s busybox sysctl
popd

cp -a /dev/console ./mnt/dev
cp -a /dev/ramdisk ./mnt/dev
cp -a /dev/ram0 ./mnt/dev
cp -a /dev/null ./mnt/dev
cp -a /dev/tty1 ./mnt/dev
cp -a /dev/tty2 ./mnt/dev

pushd ./mnt
ln -s bin sbin
popd

cat >> ./mnt/linuxrc << EOF
#!/bin/ash
echo
echo "Simple initrd is active"
echo
mount -t proc /proc /proc
mount -t sysfs none /sys
/bin/ash --login
EOF

chmod +x ./mnt/linuxrc

umount ./mnt
#gzip -9 ./ramdisk.img

затем:
Код
#!/bin/sh
./mkimage -A arm -O linux -T ramdisk -C gzip -a 0xa1000000 -e 0xa1000000 -n "Initial RAM disk image" -d ramdisk.img.gz ramdisk
Аргументы запуска ядра:root=/dev/ram0 rw initrd=0xa1000000,0x400000 ramdisk_size=4000 console=ttyS0,115200n8 mem=16M

В итоге, ядро все равно в панике, не может смонтировать "ram0" or unknown-block(2,0).
Не понятно, u-boot-у нужно говорить что перед загрузкой ядра загрузить рамдиск?
В логах обычной загрузки про рамдиск ни слова ...
Я пробовал в ручную, после загрузки u-boot, принудительно загрузть образ рамдиск "bootm 48000" а после этого стартонуть ядро, ничего не меняется.


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
S_agent
сообщение Jul 17 2007, 18:34
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 208
Регистрация: 6-10-05
Из: Ukraine, Kiev
Пользователь №: 9 300



Цитата(3.14 @ Jul 17 2007, 11:40) *
Еще, откуда (на данный момент) ядро знает что устройство /dev/mdtblock находится по адресу 0x480000 (из BSP платы)?

У него драйвер для этого специальный есть см. kernel-source/drivers/mtd
Цитата(3.14 @ Jul 17 2007, 11:40) *
Но в последствии, на своей железяке, у меня будет маленькая NOR флешка (4Мбайт), соответственно развесистая корневуха не по силам (да и ни к чему, всего одно приложение крутится будет). Т.е. для моего случая идеальный вариант это небольшой виртуальный диск (initrd) на котором и будет корневуха с моим приложением. Отсюда вопрос, как это организовать?

для c построения rootfs используйте buildroot после конфигурации он сам скачивает необходимые компоненты и компилит их, результатом компиляции будет необходимый Вам rootfs в разных форматах. Для initrd необходим загзипеный ext2 образ рамдиска.
загзипеный минимальный набор - порядка 2 Мб, это при условии что шеллом будет ash и не будет ncurses и многого другого тоже smile.gif + ядро порядка 1Мб - в 4Мб влезете.
Судя по Вашим записям у Вас есть 16Мб RAM посему можете сконфигурить размер рамдиска 8Мб
(распакованый образ +- столько и будет) а остальные отдать системе
root=/dev/ram0 rw initrd=0xa1000000,0x400000 ramdisk_size=8192 console=ttyS0,115200n8 mem=16M

И еще, не забудьте, что рамдиск после перезагрузки переинитится наново, тоесть все изменения не будут сохраняться. Если необходимо сохранение, используйте тот самый mtd как отдельный раздел с jffs2.
Go to the top of the page
 
+Quote Post
S_agent
сообщение Jul 17 2007, 21:16
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 208
Регистрация: 6-10-05
Из: Ukraine, Kiev
Пользователь №: 9 300



Цитата(3.14 @ Jul 17 2007, 14:19) *
В итоге, ядро все равно в панике, не может смонтировать "ram0" or unknown-block(2,0).
Не понятно, u-boot-у нужно говорить что перед загрузкой ядра загрузить рамдиск?
В логах обычной загрузки про рамдиск ни слова ...
Я пробовал в ручную, после загрузки u-boot, принудительно загрузть образ рамдиск "bootm 48000" а после этого стартонуть ядро, ничего не меняется.

При загрузке ядра есть сообщение типа: ?
RAMDISK: Compressed image found at block 0

Если Вы ядру указываете
initrd=0xa1000000, то и
u-boot-ом рамдиск нужно грузить по адресу 0xa1000000
Go to the top of the page
 
+Quote Post
PsM
сообщение Jul 18 2007, 04:56
Сообщение #7


Участник
*

Группа: Новичок
Сообщений: 29
Регистрация: 15-12-06
Пользователь №: 23 532



Если используешь ядро 2.6 я бы посоветовал использовать для рута initramfs и tmpfs вместо ramdisk-а (initrd).
Так можно Будет сэкономить некоторое количество ram-а
подробности можно почитать тут:
http://teleology.ru/projects_ru/informatic...ru/initramfs_ru
Go to the top of the page
 
+Quote Post
3.14
сообщение Jul 18 2007, 05:51
Сообщение #8


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



2 S_agent.
В том то и дело, что никаких сообщений о рамдиск при загрузке не возникает.
Сейчас у меня во флешке находятся два образа: 1) линух по адресу 0х80000, 2)рамдиск по адресу 0х480000.
U-boot bootcmd="bootm 80000 || dhcp && bootm"
Наверное надо чего-то добавить в bootcmd ...
Если предварительно дать команду bootm 480000, то образ рамдиска переписывается по адресу 0xa1000000, но дает сообщение "Wrong Image Type for bootm command", хотя как можно видеть из вышеприводимого листинга тип я при сборке рамдиска указываю (-T ramdisk).

2 PsM
Это, конечно, правильно, но с initrd мне тоже надо разобраться.

Насчет адресов.
На колибри стоит 64М (на моей тоже будет столько же).
SDRАM начинается с 0ха0000000
Само ядро располагается по 0ха0008000 (ниже, видимо загрузчик лежит)
Для меньшей вероятности ошибки, расположил образ рамдиска не в верху SDRAM а по середине и обрезал память для линуха.


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
S_agent
сообщение Jul 18 2007, 08:15
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 208
Регистрация: 6-10-05
Из: Ukraine, Kiev
Пользователь №: 9 300



3.14, почитайте вот это, там все необходимые действия описаны, сверьте со своими.
Go to the top of the page
 
+Quote Post
amw
сообщение Jul 19 2007, 15:12
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(3.14 @ Jul 18 2007, 08:51) *
2 S_agent.
В том то и дело, что никаких сообщений о рамдиск при загрузке не возникает.
Сейчас у меня во флешке находятся два образа: 1) линух по адресу 0х80000, 2)рамдиск по адресу 0х480000.
U-boot bootcmd="bootm 80000 || dhcp && bootm"
Наверное надо чего-то добавить в bootcmd ...
Если предварительно дать команду bootm 480000, то образ рамдиска переписывается по адресу 0xa1000000, но дает сообщение "Wrong Image Type for bootm command", хотя как можно видеть из вышеприводимого листинга тип я при сборке рамдиска указываю (-T ramdisk).

2 PsM
Это, конечно, правильно, но с initrd мне тоже надо разобраться.

Насчет адресов.
На колибри стоит 64М (на моей тоже будет столько же).
SDRАM начинается с 0ха0000000
Само ядро располагается по 0ха0008000 (ниже, видимо загрузчик лежит)
Для меньшей вероятности ошибки, расположил образ рамдиска не в верху SDRAM а по середине и обрезал память для линуха.


Не забудте указать в конфигурации ядра (make menuconfig) в блочных устройствах поддержку ramdisk и initrd в ЯДРЕ, НЕ МОДУЛЕМ.


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
3.14
сообщение Aug 31 2007, 08:48
Сообщение #11


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



Итак, начал ковыряться с самодельной железякой на PXA270, стоит 128М SDRAM и 4M NOR флеши.
Пытаюсь подмонтировать корневуху через рамдиск (полученый описаным выше скриптом) получаю следующее:
Код
u-boot$ imls
Image at 00060000:
   Image Name:   Linux Kernel Image
   Created:      2007-08-31   7:21:49 UTC
   Image Type:   ARM Linux Kernel Image (gzip compressed)
   Data Size:    1064735 Bytes =  1 MB
   Load Address: a0008000
   Entry Point:  a0008000
   Verifying Checksum ... OK
Image at 001E0000:
   Image Name:   Initial RAM disk image
   Created:      2007-07-13   3:54:11 UTC
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    282752 Bytes = 276.1 kB
   Load Address: a1000000
   Entry Point:  a1000000
   Verifying Checksum ... OK
u-boot$ cp.b 1e0000 a1000000 60000
u-boot$ boot
## Booting image at 00060000 ...
   Image Name:   Linux Kernel Image
   Created:      2007-08-31   7:21:49 UTC
   Image Type:   ARM Linux Kernel Image (gzip compressed)
   Data Size:    1064735 Bytes =  1 MB
   Load Address: a0008000
   Entry Point:  a0008000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK

Starting kernel ...

Linux version 2.6.12.4-col2 (pi@linuxServer) (gcc version 3.3.2) #5 Fri Aug 31 12:21:25 SAMST 2007
CPU: XScale-PXA270 [69054117] revision 7 (ARMv5TE)
CPU0: D VIVT undefined 5 cache
CPU0: I cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets
CPU0: D cache: 32768 bytes, associativity 32, 32 byte lines, 32 sets
Machine: Toradex Colibri Module
Ignoring unrecognised tag 0x00000000
Ignoring unrecognised tag 0x00000000
Memory policy: ECC disabled, Data cache writeback
Run Mode clock: 208.00MHz (*16)
Turbo Mode clock: 520.00MHz (*2.5, active)
Memory clock: 208.00MHz (/2)
System bus clock: 208.00MHz
Built 1 zonelists
Kernel command line: root=/dev/ram0 rw initrd=0xa1000000,0x400000 ramdisk_size=4000 console=ttyS0,115200n8 mem=128M
PID hash table entries: 1024 (order: 10, 16384 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory: 128MB = 128MB total
Memory: 123392KB available (1829K code, 361K data, 92K init)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
checking if image is initramfs...it isn't (bad gzip magic numbers); looks like an initrd
Freeing initrd memory: 4096K
NET: Registered protocol family 16
SCSI subsystem initialized
usbcore: registered new driver hub
NetWinder Floating Point Emulator V0.97 (double precision)
JFFS2 version 2.2. (C) 2001-2003 Red Hat, Inc.
ttyS0 at MMIO 0x40100000 (irq = 22) is a FFUART
ttyS1 at MMIO 0x40200000 (irq = 21) is a BTUART
ttyS2 at MMIO 0x40700000 (irq = 20) is a STUART
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered
RAMDISK driver initialized: 16 RAM disks of 4000K size 1024 blocksize
PPP generic driver version 2.4.2
dm9000 Ethernet Driver
dm9000: read wrong id 0x2b2a2928
dm9000: read wrong id 0x2b2a2928
dm9000: wrong id: 0x2b2a2928
dm9000: not found (0).
Probing Colibri flash at physical address 0x00000000 (16-bit buswidth)
Colibri flash: Found 1 x16 devices at 0x0 in 16-bit bank
Intel/Sharp Extended Query Table at 0x0031
Using buffer write method
cfi_cmdset_0001: Erase suspend on write enabled
Creating 3 MTD partitions on "Colibri flash":
0x00000000-0x00060000 : "Bootloader"
0x00060000-0x001e0000 : "Kernel"
0x001e0000-0x00400000 : "Filesystem"
usbmon: debugs is not available
Setting port 3 power failed.
pxa27x-ohci pxa27x-ohci: PXA27x OHCI
pxa27x-ohci pxa27x-ohci: new USB bus registered, assigned bus number 1
pxa27x-ohci pxa27x-ohci: irq 3, io mem 0x4c000000
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.01:USB HID core driver
mice: PS/2 mouse device common for all mice
NET: Registered protocol family 2
IP: routing cache hash table of 1024 buckets, 8Kbytes
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
NET: Registered protocol family 1
RAMDISK: Couldn't find valid RAM disk image starting at 0.
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
Интересно, чего его мой RAMDISK не устраивает ...


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
amw
сообщение Sep 1 2007, 10:10
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата
u-boot$ boot
## Booting image at 00060000 ...
Image Name: Linux Kernel Image
Created: 2007-08-31 7:21:49 UTC
Image Type: ARM Linux Kernel Image (gzip compressed)
Data Size: 1064735 Bytes = 1 MB
Load Address: a0008000
Entry Point: a0008000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK

А рамдиск где грузится в память?

Цитата
Интересно, чего его мой RAMDISK не устраивает ...

А /dev/ram0 на рамдиске есть?

Я пользуюсь RedBoot-ом, там сначала грузится рамдиск, потом ядро, потом запуск ядра. Это отдельные команды redboot, которые сохраняются в скрипт для автоматизации.


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
3.14
сообщение Sep 1 2007, 11:42
Сообщение #13


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



Цитата
А рамдиск где грузится в память?

Перед запуском ядра, "руками" копирую рамдиск "u-boot$ cp.b 1e0000 a1000000 60000"
Цитата
А /dev/ram0 на рамдиске есть?

Есть.
Далее ... у меня логика такая же, чего то видимо с генерированием рамдиска ... делаю его этим http://www.opennet.ru/base/sys/initrd_intro.txt.html скриптом.


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
amw
сообщение Sep 3 2007, 07:10
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 601
Регистрация: 22-09-05
Из: Kharkov
Пользователь №: 8 847



Цитата(3.14 @ Sep 1 2007, 14:42) *
Перед запуском ядра, "руками" копирую рамдиск "u-boot$ cp.b 1e0000 a1000000 60000"
Есть.
Далее ... у меня логика такая же, чего то видимо с генерированием рамдиска ... делаю его этим http://www.opennet.ru/base/sys/initrd_intro.txt.html скриптом.

Меня смущает использование cpio в этой статье. Это дополнительное, необязательное действие.
Попробуйте попроще.
Код
dd if=/dev/zero of=initrd.img bs=1024 count=4096
mke2fs -F initrd.img
mkdir imnt
mount -t ext2 initrd.img imnt -oloop
Тут копируем в imnt все что нужно, создаем /dev ит.д.
........
umount imnt
gzip -c < initrd.img > initrd.gz

Теперь initrd.gz содержит все, что Вам нужно, используйте его.
Коментарии по командам нужны?
Посмотрите в исходниках ядра Documentation/ramdisk.txt и Documentation/initrd.txt

Сообщение отредактировал amw - Sep 3 2007, 07:14


--------------------
- А мораль отсюда такова: всякому овощу свое время. Или, хочешь, я это сформулирую попроще: никогда не думай, что ты иная, чем могла бы быть иначе, чем будучи иной в тех случаях, когда иначе нельзя не быть.
© Lewis Carroll. Alice's adventures in wonderland.
Go to the top of the page
 
+Quote Post
3.14
сообщение Sep 3 2007, 07:50
Сообщение #15


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



Странно, если образ рамдиска не GZIP-ить, тогда ядро его находит ...

Оказывается, это я упустил момент - "руками" я копирую не только образ рамдиска, но и заголовок от u-boot, т.е. нужно либо средствами u-boot копировать (не простым копированием) либо сохранять образ без заголовка для загрузчика.


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post

4 страниц V   1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th June 2025 - 00:04
Рейтинг@Mail.ru


Страница сгенерированна за 0.01537 секунд с 7
ELECTRONIX ©2004-2016