Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2012-05-01 12:39:59

  P@blo - Nadworny matematyk

P@blo
Nadworny matematyk
Skąd: Wrocław v Jasło
Zarejestrowany: 2010-11-11

[solved]Kompilacja kernela dla 32 (i386) na 64 (amd64) - paczka deb

Hej,

Przeczytałem masę artykułów. Wiem, że teoretycznie się nie da. Że trzeba chrootować. Komp dla którego chce zrobić kernel, jest strasznie wolny. Kompilacja trwa cały dzień. Wydaje mi się, że mimo wszystko można zrobić paczki i potem je tylko zainstalować. Za pierwszym razem mi się udało i komp wstał, ale późniejsze próby kończyły się klęską (panika kernela). Może opiszę co i jak robiłem.

Najpierw generuje config na 32 poleceniem:

Kod:

make defconfig

później na 64 dodaje ten config to tych samych źródeł i:

Kod:

make ARCH=i386 menuconfig

Zaznaczam co mi potrzeba i:

Kod:

make-kpkg --cross-compile - --arch i386 kernel_image kernel_headers

No i wszystko gra. Problem w tym, że wynikowe paczki są dla amd64 (tego nie rozumiem dlaczego skoro podałem arch w poleceniu) (tu pytanie: Jak zrobić paczki dla i386?). No nic. Forsuje:

Kod:

dpkg --force-architecture -i linux-image*amd64.deb

Podkreślę, że mimo forsowania raz czy dwa razy udało mi się postawić kernel tylko nie pamiętam co takiego zrobiłem, że działał...

Miałem też próby zmieniania Makefile'a. Zmieniałem linijkę:

Kod:

CC              = $(CROSS_COMPILE)gcc

na

Kod:

CC              = $(CROSS_COMPILE)gcc -m32

ale też lipa. Być może problem jest configu: http://wklej.dug.net.pl/4144
Odznaczam w nim tylko żeby nie robił initrd. ext3 i ata jest na sztywno (tu pytanie: Czy trzeba mieć na sztywno ext2 mimo że się z niego nie korzysta przy kernelu bez init'a?)

Z góry dziękuję za pomoc.
Pozdrawiam

Ostatnio edytowany przez P@blo (2012-06-07 23:05:26)


[tt]ThinkPadX220i
| Procesor: Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz |
|  Debian: sid   |   Arch: amd64   |   Sound: alsa   |
| No DE | WM: DWM  |  DM: .bash_profile  |  BIOS+MBR |[/tt]

Offline

 

#2  2012-05-01 16:00:25

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: [solved]Kompilacja kernela dla 32 (i386) na 64 (amd64) - paczka deb

Ten opis wygląda nieźle: [url]http://sparlampe.wordpress.com/2011/01/07/cross-compiling-i386-kernel-on-amd64-machine-using-make-kpkg/[/url].

[b]EDIT:[/b] A tutaj z [tt]make deb-pkg[/tt], wygląda jeszcze łatwiej: [url]http://michael-prokop.at/blog/2011/07/12/creating-32bit-debian-packages-in-64bit-environments/[/url].

[quote=P@blo]Najpierw generuje config na 32 poleceniem:

Kod:

make defconfig

[/quote]
Jesteś pewien, że to generuje konifig? Czasem nie kopiuje po prostu odpowiedniego dla danej architektury (w tym przypadku arch/x86/configs/i386_defconfig) jako .config? Nie żeby to miało jakieś większe znaczenie, ale jeśli tylko kopiuje to nie trzeba się bawić w przenoszenie z jednego kompa na drugi.

[quote=P@blo]Czy trzeba mieć na sztywno ext2 mimo że się z niego nie korzysta przy kernelu bez init'a?[/quote]
Ja nie mam i działa, zatem pewnie nie.


[img]http://svn.debianart.org/themes/generic/spinner/spinner48px-moreblue.png[/img]

Offline

 

#3  2012-05-02 10:38:33

  P@blo - Nadworny matematyk

P@blo
Nadworny matematyk
Skąd: Wrocław v Jasło
Zarejestrowany: 2010-11-11

Re: [solved]Kompilacja kernela dla 32 (i386) na 64 (amd64) - paczka deb

[quote=ArnVaker]Jesteś pewien, że to generuje konifig? Czasem nie kopiuje po prostu odpowiedniego dla danej architektury (w tym przypadku arch/x86/configs/i386_defconfig) jako .config? Nie żeby to miało jakieś większe znaczenie, ale jeśli tylko kopiuje to nie trzeba się bawić w przenoszenie z jednego kompa na drugi.[/quote]
Może i masz racje, ale popatrzyłem na różnice i są (niewielkie ale jednak). Więc może ścieżka którą podałeś jest bazą, ale jeszcze dopieszcza co nieco... ;)

Na razie już nie mam dostępu do kompa (na jakiś dłuższy czas) więc wątek niech zahibernuje. Dzięki za linki.


[tt]ThinkPadX220i
| Procesor: Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz |
|  Debian: sid   |   Arch: amd64   |   Sound: alsa   |
| No DE | WM: DWM  |  DM: .bash_profile  |  BIOS+MBR |[/tt]

Offline

 

#4  2012-05-03 19:58:48

  P@blo - Nadworny matematyk

P@blo
Nadworny matematyk
Skąd: Wrocław v Jasło
Zarejestrowany: 2010-11-11

Re: [solved]Kompilacja kernela dla 32 (i386) na 64 (amd64) - paczka deb

Miałem jeszcze przez chwile ten komp więc się pobawiłem. [tt]make deb-pkg[/tt] jest świetne. Robi to co chce (czyli paczki dla 32) tak więc gorąco polecam.

Mój problem jendak nie rozwiązał się do końca bo jest problem z konfigiem. Z initem działa, bez nie. Nie wiem czy w 32 jest tak samo jak w 64, stąd zwracam się do was o pomoc w znalezieniu błędu. Załączam ten sam konfig 'z' i 'bez' initrd.

[url=http://wklej.dug.net.pl/4173]Config z initem[/url] → działa
[url=http://wklej.dug.net.pl/4174]Config bez inita[/url] → nie działa

Oczywiście sterwonik ATA i ext3 jest na sztywno... Czy coś jeszcze powinno być o czym nie wiem?

Ostatnio edytowany przez P@blo (2012-06-07 15:47:06)


[tt]ThinkPadX220i
| Procesor: Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz |
|  Debian: sid   |   Arch: amd64   |   Sound: alsa   |
| No DE | WM: DWM  |  DM: .bash_profile  |  BIOS+MBR |[/tt]

Offline

 

#5  2012-06-07 16:01:24

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: [solved]Kompilacja kernela dla 32 (i386) na 64 (amd64) - paczka deb

UUID-y wykluczyłeś? Tego posta jeszcze zobacz: [url]http://forum.dug.net.pl/viewtopic.php?pid=192167#p192167[/url].


[img]http://svn.debianart.org/themes/generic/spinner/spinner48px-moreblue.png[/img]

Offline

 

#6  2012-06-07 16:17:22

  P@blo - Nadworny matematyk

P@blo
Nadworny matematyk
Skąd: Wrocław v Jasło
Zarejestrowany: 2010-11-11

Re: [solved]Kompilacja kernela dla 32 (i386) na 64 (amd64) - paczka deb

Ale mówiąc o UUID-ach mówisz o fstab?


[tt]ThinkPadX220i
| Procesor: Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz |
|  Debian: sid   |   Arch: amd64   |   Sound: alsa   |
| No DE | WM: DWM  |  DM: .bash_profile  |  BIOS+MBR |[/tt]

Offline

 

#7  2012-06-07 16:18:09

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: [solved]Kompilacja kernela dla 32 (i386) na 64 (amd64) - paczka deb

O wpisie w konfigu GRUB-a. Jeśli tam są UUID-y, to bez initrd będzie panikował.


[img]http://svn.debianart.org/themes/generic/spinner/spinner48px-moreblue.png[/img]

Offline

 

#8  2012-06-07 16:21:02

  P@blo - Nadworny matematyk

P@blo
Nadworny matematyk
Skąd: Wrocław v Jasło
Zarejestrowany: 2010-11-11

Re: [solved]Kompilacja kernela dla 32 (i386) na 64 (amd64) - paczka deb

A widzisz... Zaraz sprawdzę...

[b]EDIT:[/b]
Rzeczywiście to były UUID-y w grubie (w fstabie też zmieniłem). Działa wszystko jak należy :)

Dzięki bardzo.

Ostatnio edytowany przez P@blo (2012-06-07 23:04:59)


[tt]ThinkPadX220i
| Procesor: Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz |
|  Debian: sid   |   Arch: amd64   |   Sound: alsa   |
| No DE | WM: DWM  |  DM: .bash_profile  |  BIOS+MBR |[/tt]

Offline

 

#9  2012-06-08 11:11:49

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: [solved]Kompilacja kernela dla 32 (i386) na 64 (amd64) - paczka deb

W fstabie mogą zostać jeśli tak Ci bardziej pasuje. Chodzi tylko o konfig bootloadera.


[img]http://svn.debianart.org/themes/generic/spinner/spinner48px-moreblue.png[/img]

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)

[ Generated in 0.009 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00014 SET CHARSET latin2
0.00004 SET NAMES latin2
0.00103 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.222.98.29' WHERE u.id=1
0.00069 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.222.98.29', 1733338127)
0.00039 SELECT * FROM punbb_online WHERE logged<1733337827
0.00052 SELECT topic_id FROM punbb_posts WHERE id=201135
0.00009 SELECT id FROM punbb_posts WHERE topic_id=21185 ORDER BY posted
0.00058 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=21185 AND t.moved_to IS NULL
0.00006 SELECT search_for, replace_with FROM punbb_censoring
0.00183 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=21185 ORDER BY p.id LIMIT 0,25
0.00087 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=21185
Total query time: 0.00624 s