Pages personnelles de Benoît Vaillant

Home > SFR M ! Pc Pocket > Brave new kernel

Step 2

Brave new kernel

Notez cet article
0 vote

Friday 6 May 2016, by Benoît

Fine! We’ve got a debian installed, failing to provide touchscreen functionnalities, but heh, who cares? You’ve got a USB mouse since you’ve read Step 0. Didn’t you? X is working for now, but we’ll break it. We want internet!

Trying to get to an access point under the current kernel will usually lead to hangs. As far as i’ve been digging, this was related to some race condition on the SDIO/MMC side. Since I just don’t know a hell about these cards and parts of the kernel, let’s get a fresh new one, under which smarter people did some nice things.

Depending on your choices during the install, we may have to do a few things before getting the new kernel compiled. Anyhow, for the moment, just retrieve the git wireless stuff.

tar.gz that on the first key, untar it on the M! in /usr/src directory.

Do your own .config file for the kernel, or just get my (probably too yet not enough) minimalist .config file. Usage of yes | oldconfig is a way of getting a slow yet mostly configured as working kernel quite quickly.

Issuing "make" produces issues? Hehe, well, we don’t have the tools, indeed. So plug back in your install key in the M! and mount it so it points to the /cdrom directory. Fire aptitude, then update.

Ok so now, we can install "make", for example. Or binutils, gcc & the like. Once the compile tools are setup and the kernel ready, go for it:

make && make install && make modules_install

you should then do an initramfs.

Go out, have a break. This kernel will take some time to build and install. Cross-compiling could be done to speed up the process but yet is not part of this tutorial.

Done? Then time to put our first stuff in the /lib/firmware directory. If you kept your midinux install, copy the *8686* relevent files from this system to your new one. You’ll probably need to rename the helper to whatever is needed by the libertas module. Namely, on my setup, it is "sd8686_helper.bin", while named "helper_sd8686.bin" in midinux. This shouldn’t be much of a pain at this point to figure out what to do. If you’ve messed-up your midinux install, you can get some of those binaries directly from marvel. Dig out the links from the internet: there are quite a few firmware versions, some might work, others not. The midinux one didn’t fit in my tryout, yet an other firmware version did. Just give each version you can download a try...

Warning: depending on your setup, the root disk might switch from hdXy to sdXy. Using UUIDs will prevent that, otherwise edit the boot setup in grub or reboot on the old kernel and modify the /boot/grub/menu.lst file to set the appropriate device as the root one.

As for now, I can’t provide any recommendation since I have only one M!.

The procedure is:

ifconfig wlan0 up

iwconfig essid yourEssid key yourKey

If you get a freeze at this point, reboot, change the firmware, reboot so the libertas module reloads the new firmware and try-out once more. If you don’t get a freeze, issue:
dhclient wlan0

Hopefully, we now have internet access, so time to upgrade and install sshd!

Edit your /etc/apt/sources.list file. Comment out the cdrom line since we don’t need it anymore, and add the contrib non-free entries to the lenny repository.

What you’d probably want by now is openssh-server so you can fire the wifi and log on the M!

kaos@grillon: $ ping -c 1

PING ( 56(84) bytes of data.

64 bytes from ( icmp_seq=1 ttl=47 time=160 ms

— - ping statistics ---

1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 160.758/160.758/160.758/0.000 ms

Let’s move on and configure Xorg.