debian 2014-07-16

Hi Guys,

I just pushed out another round of images for testing.

http://elinux.org/Beagleboard:BeagleBoneBlack_Debian#2014-07-16

Highlights, lxde & console images.

I dropped the eMMC flasher part of the console image, which means it's
now around 200Mb installed. (instead of 300Mb)

These also include enhancements/feedback from the microSD layout spec..

http://elinux.org/Beagleboard:U-boot_partitioning_layout_2.0

Including out of the box u-boot support of Debian's d-i installer for jessie.

We copied a little trick from "grub-pc" so now you can do what every
other normal x86 user has been doing for years (1):

sudo apt-get install linux-image-xyz ; sudo reboot

1: https://github.com/RobertCNelson/omap-image-builder/blob/master/target/other/zz-uenv_txt

Miracle! :wink:

Let me know your thoughts.

Regards,

Have you tried out the new signed drivers on that Windows machine? Should I push to http://github.com/beagleboard/beaglebone-getting-started ?

Hi Jason,

You should push them. My reply must have gotten lost in that thread.

usb flash
usb serial
usb ethernet

all worked on a virgin windows 8.1 64bit install

Regards,

Jason, there was one issues for UK folks:

http://www.mail-archive.com/beagleboard@googlegroups.com/msg15573.html

For background, see:
http://www.briandorey.com/post/BeagleBone-Driver-Installer-problems.aspx

Is there anyway to update that file on your end, or is it a microsoft
issues in the file generation?

Regards,

We need to edit the dpinst.xml file to add

<!-- English (United Kingdom) -->
<language code="0x0809"></language>

to the list..

Regards,

Have you tried out the new signed drivers on that Windows machine? Should I push to http://github.com/beagleboard/beaglebone-getting-started ?

Hi Jason,

You should push them. My reply must have gotten lost in that thread.

usb flash
usb serial
usb ethernet

all worked on a virgin windows 8.1 64bit install

Jason, there was one issues for UK folks:

http://www.mail-archive.com/beagleboard@googlegroups.com/msg15573.html

For background, see:
http://www.briandorey.com/post/BeagleBone-Driver-Installer-problems.aspx

Is there anyway to update that file on your end, or is it a microsoft
issues in the file generation?

We need to edit the dpinst.xml file to add

<!-- English (United Kingdom) -->
<language code="0x0809"></language>

Done. I also added a tag that is supposed to enable other unlisted
languages (enableNotListedLanguages).

Hi Guys,

I just pushed out another round of images for testing.

http://elinux.org/Beagleboard:BeagleBoneBlack_Debian#2014-07-16

Highlights, lxde & console images.

I dropped the eMMC flasher part of the console image, which means it's
now around 200Mb installed. (instead of 300Mb)

These also include enhancements/feedback from the microSD layout spec..

http://elinux.org/Beagleboard:U-boot_partitioning_layout_2.0

Including out of the box u-boot support of Debian's d-i installer for
jessie.

We copied a little trick from "grub-pc" so now you can do what every
other normal x86 user has been doing for years (1):

sudo apt-get install linux-image-xyz ; sudo reboot

1:
https://github.com/RobertCNelson/omap-image-builder/blob/master/target/oth
er/zz-uenv_txt

Miracle! :wink:

Let me know your thoughts.

Mostly I like the changes you have made. Given that rootfs over NFS
doesn¹t work with initrd, do you have any plans to add kernels to your
repo without initrd support?

Regards,
John

Let me know your thoughts.

Mostly I like the changes you have made. Given that rootfs over NFS
doesn¹t work with initrd, do you have any plans to add kernels to your
repo without initrd support?

I was looking at that too, when i merged you config patch.. Did this
recently change?

CONFIG_BLK_DEV_INITRD=y
https://github.com/RobertCNelson/bb-kernel/blob/am33x-v3.15/patches/defconfig#L139

CONFIG_ROOT_NFS=y
https://github.com/RobertCNelson/bb-kernel/blob/am33x-v3.15/patches/defconfig#L4843

In the updated u-boot patchset, it the initrd.img-xyz is not found, it
will just boot "bootz ${loadaddr} - ${fdtaddr};" as a backup. But i
forgot an nfs specific override. Since i've been copying
grub/extlinux, do they have a standard "nfs" variable set to pass to
the bootloader?

https://github.com/RobertCNelson/Bootloader-Builder/blob/master/patches/v2014.07/0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch#L234

Regards,

found it, i'll use the kernel version:
https://www.kernel.org/doc/Documentation/filesystems/nfs/nfsroot.txt

Regards,

Let me know your thoughts.

Mostly I like the changes you have made. Given that rootfs over NFS
doesn¹t work with initrd, do you have any plans to add kernels to your
repo without initrd support?

I was looking at that too, when i merged you config patch.. Did this
recently change?

No, I didn’t want to change this in your config because you use it for
UUID so usually disable initrd in my local tree.

Regards,
John

I’ve attached my uEnv.txt file I use for mounting rootfs over NFS. Not
sure how to work around using two kernels, one built with initrd and
another without initrd support.

Regards,
John

uEnv.txt (2.72 KB)

How does, this look for a default:

http://elinux.org/Beagleboard:U-boot_partitioning_layout_2.0#nfs_support

I was following:
https://www.kernel.org/doc/Documentation/filesystems/nfs/nfsroot.txt

Just converting [-] -> [_]

The nfs part is triggered by "client_ip" variable, as that should be
the most unique thing of any microsd/board. it honors "dtb=" so you
can override the default *.dtb

++ "echo Checking if client_ip is set ...;" \
++ "if test -n ${client_ip}; then " \
++ "if test -n ${dtb}; then " \
++ "setenv fdtfile ${dtb};" \
++ "echo using ${fdtfile} ...;" \
++ "fi;" \
++ "gpio set 56; " \
++ "echo Running nfsboot ...;" \
++ "run nfsboot;" \
++ "fi;" \

nfsboot:

++ "nfsboot=echo Booting from ${server_ip} ...; " \
++ "setenv nfsroot
nfsroot=${server_ip}:${root_dir}${nfs_options}; " \
++ "setenv ip
ip=${client_ip}:${server_ip}:${gw_ip}:${netmask}:${hostname}:${device}:${autoconf};
" \
++ "setenv autoload no; " \
++ "tftp ${loadaddr} ${bootfile}; " \
++ "tftp ${fdtaddr} dtbs/${fdtfile}; " \
++ "run nfsargs; " \
++ "bootz ${loadaddr} - ${fdtaddr}\0" \

where nfsargs is very close to mmcargs, just with the nfs options:

++ "nfsargs=setenv bootargs console=${console} " \
++ "${optargs} " \
++ "${cape_disable} " \
++ "${cape_enable} " \
++ "root=/dev/nfs rw" \
++ "rootfstype=${nfsrootfstype} " \
++ "nfsroot=${nfsroot} " \
++ "ip=${ip} " \
++ "${cmdline}\0" \

Here's the global var's used:

server_ip=192.168.1.100
gw_ip=192.168.1.1
netmask=255.255.255.0
hostname=
device=eth0
autoconf=off
root_dir=/home/userid/targetNFS
nfs_options=,vers=3
nfsrootfstype=ext4 rootwait fixrtc

So for John's uEnv.txt, this is all that should be needed in boot: /uEnv.txt

client_ip=10.100.116.105
server_ip=10.100.116.73
gw_ip=10.100.116.1
root_dir=/home/<userid>/targetNFS

Now to test it.. I don't think i broke anything. :wink:

Regards,

okay, same kernel (v3.15.5-bone5) supports both initrd boot and nfs
boot. Now i'm confused, why was this broken in prior kernels?

nfsboot:
http://pastebin.com/sXFSu7k3

debian@beaglebone:~$ cat disk/uEnv.txt
client_ip=192.168.0.118
server_ip=192.168.0.10
gw_ip=192.168.0.1
root_dir=/opt/wheezy

mmcboot:
http://pastebin.com/EKDpTvYc

Regards,

Robert, I saw someone mention something about misconfiguration ( for NFS ). John, and I both we’re posting on that topic, but I do not remember which post it was. Mainly it was two options, but again which two . . .I do not recall.

I’ve been using 3.8.x since I started last year, and it has always worked. I’ve also doubled checked all NFS related settings, until my most recent compile. They’ve all worked.

Also I’m not sure iSCSI is needed much any more. I toyed with it last year in hopes of getting a Netboot iSCSI setup, but NFS performance on this little board truly rocks.

I've attached my uEnv.txt file I use for mounting rootfs over NFS. Not
sure how to work around using two kernels, one built with initrd and
another without initrd support.

okay, same kernel (v3.15.5-bone5) supports both initrd boot and nfs
boot. Now i'm confused, why was this broken in prior kernels?

I¹m also confused. I recall working on TFTP boot/NFS rootfs early in the
v3.8 kernel and I had to remove both the initrd reference in bootz and
also compile the kernel without initrd support. If I didn¹t do this, the
kernel boot would hang. I have just rebuilt u-boot with your latest patch
and I used your V3.15.5-bone5 kernel together with your proposed uEnv.txt
and it works perfectly. This is very nice. Thank you for making this so
much easier. Excellent work.

One change I¹m going to make is change the uboot mount to my tftp folder
so when I update the kernel, it updates the kernel/dtbs on my tftp folder
and not on the MMC BOOT partition.

Regards,
John

I like the idea of using apt-get install to update the kernel. I just tried it and got an error when it tried to edit uEnv.txt. I hand edited uEnv.txt and rebooted into the new kernel with no problems.

–Mark

[1] apt-get install linux-image-3.8.13.bone59
Reading package lists… Done
Building dependency tree
Reading state information… Done
Note, selecting ‘linux-image-3.8.13-bone59’ for regex ‘linux-image-3.8.13.bone59’
Suggested packages:
linux-firmware-image-3.8.13-bone59
The following NEW packages will be installed:
linux-image-3.8.13-bone59
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 17.5 MB of archives.
After this operation, 40.9 MB of additional disk space will be used.
Get:1 Index of /debian wheezy/main linux-image-3.8.13-bone59 armhf 1wheezy [17.5 MB]
Fetched 17.5 MB in 19s (909 kB/s)
Selecting previously unselected package linux-image-3.8.13-bone59.
(Reading database … 66002 files and directories currently installed.)
Unpacking linux-image-3.8.13-bone59 (from …/linux-image-3.8.13-bone59_1wheezy_armhf.deb) …
Setting up linux-image-3.8.13-bone59 (1wheezy) …
update-initramfs: Generating /boot/initrd.img-3.8.13-bone59
zz-uenv_txt: Updating /boot/uEnv.txt [uname_r=3.8.13-bone59]
sudo: unable to resolve host yoder-debian-bone
sed: -e expression #1, char 15: unterminated `s’ command
run-parts: /etc/kernel/postinst.d/zz-uenv_txt exited with return code 1
dpkg: error processing linux-image-3.8.13-bone59 (–configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
linux-image-3.8.13-bone59
E: Sub-process /usr/bin/dpkg returned an error code (1)

How very odd.. Can you do me a favor and drop the "sudo" part of the
script and retest..

/etc/kernel/postinst.d/zz-uenv_txt

Here's the current version for reference
https://github.com/RobertCNelson/omap-image-builder/blob/master/target/other/zz-uenv_txt

as it's just calling:

sed -i -e 's:'${older_kernel}':'${version}':g' /boot/uEnv.txt

which should be pretty generic.. I should add a "${older_kernel} !=
${version} right before that for sanity..

Regards,

Looks like the same error[1]. I am logged in as root. I do have an extra line in my uEnv.txt[2], but it shouldn’t matter.

–Mark

apt-get install linux-image-3.8.13.bone59
Reading package lists… Done
Building dependency tree
Reading state information… Done
Note, selecting ‘linux-image-3.8.13-bone59’ for regex ‘linux-image-3.8.13.bone59’
linux-image-3.8.13-bone59 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]?
Setting up linux-image-3.8.13-bone59 (1wheezy) …
update-initramfs: Generating /boot/initrd.img-3.8.13-bone59
zz-uenv_txt: Updating /boot/uEnv.txt [uname_r=3.8.13-bone59]
sed: -e expression #1, char 15: unterminated `s’ command
run-parts: /etc/kernel/postinst.d/zz-uenv_txt exited with return code 1
dpkg: error processing linux-image-3.8.13-bone59 (–configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
linux-image-3.8.13-bone59
E: Sub-process /usr/bin/dpkg returned an error code (1)

[2] cat uEnv.txt

#Docs: http://elinux.org/Beagleboard:U-boot_partitioning_layout_2.0

uname_r=3.8.13-bone60
# uname_r=3.15.6-bone5

#dtb=

cmdline=quiet init=/lib/systemd/systemd

Actually it does. :wink:

Quickly add's a filter for # .. :wink:

Thanks!

Yup, removing the commented out line fixed it.

Thanks…

–Mark