Tuesday, August 15, 2023

NetBSD on MacOS 10.14 (Mojave), notes

Didn't find a good description of 'gotcha's' and directory naming/layout for building, i.e. replicating 
FAQ's & Howto's are detailed & excellent, have complete NetBSD directory layout, in use.
Mention made of Xwindows, "xsrc" tree. Untested.



Mewburn & Green, 2003
build.sh: Cross-building NetBSD [ PDF ]
http://www.mewburn.net/luke/papers/build.sh.pdf

The NetBSD Guide [ HTML ]

The NetBSD Guide [ PDF ]


NetBSD releases
NetBSD 9.3: the latest release

Announcing NetBSD 9.3 (August 4, 2022)

65 Prebuilt Distributions + "iso" + "images" + "Source" (Sets .tar.xz) + "Shared" files

(cd ~/src/NetBSD/src; ./build.sh list-arch ) | less [ list the known Machine/Arch pairs, 106 @ Aug 2023 ]

NetBSD: README.files

AMD64, bootable ISO

32.4. Fetching by CVS

export CVSROOT="anoncvs@anoncvs.NetBSD.org:/cvsroot"
export CVS_RSH="ssh"
cd /usr/NetBSD
cvs checkout -r netbsd-9-3-RELEASE -P src

Github repo: The NetBSD Foundation [ source, github, not prime Repo ]

Automatic conversion of the NetBSD src CVS module, use with care. 
Please submit bugs/changes via https://gnats.netbsd.org

mkdir ~/src/NetBSD
mkdir ~/src/NetBSD/obj    [ better: obj/netbsd-9.3_amd64 ]

Get the Source
(cd ~/src/NetBSD; git clone https://github.com/NetBSD/src.git) [ gets 'head' of development, not stable ]
(cd ~/src/NetBSD/src; git checkout netbsd-9) [ how to fetch this directly ? ]
(cd ~/src/NetBSD/src; git status)

Build the source
Build tools, then a kernel, release, then distribution sets & full system on a CD (iso)
the '-j3' is "run 3 makes in parallel", assumes CPU limited, not I/O.

(cd ~/src/NetBSD/src
unset M     [ this environment variable was picked up, didn't notice in doco ]

./build.sh -U -u -j3 -O ~/src/NetBSD/obj -m amd64 -a x86_64 cleandir 
    [ 'clean' needed only if prev build done ]
    [ plus remove or move aside "~/src/NetBSD/obj", prev binaries ]

./build.sh -U -u -j3 -O ~/src/NetBSD/obj -m amd64 -a x86_64 tools
./build.sh -U -u -j3 -O ~/src/NetBSD/obj -m amd64 -a x86_64 kernel=SJ-amd64-inst
./build.sh -U -u -j3 -O ~/src/NetBSD/obj -m amd64 -a x86_64 release

./build.sh -U -u -j3 -O ~/src/NetBSD/obj -m amd64 -a x86_64 distsets iso-image
)




Qemu: run the just created ISO

(cd ~/QEMU; 
  qemu-img create -f qcow2 netbsd.qcow2 8G [ create disk for filesystem ]
  sh start-netbsd.sh    [ boot the just built ISO, install to new disk, reboot & new install runs ]
                                  [ untested: live image ISO available to build or download ]
)

start-netbsd.sh
/usr/local/bin/qemu-system-x86_64 \
-cpu max \
-smp cpus=2 \
-machine type=q35,accel=hvf \
-m 2G \
-display default,show-cursor=on \
-drive file=netbsd.qcow2,if=none,id=ld0 \
-device virtio-blk-pci,drive=ld0 \
-net user,hostfwd=tcp::2222-:22 -net nic \
-cdrom /Users/steve/src/NetBSD/obj/releasedir/images/NetBSD-9.3_STABLE-amd64.iso

Monday, December 22, 2014

Disk / Storage Timeline

First cut at timeline of significant events in Disk and Storage, ignoring "historical" devices like floppies and bubble memory. Edward Grochowski's 2012 "Flash Memory Summit" talk tracks multiple storage capacity, price & technology from 1990.

First commercial computers were built  in 1950 and 1951: LEO[UK], Zuse[DE] and UNIVAC[US].
LEO claim the first working Application in 1951.
 [1949: BINAC built by the Eckert–Mauchly Computer Corporation for Northrup]

Ignored technologies include:
Tapes: used in the first computers as large, cheap linear access storage.
Drums: in use a little later and continued for some time, often in specialist roles (paging).

Friday, July 04, 2014

OS/X Time Machine, performance comparison to command line tools.

A performance comparison for Mac Owners:

Q: Just how quick is Apple’s Time Machine?
A: Way faster than you can do with OS/X command line tools.

The headline is that command line tools take 80 minutes to do what Time Machine does in 3-10 mins.

Wednesday, June 18, 2014

RAID-1: Errors and Erasures calculations

RAID-1 Overheads (treating RAID-1 and RAID-10 as identical)

N = number of drives mirrored. N=2 for duplicated
G = number of drive-sets in a Volume Group.
\(N \times G\) is the total number of drives in Volume Group.
An array may be composed of many Volume Groups.

Per-Disk:
  • Effective Capacity
    • N=2. \( 1 \div 2 = 50\% \) [duplcated]
    • N=3. \(1 \div 3 = 33.3\% \) [triplicated]
  • I/O Overheads & scaling
    • Capacity Scaling: linear to max disks.
    • Random Read: \(N \times G \rm\ of\ rawdisk = N \times G \rm\ singledrive = RAID-0\)
    • Randdom Write: \(1 \times G \rm\ of\ rawdisk = 100\% \rm\ singledrive\)
    • Streaming Read: \(N \times G \rm\ of\ rawdisk = N \times G \rm\ singledrive = RAID-0\)
    • Streaming Write: \(1 \times G \rm\ of\ rawdisk = 100\% \rm\ singledrive\)

Thursday, June 12, 2014

mathjax test & Demo

MathJax setup in Blogger:
http://mytechmemo.blogspot.com.au/2012/02/how-to-write-math-formulas-in-blogger.html

MathJax Examples

Note:
  1. I had to hunt for the "HTML/Javascript" gadget, down the list aways.
  2. I ended up putting the gadget in as a footer.
  3. You'll have to add that gadget to all blogs you want it to work for.
  4. Preview and Edit mode don't compute the TeX. You need to save the doc, then view the post.
  5. In compose "Options", "Line Breaks", I'm using 'Press "Enter" for line breaks.
  6. The "MyTechMemo" author doesn't use the exact code he suggests, though it works for me. His actual gadget is:
Powered by <a href="http://www.mathjax.org/docs/1.1/start.html">MathJax</a>

<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
Alternate Hub Config in gadget, replace just first line.
MathJax.Hub.Config({
        TeX: { equationNumbers: { autoNumber: "AMS" } },
         tex2jax: {
                    inlineMath: [ ['$','$'], ["\\(","\\)"] ],
                   displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
                   processEscapes: true }
   });

Using "all", numbers all equations.
"AMS" numbers only specified equations.
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
TeX: { equationNumbers: {autoNumber: "all"} }
});
</script>

Monday, June 09, 2014

RAID++: Erasures aren't Errors

A previous piece in this series starts as quoted below the fold, raising the question: The Berkeley group in 1987 were very smart, and Leventhal in 2009 no less smart, so how did they both make the same fundamental attribution error? This isn't just a statistical "Type I" or "Type II" error, it's conflating and confusing completely differences sources of data loss.

Sunday, June 08, 2014

RAID, Archives and Tape v Disk

There's a long raging question in I.T. Operations: How best to achieve data? [What media to use?]
This question arose again for me as I was browsing retail site.

Conclusions:

  1. The break-even for 2.5TB/6.25TB tapes is 85 and 140 tapes (compressed/uncompressed), or
    • $13,150 and $17,400 capital investment.
  2. At just 2 times data duplication, uncompressed tapes are not cost effective.
    • Enterprise backup show data duplication rates of 20-50 times.
  3. Compressed tapes are cost-effective up to 5-times data duplication.
    • If you run 10 Virtual Machines and do full backups, you've passed that threshold.