How do I enable veth for BeagleBoard
I already placed a question on the Ubuntu for BeagleBone discussion page but didn't get an answer yet. Maybe you could step in. I need to use Linux containers (LXC) on my BeagleBone but the virtual network interface module veth dosn't seem to be enabled in the standard build. Could you tell me how to get it enabled? --XXLRay (talk) 05:10, 19 May 2014 (UTC)
It's pretty easy to enable it with my kernel scripts, so here for hints:
- Thank you for the answer but I think I did not explain the issue well enough. I already know how to compile a kernel and I think I also know which option exactly is needed.
- My problem is that the pre-build Ubuntu image from this Wiki page does not have veth support. I now see two solutions to overcome this problem:
- Install Ubuntu from the given image, download the kernel sources and re-compile the kernel with veth enabled
- Adjust the image build script to create the Ubuntu beaglebone image with veth enabled.
- So far I was looking at the script beagleboard.org_image.sh but could not find out whether this compiles the kernel or just downloads it. Furthermore would I prefer not to create the kernel config from scratch but just to take one that works fine and only change the veth option.
- What I need to know is where I can get the kernel sources that are used for the pre-build image, where I can get the depending kernel config that creates a kernel that runs on a beaglebone and whether the script allows a direct way to set the kernel config.
- --XXLRay (talk) 10:35, 20 May 2014 (UTC)
The "beagleboard.org_image.sh" doesn't build anything, it just builds an image from *.deb packages.
The kernel patch-set is always available on https://rcn-ee.net/deb/ and https://github.com/RobertCNelson/bb-kernel just take the output of 'uname -r' to find the exact tag/patchset. --RobertCNelson (talk) 13:46, 20 May 2014 (UTC)
- Thank you for coming back to me. I used the last days trying to get it running but unfortunately I haven't succeeded yet.
- I started to fetch the kernel sources on my own but unfortunately encounter problems when I try to build the kernel. This is what I did (on the beagle) so far:
- wget https://rcn-ee.net/deb/trusty-armhf/v3.8.13-bone54/linux-image-3.8.13-bone54_1.0trusty_armhf.deb
- dpkg -i linux-headers-3.8.13-bone54_1.0trusty_armhf.deb
- cd /usr/src/linux-headers-3.8.13-bone54
- nano .config: CONFIGH_VETH=m
- make deb-pkg
- Now I encounter the error message "make: *** No rule to make target `arch/arm/tools/gen-mach-types', needed by `include/generated/mach-types.h'. Stop." and the directory /usr/src/linux-headers-3.8.13-bone54/arch/arm/tools/ is indeed empty.
- That is why I switched to using your scripts (which seems to be a lot more comfortable)
- git clone https://github.com/RobertCNelson/stable-kernel.git
- cd stable-kernel
- git checkout origin/v3.9.x -b tmp
- git config --global user.name "Dummy"
- git config --global user.email "firstname.lastname@example.org"
- Set "Device Drivers -> Network device support -> Virtual ethernet pair device" to 'M'
- Unfortunately the board still boots the old kernel.
- As follows I tried to install the new kernel by using the package method
- dpkg -i ~ubuntu/stable-kernel/deploy/linux-image-3.9.11-x5_1.0cross_armhf.deb
- dpkg -i ~ubuntu/stable-kernel/deploy/linux-headers-3.9.11-x5_1.0cross_armhf.deb
- Same problem as before.
- I wanted to change the default kernel but there seems to be no grub installed.
- update-grub: command not found
- ls /boot/grub
ls: cannot access /boot/grub: No such file or directory
- sudo find / -name grub
- sudo find / -name grub.cfg
- Are you using a different boot loader?
- --XXLRay (talk) 09:36, 28 May 2014 (UTC)
Please read and follow: http://eewiki.net/display/linuxonarm/BeagleBone+Black
- Sorry that I get back to you again but as you can see on the date I used quite some time to get the kernel running on my own. I have tried multiple ways but I probably outline the one that look most promising for me. Probably you see at once what I am doing wrong what I could figure out in weeks.
- - Compile own kernel on Intel PC:
git clone https://github.com/RobertCNelson/stable-kernel.git cd stable-kernel git checkout origin/v3.9.x -b tmp export CC=arm-linux-gnueabi- ./build_kernel.sh
- - Set "Device Drivers -> Network device support -> Virtual ethernet pair device" to '*'
- - Edit system.sh: MMC=/dev/sdc
- - Insert card to beaglebone shows following message in debug interface on boot:
... Running uname_boot ... loading /boot/vmlinuz-3.8.13-bone59 ... 5512512 bytes read in 358 ms (14.7 MiB/s) unable to find am335x-boneblack.dtb ... booting legacy ... debug: [console=ttyO0,115200n8 root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait fixrtc quiet] ... debug: [bootz 0x82000000] Kernel image @ 0x82000000 [ 0x000000 - 0x541d40 ] Starting kernel ... Uncompressing Linux... done, booting the kernel. Error: unrecognized/unsupported machine ID (r1 = 0x00000e05). Available machine support: ID (hex) NAME ffffffff Generic OMAP4 (Flattened Device Tree) ffffffff Generic AM33XX (Flattened Device Tree) ffffffff Generic OMAP3-GP (Flattened Device Tree) ffffffff Generic OMAP3 (Flattened Device Tree) 0000060a OMAP3 Beagle Board 00000a9d IGEP OMAP3 module 00000928 IGEP v2 module 00000ae7 OMAP4 Panda board Please check your kernel config and/or bootloader.
Well, considering the "v3.9.x" branch and the "stable-kernel" repo DO NOT SUPPORT the beaglebone, I'm not sure what you expect to happen.
See, this page for a step by step guide.. http://eewiki.net/display/linuxonarm/BeagleBone+Black --RobertCNelson (talk) 16:30, 29 September 2014 (UTC)
- As you pointed me to that site before I had already visited it and went through the instructions multiple times. Unfortunately I had the problem that the debug interface stopped at
* Stopping System V runlevel compatibility [ OK ]
- during boot. It came out that I just forgot to enable the serial support (which is also listed on that page). I can't believe how many weeks I lost because I got that wrong. So thank you for poking me to that again. Everything seems to be working and I got my first container running.