# linux-headers

## kesha

вот какая фигня.

у меня почему-то при установки ставится linux-headers-2.4.21

хотя ядра такого не ставил

поставил kernel gentoo-dev-sources-2.6.7

b надо поставить linux26-headers-2.6.7

при установки его пишет

```
 ERROR the virtual/os-headers package conflicts with anothe package

pleas use emerge --pretend
```

emerge enmerge linux-headers

emerge linux26-heaserd

начинает errorить

как мне всё таки перевести систему на заголовки 2.6. kernel??

при установки проги, опять по умолчанию тянуться headers-2.4

пробовал поменять в /etc/make.profile/virtuals

```
virtuals/linux-headers  sys-kernel/linux26-headers
```

не помогло.

----------

## Snooper

The linux headers package 2.4.21 conflicts with installing linux26-headers you must:

edit: /etc/portage/package.keywords

add: sys-kernel/linux26-headers

if this is a bootstrap: emerge patch, else

emerge -C linux-headers

emerge --oneshot linux26-headers

also if it's a bootstrap change:

edit: /etc/make.profile/virtuals

change all the lines that say linux-headers to linux26-headers there should be 2, 1 for kernel, and the other for os-headers. Then when it's all over make sure sys-kernel/linux26-headers is not added to the world file:

edit: /var/cache/edb/world

remove: sys-kernel/linux26-headers if present  :Twisted Evil: 

----------

## 4nykey

Ehm, I maybe miss something, why all the hackery?

I have fi in /etc/make.profile/virtuals

 *Quote:*   

> virtual/kernel                  sys-kernel/linux-headers
> 
> virtual/os-headers              sys-kernel/linux-headers
> 
> 

  which doesn't seem to impact anything, it's deprecated, according to man.

but  *Quote:*   

> virtual/os-headers sys-kernel/linux26-headers
> 
> virtual/kernel sys-kernel/linux26-headers

  in /var/cache/edb/virtuals, which is what I have installed.

Just unmerge linux-headers and emerge linux26-headers afterwards would be enough. What's wrong with having it in world file btw?

----------

## Snooper

I have just heard from around you don't want the kernel headers in the world file because if you don't intend on emerging glibc every time a new version of the headers goes to the stable branch. To replace the linux-headers in /etc/make.profile/virtuals will allow you to bootstrap-2.6.sh and keep the headers else bootstrap will try to downgrade to 2.4, the other option is editing os-headers in bootstrap-2.6.sh and adding linux26-headers...

----------

## kesha

ребята,

я вас через слово понимаю,

перейдите на кирилицу

----------

## 4nykey

 *Quote:*   

> I have just heard from around you don't want the kernel headers in the world file because if you don't intend on emerging glibc every time a new version of the headers goes to the stable branch. To replace the linux-headers in /etc/make.profile/virtuals will allow you to bootstrap-2.6.sh and keep the headers else bootstrap will try to downgrade to 2.4, the other option is editing os-headers in bootstrap-2.6.sh and adding linux26-headers...

 

Well, they don't mark stable s/t like kernel headers that often.

Besides there's a linux-headers-2.6.99 ebuild, I think one can use this one during bootstrap and jump to linux26-headers when it's done.

Чувак говорит, что если делать бутстрап, это будет гиморно, потому что  linux26-headers - новая тема, а скрипт - старый и между собой они пока не дружат.

А если без бутстрапа, то сначала нужно удалить 2.4 а потом ставить 2.6, как обычно.

----------

## kesha

headers-2.6 действительно ставится нормально если удалить 2.4.

но при обновлении системы или при перезборке gcc headers-2.4 снова вытянется и установится

я так делал,

и проверял перезборкой.

bootstrap-2.6 действительно сильно error и я от него отказался,

ставлю опять по старинке со старой gcc и headers-2.4/

ох

----------

## 4nykey

Дело хозяйское  :Smile: 

А я тут решил сделать бутстрап в новой партиции, всё-равно собирался поиграться с gcc-3.5.

Действительно, в linux-headers убрали последние следы 2.6, в принципе прокатил бы снапшот до 20040709, только на зеркалах его уже нету.

Пока что распаковал стейж1 и снапшот портажа, chroot, добавил обычную ерунду в package.keywords, ACCEPT_KEYWORDS="~x86" в /etc/make.conf, сделал фальшивый ebuild:

 *Quote:*   

> cd /usr/portage
> 
> cp sys-kernel/linux26-headers/linux26-headers-2.6.6-r1.ebuild sys-kernel/linux-headers/linux-headers-2.6.6-r1.ebuild
> 
> for i in sys-kernel/linux26-headers/files/linux26-headers-2.6*; do cp $i `echo $i | sed 's:linux26:linux:g'`; done
> ...

 

и оставил билдится на выходные, посмотрим, что получится.

----------

## kesha

я вот опять на выходных за эту проблему

твой способ интересный, но это откровенное надувательмтво gentoo

попробую еще поковырять ,мож по честному получится собрать систему с gcc-3.4 headers-2.6

----------

## kesha

начнем сначала

распакуем starge

распакуем portage

пока правим /etc/make.profile/package

меняем 

*>=sys=devel/gcc-3.2

на

*>=sys=devel/gcc-3.4

проуем

/scripts/bootstrap.2.6

выводит список 

gcc-3.4 присутствует

далее видим 

/scripts/bootstrap.2.6

using sys-kernel/linux-headers

правим /etc/make.profile/virtuals

virtuals/linux-sources sys-kernel/gentoo-sources

на

virtuals/linux-sources sys-kernel/gentoo-dev-sources

правим 

virtuals/os-headers sys-kernel/linux-headers

на 

virtuals/os-headers sys-kernel/linux26-headers

далее /scripts/bootstrap.2.6

start base system

using >=sys=devel/gcc-3.4

using sys-kernel/linux26-headers

пока всё чики-пики

далее идет такое 

```
all ebuilds that could satisfy "sys-kernel/linux26-headers" have been masked

```

идет перечисление всех linux26-headers-2.6 (masked by: ~keywords)

осталось только снять маску.

смотрим /usr/portage/profile/package.mask

видим 

# working fine on ppc. but need -fno-strict allasing to behave

-sys-devel/gcc-3.3_pre*

как я понял надо использовать в USE тот ключ, но он к нашей gcc не подходит.

больше там ничего интересного.

лезем 

http://gentoo-portage.com/browse-program-dep.php?program=7744

правим согласно документа

virtuals/os-headers sys-kernel/linux26-headers-2.6.7-r3

/scripts/bootstrap.2.6

specific key requires an operator (sys-kernel/linux26-headers-2.6.7-r3) (try adding an '=')

интересно куда нодо добавить '=' ????

----------

## kesha

 *kesha wrote:*   

> 
> 
> идет перечисление всех linux26-headers-2.6 (masked by: ~keywords)
> 
> осталось только снять маску.
> ...

 

допустим снимаем маску

/etc/make.conf

ACCEPT_KEYWORDS="~X86"

пишет

the virtual/os-headers package conflicts with anothe package 

как бы узнать с чем virtual/os-headers конфликтует ????Last edited by kesha on Mon Jul 26, 2004 3:32 am; edited 1 time in total

----------

## ValKov

kesha писал:

 *Quote:*   

> specific key requires an operator (sys-kernel/linux26-headers-2.6.7-r3) (try adding an '=')
> 
> интересно куда нодо добавить '=' ????

 

Сюда, наверное... 

virtuals/os-headers =sys-kernel/linux26-headers-2.6.7-r3

----------

## kesha

установка пошла, 

посмотрим чем это закончится, 

пока не скажу как, надо будет второй раз проверить, 

но изначально система стала собираться на linux26-headers 

и gcc3.4

----------

## kesha

ну всё тему можно закрыть,

установил систему с изночальным gcc-3.4.1 и linux26-headers

кому интересно пишите, подскажу

----------

## Serj

 *kesha wrote:*   

> ну всё тему можно закрыть,
> 
> установил систему с изночальным gcc-3.4.1 и linux26-headers
> 
> кому интересно пишите, подскажу

 

Канечна интэрэсна!  :Smile: 

Можно описать процесс установки шаг за шагом? 

Кстати, а вы не включали NPTL? А devfs не заменяли на udev? А ivman + hal + dbus не устанавливали? А прогрессивное ядро, например love-sources, не используете?

Если да, то у нас было бы хауту по русски как сделать супер-пупер современную систему!!!   :Cool: 

----------

## kesha

я собрал только базу и system/

подробнее напишу позже.

пока еще пару экспериментов.

ну например у меня не ставится xfsprogs

и я собрал систему (повторяю базовую) на Use="nptl"

и для разведки поставил -march=pentium3 -02

сейчас буду пересобирать систему -march=pentium-m -03

тока че-то запарился она не пересобирается.

emerge -u system

глаголит, что всё пучком

как бы мне из моей же системы пересобрать мою-же систему?

а ни одного дополнительного пакета пока нету.

----------

## Serj

 *kesha wrote:*   

> а ни одного дополнительного пакета пока нету.

 

А пока нет, предлагаю поиграться, все же, с udev, ivman и love-sources. А потом написать хауту!  :Smile: 

 *kesha wrote:*   

> ну например у меня не ставится xfsprogs

 

А зачем вам XFS, помоему это не интересно...  :Wink:  Лучше поиграться с ReiserFS4, которая, кстати, в love-sources есть, и... написать хауту!  :Smile: 

----------

## GreenDragon

 *Serj wrote:*   

>  *kesha wrote:*   а ни одного дополнительного пакета пока нету. 
> 
> А пока нет, предлагаю поиграться, все же, с udev, ivman и love-sources. А потом написать хауту! 
> 
>  *kesha wrote:*   ну например у меня не ставится xfsprogs 
> ...

 

Думаю XFS ему как раз и интересна, ибо если смотреть фильмы то она самое то, она ведь и предназначена для работы с большими файлами в отличии от рэйсер  :Smile: 

----------

## Serj

 *GreenDragon wrote:*   

> Думаю XFS ему как раз и интересна, ибо если смотреть фильмы то она самое то, она ведь и предназначена для работы с большими файлами в отличии от рэйсер 

 

Чтобы фильмы смотреть, телевизор нужен!  :Smile: 

Я не думаю, что человек такое траханье затеял только из-за фильмов... По-этому считаю, что в этом аспекте имеет смысл заодно поиграться с ReiserFS4.

З.Ы. Честно говоря я не думаю, что ReiserFS4 в чем-то уступает XFS....

----------

## kesha

xfsprogs собрался, только принудительно ставил версию меньше,

ReiserFS4 может и круче, но я как-то устоялся, почитаю обзоры.

у меня 

/boot   - ext2

/         - reiserfs

/home - XFS

винт поделен на три части,

в /home лежат фильмы, музон, доки. перетряхивать это всё неверное не стоит.

да и наверное это не принципиально, ведь установка на gcc-3.4 и linux26-headers на файловую систему не зависит, главное поддержка ядром.

хому наверное писать рано.

я тут взглянул в /vardb/pkg/sys-kernel и увидел 

мирно соседствующие 

linux-headers

linux26-headers

но откуда ?

ведь у меня на глазах собиралось headers-2.6

наверняка это утянул какой-нить пакет, чисто для себя.

----------

## kesha

можете попробовать сами.

1. загружаемся с СD chroot

2. /etc/make.profile/package 

    *>=sys=devel/gcc-3.2 на *>=sys=devel/gcc-3.4

3. /etc/make.profile/virtuals 

    virtuals/os-headers sys-kernel/linux-headers  

   на  virtuals/os-headers sys-kernel/linux26-headers 

4. /var/cache/edb/virtuals

    virtuals/os-headers sys-kernel/linux-headers  

   на  virtuals/os-headers sys-kernel/linux26-headers 

5. создаем файлик /usr/portage/profile/package.mask 

 >=sys-kernel/linux26-headers-2.6 -*

 >=sys-devel/gcc-3.4 -*

 >=sys-libs/libstdc++-v3-3.3 -*

6. /usr/portage/scripts/bootstrap-2.6.sh

готово 

тут открывается поле деятельности

----------

## Serj

Немного не понял... Это делается на вновь инсталируемой системе или, все же,  поверх существующей?

----------

## 4nykey

Чтоб подлить масла в огонь, linux26-headers и gcc-34 теперь по дефолту включены в новый профиль, так что

для чистой установки нужны stage1 из 2004.2 + свежий снапшот портажа + нужно сменить линк /etc/make.profile:

```
sln /usr/portage/profiles/default-linux/x86/2004.2/gcc34 /etc/make.profile
```

 (это для х86 естественно)

потом добавить ACCEPT_KEYWORDS="~x86" в /etc/make.conf, 

```
emerge -C linux-headers

emerge -i sys-devel/patch-2.5.9

emerge -av linux26-headers
```

и бутстрап, вроде так

Для переустановки поверх что-нибудь вроде: 'emerge sync' + сменить линк /etc/make.profile + 'emerge -aev system' (или 'emerge -aev world')

----------

## antst

Я может конечно идиот...но не подскажете, зачем вам 2.6 htaders?  :Wink: 

Если исходить из того, что 2.4 пока вполне прекрасно работают и от добра добра не ищут.

Или все поборники чистой идеи?  :Wink: 

----------

## kesha

scripts/bootstarp-2.6.sh работает только 

 *Serj wrote:*   

> на вновь инсталируемой системе

 

----------

## kesha

 *4nykey wrote:*   

>  'emerge -aev system' (или 'emerge -aev world')

 

большое спасибо за команду!

как раз она решила мою проблему! по поводу debug и пересборки системы из самой же системы.

наверное если она удачно закончится, то буду ездить на идеальной системы для своей centrino (bliss 501c)

----------

## kesha

правлю /etc/make.conf

-march=pentium-m -03

emerge aev system

всё четко пересобирается

sys-libs/zlib дает error

не держит почему-то параметр -03

в каком файле его вычеркнуть, что-бы zlib при 

emerge system не обновлялся??????

----------

## GreenDragon

 *kesha wrote:*   

> правлю /etc/make.conf
> 
> -march=pentium-m -03
> 
> emerge aev system
> ...

 

Это не поможет?

```
$ man portage

/etc/portage/

              package.mask

                     List of DEPEND atoms to mask.  Useful if specific versions of  packages  do  not  work

                     well for you.  For example, you swear by the Nvidia drivers, but only versions earlier

                     than 1.0.4496.  No problem!

```

----------

## kesha

gcc-3.4

не хочет некоторые пакеты собирать с

-march=pentium-m -03

убрал -03 

сборка идет без ошибок,

странно

----------

