Loading...
denka avatar denka 52 Точки

Лекция 7 (Компилиране на кернел + rootfs) на Debian 8

Явно има проблем със стъпките от лекцията да се запали на Дебиан. Пробвах да сваля качения .deb пакет в git-a, но не се инсталира, търси някакви депендънсита за ubuntu. В крайна сметка успях да го запаля, но по доста страннен за мен начин:

1. BusyBox се оплаква, че не намира syncfs(явно му е стара версията на компилатора и там още го няма) - Това добре, фикснах го, като смених syncfs(fd) на sync() и се билдна. Kernel-a го билднах както е казано в лекцията.

По този начин умира с kernel panic. 

2. С билднатия в точка 1. rootfs и с качения в git zImage - запали.

3. Следвайки тези стъпки - https://wiki.debian.org/CrossToolchains#In_jessie_.28Debian_8.29 сложих нов компилатор и билднах с него kernel.

С така билднатия кернел и със билданотото със стария компилатор rootfs запали.

4. Ревъртанах си промените по BusyBox-a и билднах с новия компилатор

Пак kernel panic.

Няколко пъти ги въртях стъпките (защото нещо ми се чупи логиката) та това е работещия при мен вариант:

rootfs  - билднат с компилатора от по-предишната лекция + промяна на syncfs(fd) със sync()

kernel - билднат с компилатора от https://wiki.debian.org/CrossToolchains#In_jessie_.28Debian_8.29

Та въпроса ми е как го подкархте на дебиан? Някакви идеи защо се получава така - едното с един компилатор, а другото с друг?

 

Тагове:
1
Linux Курсове
agogo avatar agogo 12 Точки

И аз имах същите несгоди с Debian!

Инсталирах Ubuntu Server и следвах https://github.com/surajx/qemu-arm-linux/wiki/Compile-Linux,-BusyBox-for-ARM-and-load-it-using-QEMU, което направо ти решава домашното.

Всичко си тръгна от първия път!

Според мен проблемът идва от roofs.img, понеже при Ubuntu той е малко над 2МB, а при Debian около 1.7MB. Явно нещо се губи или не е инсталирано - не знам!

Когато компилирам ядро 4.4.1 в Debian и използвам rootfs.img от git всичко си работи, но когато използвам компилирания в Debian rootfs.img = kernel panic!

Днес ще опитам да използвам компилирания в Ubuntu rootfs.img c ядрото в Debian!

0
todorstz avatar todorstz 0 Точки

И аз също имах проблеми с дебиана. Не случайно Мартин използва Ubuntu и искаше да си го инсталираме в едно от предишните домашни. Тази "мотичка" е настъпвана вече... Определено с Virtual box компилацията на файлова система и кърнъл едновременно си е приключение...

0
ipenev avatar ipenev 21 Точки

busybox syncfs debian

Първият резултат в Goggle

https://git.busybox.net/buildroot/commit/?id=d42ca918cc72bb1baf817ee1614d77b5081a7e75

Disable CONFIG_FEATURE_SYNC_FANCY в .config файлът и се компилира.

2
todorstz avatar todorstz 0 Точки

Много хубаво, но за ползваната версия busybox.config не намирам. Също така от конфигурационното меню тази опция не я "припознавам" никъде. Отказвам се да се занимавам повече с busybox И debian...

0
17/02/2016 22:21:11
ipenev avatar ipenev 21 Точки

Като отвориш .config файла ще го намериш вътре.

Ядрото 4.4.1 компилирано на debian  не искаше да тръгне с генерираната rootfs.

Това ядро, което е в github от лекцията работи с така генерираната rootfs.

0
marks avatar marks 23 Точки

Изтегли и си инсталирай arm-2014.05-29-arm-none-linux-gnueabi.bin и няма да имаш проблем с Debian.

https://sourcery.mentor.com/GNUToolchain/package12813/public/arm-none-linux-gnueabi/arm-2014.05-29-arm-none-linux-gnueabi.bin

2
Dimitar_Petkov_Petkov avatar Dimitar_Petkov_Petkov 169 Точки

Това реши проблемът с паниките ! Благодаря !

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.