Pagina 1 di 23

[EOL] Kernel-netbook: Topic ufficiale :)

Inviato: 2 febbraio 2010, 20:23
da dieghen89
NOVITÀ: non avendo tanto tempo a disposizione, non aggiorno più questo post con le varie novità. Per rimanere aggiornati:

-> Google Code
-> GitHub
-> AUR

Per qualsiasi problema sono disponibile qua sul forum o per email.
_____________________________________________________________________________

Ciao a tutti!

È da un po' che ho questa idea e oggi voglio proporvela. Con lo spopolare dei netbook, sono venuti fuori parecchi kernel moddati, basta vedere su AUR, ce ne sono parecchi e molti ultimamente sono stati cancellati.

Dopo aver portato avanti il kernel26-901, ho deciso di creare un kernel per la maggior parte dei netbook.

Il grosso del lavoro è già stato fatto con il kernel precedente, quindi ora si tratterebbe solo di ampliare la compatibilità dei modelli, e qua servite voi :D

Caratteristiche del kernel:
- Monolitico, ossia niente initrd
- Firmware aggiuntivi inglobati
- Supporto nativo al Kernel Mode Settings
- Applicazione del patchset ufficiale di Arch
- Utilizzo del Brain Fucking Schedules di Con Kolivas (in test)
- Pacchetto grande meno di 5MB (sul disco 10MB occupati)

Modelli supporati (solo Intel Atom):
- Asus eeepc
- Acer Aspire one
- MSI Wind
- Samsung serie N
- Dell mini

Moduli inglobati:
Wireless:
- ath5k
- ath9k
- rt2860
- rtl8187se
- broadcom-wl
Ethernet:
- atl1c
- atl1e
- r8169

_____________________________________________________________________________

ORA C'È TUTTO SU AUR! I pacchetti precompilati li potete trovare tutti qua.

Inviato: 2 febbraio 2010, 21:14
da Asa
Purtroppo (o per fortuna) abbiamo lo stesso netbook, quindi nulla da segnalare, non credo però di poterlo neanche testare una volta realizzato perchè uso LVM (a meno che non intenda includerne il supporto :)]

Inviato: 3 febbraio 2010, 0:02
da N3mes1s
Bell'idea:

Dell Mini 10v

Codice: Seleziona tutto

i686 Intel(R) Atom(TM) CPU N270 @ 1.60GHz GenuineIntel GNU/Linux

Codice: Seleziona tutto

00:00.0 Host bridge: Intel Corporation Mobile 945GME Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GME Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
03:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g (rev 01)
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 02)

Codice: Seleziona tutto

Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 003: ID 0bda:0158 Realtek Semiconductor Corp. Mass Storage Device
Bus 001 Device 002: ID 174f:1403 Syntek 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
se serve altro o ho sbagliato qualcosa, aspetto info :D

Inviato: 3 febbraio 2010, 0:04
da veleno77
scusa basati su archone non dovrebbe essere la arch per acer aspireone et simili? inoltre sarebbe belo vedere cosa fa moblin, tra quelle che ho provato è la più perforante e veloce
io ho un 900A, ma il collo di bottiglia è l'ssd

Inviato: 3 febbraio 2010, 1:01
da dieghen89
@N3mes1s
ok grazie...Potresti anche dirmi che driver usi per la scheda ethernet e wireless?

@veleno77
si ma penso che supporti acer e eeepc, e anche il kernel26-901 lo faceva...Di Moblin non ho mai approfondito, anche se mi piacerebbe installarla e provarla...

Inviato: 3 febbraio 2010, 8:50
da N3mes1s
dieghen89 ha scritto:@N3mes1s
ok grazie...Potresti anche dirmi che driver usi per la scheda ethernet e wireless?
eth: r8169, di default nel kernel
wlan: broadcom-wl (aur)
web-cam: stk11xx (aur)

Inviato: 3 febbraio 2010, 9:42
da fermat
io ho un 1008ha, nn so se ti posso esserti d'aiuto.

però vorrei fare una domanda per capire meglio.
quando il tuo progetto sarà finito e disponibile sarà possibile installare il kernel da aur??
e si sostituirà a quello già installato?

Inviato: 3 febbraio 2010, 9:44
da Bl@ster
N3mes1s ha scritto:
dieghen89 ha scritto:@N3mes1s
ok grazie...Potresti anche dirmi che driver usi per la scheda ethernet e wireless?
eth: r8169, di default nel kernel
wlan: broadcom-wl (aur)
web-cam: stk11xx (aur)
Anch'io uso i broadcom-wl per la wifi, però sono esterni... quindi credo si possa far poco :/
Comunque kudos al progetto :)
fermat ha scritto:però vorrei fare una domanda per capire meglio.
quando il tuo progetto sarà finito e disponibile sarà possibile installare il kernel da aur??
e si sostituirà a quello già installato?
Ovviamente sarà possibile installare il kernel da AUR, anche se io personalmente credo che lo compilerò con makepkg sul fisso e passerò sul netbook solo il pkg da installare.
Non andrà a sostituirsi automaticamente al kernel di default, sarai tu a far puntare il tuo GRUB (o LILO che sia) verso il nuovo kernel; io avrei una domanda più mirata, ossia: userete il patchset -ARCH o sarà vanilla?

Inviato: 3 febbraio 2010, 10:25
da dieghen89
@n3m3s1s
ottimo grazie...

@fermat
ti ha risposto già bl@ster...se possibile vorrei distribuire anche qualche precompilato...Con il kernel26-901 li uppavo su mediafire (tanto dovevo compilarmeli per me) e poi li linkavo dalla pagina del mio blog...

@bl@ster
Io finora ho sempre usato i vanilla, ma applicavo parte della patch di arch per avere il logo al KMS...Ora chiedo a voi, ho aperto la discussione apposta ...cosa preferite?

Inviato: 3 febbraio 2010, 10:34
da veleno77
http://archone.sourceforge.net/ vedi te potresti pensare di unirti al progetto....

p.s tanto anche il tipo che lo fa è italiano http://arcierisinasce.wordpress.com/

Inviato: 3 febbraio 2010, 10:40
da Bl@ster
dieghen89 ha scritto:@bl@ster
Io finora ho sempre usato i vanilla, ma applicavo parte della patch di arch per avere il logo al KMS...Ora chiedo a voi, ho aperto la discussione apposta ...cosa preferite?
a 'sto punto applicale tutte, il patchset di Arch è considerato uno dei migliori e non vedo perchè privarci di questo gioiellino ;)

Inviato: 3 febbraio 2010, 11:22
da neubauten84
Bel progetto!!!
Io volevo ricompilarmi un kernel tutto mio ma non ho tanto tempo né competenze per farlo...
Ho un HP Compaq Mini 700EL

Codice: Seleziona tutto

00:00.0 Host bridge: Intel Corporation Mobile 945GME Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GME Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
01:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g (rev 01)
02:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8040 PCI-E Fast Ethernet Controller

Inviato: 3 febbraio 2010, 11:33
da veleno77
ma ragazzi non converrebbe controllare l'output di
lspci -n
qui http://kmuto.jp/debian/hcl/
che da tutti i driver da usare?

Inviato: 3 febbraio 2010, 11:37
da Bl@ster
veleno77 ha scritto:ma ragazzi non converrebbe controllare l'output di
lspci -n
qui http://kmuto.jp/debian/hcl/
che da tutti i driver da usare?
Intanto io posto un lspci normale, poi vedremo se sarà il caso di postare pure una verbose mode o quant'altro.

Codice: Seleziona tutto

00:00.0 Host bridge: Intel Corporation Mobile 945GME Express Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GME Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02)
00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.2 SATA controller: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA AHCI Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
01:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g (rev 01)
03:00.0 Ethernet controller: Attansic Technology Corp. Atheros AR8132 / L1c Gigabit Ethernet Adapter (rev c0)
Ripeto, uso tutto vanilla tranne il driver wifi che è broadcom-wl preso da AUR.

Inviato: 3 febbraio 2010, 11:47
da dieghen89
@veleno77
conosco il progetto e l'ho anche testato sul mio eeepc....Ma a mio avviso sono 2 progetti differenti, kernel e distro...Se il progetto va avanti bene sarebbe bello anche magari che marinz lo usasse per la distro, così supporterebbe molti più netbook...

@bl@ster
ok allora vada per il patchset completo :D

@tutti
mi piacerebbe anche fare una cosa del genere...eliminare il bisogno di installare i vari driver da AUR. Mi spiego meglio...Sarebbe bello inglobare nel PKGBUILD anche l'aggiunta dei vari moduli che mancano, come broadcom-wl...alla fine aggiungo una linea in più ai sources e una riga di install e il gioco è fatto...

Inviato: 3 febbraio 2010, 11:51
da Bl@ster
dieghen89 ha scritto:@tutti
mi piacerebbe anche fare una cosa del genere...eliminare il bisogno di installare i vari driver da AUR. Mi spiego meglio...Sarebbe bello inglobare nel PKGBUILD anche l'aggiunta dei vari moduli che mancano, come broadcom-wl...alla fine aggiungo una linea in più ai sources e una riga di install e il gioco è fatto...
Beh se ci riesci perchè no ;)
Piuttosto.
Useremo initrd o lo faremo monolitico? :)

Inviato: 3 febbraio 2010, 11:55
da dieghen89
Se dai un'occhio al config del kernel26-901 che userò come base, puoi notare che è già monolitico...Cosa ne pensate?

Inviato: 3 febbraio 2010, 12:22
da dieghen89
Nel mentre vi porgo un altra domanda....Preferite avere un kernel all'ultima stable release (quindi conforme al repo core di arch) oppure avere un kernel più all'avanguardia e (ovviamente se non ci sono problemi) usare sempre l'ultima rc quando disponibile?

Ibn questi mesi ho sempre usato le rc (dal .29 in poi) e non ho mai avuto problemi...

Inviato: 3 febbraio 2010, 12:35
da Asa
Per me è meglio il bleeding-edge :cool:

Inviato: 3 febbraio 2010, 12:41
da veleno77
sisi dieghen89 il tuo è il progetto del solo kernel, mentre l'altro di una "distribuzione" pronta da installare, però magari vi potreste aiutare a vicende, e magari può nascere archone che usi il tuo kernel e in più il tuo kernel a disposizione di tutti...cioè era un incentivo a magari unire le forze .. poi oviio fai come più ti aggrada

Inviato: 3 febbraio 2010, 13:27
da dieghen89
veleno77 ha scritto:può nascere archone che usi il tuo kernel e in più il tuo kernel a disposizione di tutti
si sarebbe una bella idea...ho scritto un pm a marinz vediamo cosa ne pensa...

@Asa
anche io sarei per il bleeding edge...Il problema è l'applicazione della patch -ARCH che non penso sia compatibile per un kernel diverso da quello per cui è stata creata (per esempio applicare la patch del 2.6.32.7 a una rc del .33)...Ma questa cosa dovrei verificarla...

Inviato: 3 febbraio 2010, 13:36
da Bl@ster
dieghen89 ha scritto:
veleno77 ha scritto:può nascere archone che usi il tuo kernel e in più il tuo kernel a disposizione di tutti
si sarebbe una bella idea...ho scritto un pm a marinz vediamo cosa ne pensa...

@Asa
anche io sarei per il bleeding edge...Il problema è l'applicazione della patch -ARCH che non penso sia compatibile per un kernel diverso da quello per cui è stata creata (per esempio applicare la patch del 2.6.32.7 a una rc del .33)...Ma questa cosa dovrei verificarla...
Meglio per ora tenere solo le stabili ;)
Più che altro per il patchset :D

Inviato: 3 febbraio 2010, 13:56
da dieghen89
Ok per ora stiamo sulla stabile poi in caso stiamo poco a fare un cambio rapido a un rc....

Per broadcom-wl non mi trova i sorgenti...e non è possibile navigare nel server....avete percaso il link giusto?

P.s. posto qua un abbozzo di PKGBUILD, non l'ho ancora testato e mancano gli md5sums per il problema sopracitato...Vi consiglio di usare un editor colorato :P

#EDIT: trovata

Codice: Seleziona tutto

# Maintainer: dieghen89 <dieghen89@gmail.com>

pkgname=kernel-netbook
#pkgver=2.6.33_rc6
pkgver=2.6.32.7
#level="rc6"
#_basekernel=2.6.33-${level}
_basekernel=$pkgver
pkgrel=1
_kernver="$pkgver-netbook"
pkgdesc="Static kernel with KMS for netbooks with Intel Atom N270/N280/N450 such as eeepc with the add-on of external firmware - Old kernel26-901"
arch=('i686')
license=('GPL2')
#url=('http://thedarkcornerofmymind.comxa.com/kernel26-901')
groups=(eee)
depends=('coreutils' 'module-init-tools')
optdepends=('crda: for wireless regulatory domain support')
install=${pkgname}.install
patchname=patch-${pkgver}-${pkgrel}-ARCH

######################
#  external drivers  #
######################

#Broadcom-wl:
broadcom_ver=5.10.91.9.3
broadcom=hybrid-portsrc-i686-v${broadcom_ver}
#stk11xx:
stk11xx_ver=2.1.0
stk11xx=stk11xx-$stk11xx_ver

############### Sources
source=(ftp://ftp.kernel.org/pub/linux/kernel/v2.6/testing/linux-${_basekernel}.tar.bz2
    ftp://ftp.archlinux.org/other/kernel26/${patchname}.bz2
    http://www.broadcom.com/docs/linux_sta/${broadcom}.tar.gz
    http://switch.dl.sourceforge.net/sourceforge/syntekdriver/stk11xx-$stk11xx_ver.tar.gz
    config
    wl_linux.patch)

build() {
#Section: Broadcom-wl
  sed -i '190iMODULE_LICENSE("Mixed/Proprietary"); n' ${srcdir}/src/wl/sys/wl_linux.c
  patch ${srcdir}/src/wl/sys/wl_linux.c wl_linux.patch || return 1
  KBUILD_NOPEDANTIC=1 make -C /lib/modules/${_kernver}/build M=`pwd` || return 1
  install -D -m 755 wl.ko ${pkgdir}/lib/modules/${_kernver}/kernel/drivers/net/wireless/wl.ko || return 1
  
#Section: stk11xx
  cd $startdir/src/stk11xx-$stk11xx_ver || return 1
  make -f Makefile.standalone || return 1
  install -d $startdir/pkg/lib/modules/${_kernver}/kernel/drivers/media/video
  install -m 644 $startdir/src/stk11xx-$stk11xx_ver/stk11xx.ko $startdir/pkg/lib/modules/${_kernver}/kernel/drivers/media/video
  install -d $startdir/pkg/usr/share/stk11xx
  install -m 644 $startdir/src/stk11xx-$stk11xx_ver/README $startdir/pkg/usr/share/stk11xx

#Section Kernel
  cd $srcdir/linux-${_basekernel}
  #patching the kernel with arch patchset
  #patch -Np1 -i ${srcdir}/archlinux-logo.patch || return 1
  patch -Np1 -i ${srcdir}/$patchname || return 1

  # copy config
  cp ../config ./.config

  make prepare
  
  #make defconfig
  # configure kernel    
  # use menuconfig, if you want to change the configuration
  make menuconfig
  #make gconfig
  #yes "" | make config

  # build kernel
  make || return 1

  # install our modules
  mkdir -p $pkgdir/{lib/modules,boot}
  make INSTALL_MOD_PATH=$pkgdir modules_install || return 1

  # remove the junk symlinks
  cd $srcdir/linux-${_basekernel}
  rm $pkgdir/lib/modules/${_kernver}/{build,source}

  # install the kernel
  install -D -m644 System.map $startdir/pkg/boot/System.map26-netbook
  install -D -m644 arch/x86/boot/bzImage ${pkgdir}/boot/vmlinuz26-netbook
  install -D -m644 .config $startdir/pkg/boot/kconfig26-netbook

  # set correct depmod command for install
  sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" $startdir/$pkgname.install
}

Inviato: 3 febbraio 2010, 14:49
da dieghen89
@chiunque usi broadcom-wl
come da PKGBUILD su aur ho provato a dare questo make per il modulo:
KBUILD_NOPEDANTIC=1 make -C /lib/modules/$(uname -r)/build M=`pwd` || return 1
ma non esiste il file build e non capisco cosa cerchi...Qualcuno riesce ad illuminarmi?

Inviato: 3 febbraio 2010, 14:51
da Bl@ster
Il PKGBUILD sembra occhei, lo testo poi se vuoi, tanto sto aspettando che la mia ragazza finisca di dare un esame all'uni e ho il "centro di calcolo" sgombro :D
Per quanto riguarda invece i driver broadcom, ti segnalo che nella pagina di AUR del pacchetto è specificata la dipendenza kernel26<2.6.33, giusto per prendere atto della cosa :)