Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 Aug 2014 14:23:41 -0700
From:      Sean Hamilton <seanhamilton@gmail.com>
To:        freebsd-mips@freebsd.org
Subject:   FreeBSD 10.0-STABLE on EdgeRouter Lite notes/issues
Message-ID:  <CAL8FB_0PJJQupX9Ekz=6L_rUo5Jr0J=xYO0Knb%2B_o5yf9ruYJg@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
Running 10.0-STABLE r270425 on an EdgeRouter Lite.

"makefs -B big -o version=2" seems to produce a broken image which
cannot be mounted read/write. See misc/162503, bin/188762. FS
performance on USB flash is awful without softupdates, so UFS2 is
effectively mandatory. I built a rescue-only mfsroot and newfs'd and
untar'd the real system from there. Flash performance still isn't
great, but it is tolerable. Mounting noatime helps. Were it not for
the makefs bug, this process would be much easier.

Attempting to makefs directly onto the USB flash is painfully slow --
writing a file, then dd'ing that to the device is much faster. I
assume makefs does a lot of small writes. Can the OS cache and combine
these? It would also be nice if makefs could detect the size of the
target device and set the FS size and number of inodes appropriately.
Of course at that point it's basically newfs.

Also for some reason, ERL u-boot's tftpboot seems to refuse to talk to
FreeBSD's tftpd, so I had to copy my rescue-only image to the flash. I
didn't investigate this closely, could be operator error.

Any suggestions for VFS tuning on ERL? Ideally the OS could
aggressively cache filesystem writes, then lazily write them out
asynchronously. Would softupdate journaling be of any benefit?

gpart insists on aligning MBR partitions to cylinder boundaries, and
seemingly ignores -a. Is there some way to prevent this? If not, can
it be fooled by overriding the disk geometry? I'm not sure how much
this matters on USB flash devices, but it matters a lot on SSDs. I
wound up partitioning with GNU parted, since it does what it's told.

I would prefer to use GPT, but it seems like ERL u-boot doesn't
support it. Another option might be to use GPT, create a freebsd-boot
partition, dd the kernel directly there, then just load the sectors
directly with u-boot, bypassing the filesystem entirely.

Ports are totally unbuildable on ERL. This seems to be a toolchain
problem. ports-mgmt/pkg (which everything depends on) fails to build
with:

libtool: install: ranlib
/usr/ports/ports-mgmt/pkg/work/stage/usr/local/lib/libpkg_static.a
ranlib: fatal: Invalid filename

I imagine this relates to the recent freebsd-mips posts about strip
corrupting static binaries.

tcpdump is broken, as the packet lengths it reports are incorrect, and
it eventually segfaults. I thought this might be an issue with the
octe driver, but it seems even the loopback device is afflicted, so
perhaps it's an endianness issue?

Regarding https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=177876 --
is this patch still a good idea? Or has it been merged?

Is there an estimate as to how many people are running FreeBSD on ERL?
Many thanks in advance for suggestions on any of the above!

-- 
Sean Hamilton <seanhamilton@gmail.com>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAL8FB_0PJJQupX9Ekz=6L_rUo5Jr0J=xYO0Knb%2B_o5yf9ruYJg>