what kind of freebsd image for a usbstick installation on Prozessor: ARM Cortex-A8 @1GHz

Hello @mjollir,

I have checked it out and it is not working. Final conclusion in this post: I have to make a nanobsd stick. That is no problem because I have here a already installed FreeBSD on a tower with harddisk. Of course I will avoid GTK. My choice is motif. So I want to install libmotif as I have done already on my bsd-tower. I don't want to program for linux , ONLY REAL UNIX. My approach is to program in AWK, Shell, C and Motif and many more libraries that belong to UNIX. The traditional approach combined with new hightech libraries in C.

he he

kindly regards
SM
 
Motif is a very modern choice, indeed. I f you want to invest in the future, learn Motif. I heard rumours the government of Micronesia decided to build the the world's smallest OS with integrated GUI on top of FreeBSD + Motif! He he he!
 
Yeah,
I have prepared here everything. Many books etc. have compiled GUI examples on tower.
[ I hate GUI designers.
I want to program code and switching the brain ON ,
not serve a stupid software that is teaching the "methodology how to do that."]

One question is furthermore, if it is possible to build a nanobsd stick from LIVE FreeBSD or only from installed one.
Things go more mobile today.

Should I start building with installed OS ?

Kindly Regards
SM
 
I have prepared here everything. Many books etc. have compiled GUI examples on tower.
[ I hate GUI designers.
I want to program code and switching the brain ON ,
not serve a stupid software that is teaching the "methodology how to do that."]
Great! I hate GUI designers, too. They're trying to take away real programmer's freedom to write spaghetti code, just because they think UIs should be intuitive & easy to use! Bullsh*t! Motif rulez!!! And it looks beautiful!!!
One question is furthermore, if it is possible to build a nanobsd stick from LIVE FreeBSD or only from installed one. Things go more mobile today. Should I start building with installed OS ?
Definitely, Yes is the answer to all three.
 
here you got a working example from me. it works always. feel free to ask me for how to compile.

Its like nobody - terence hill - short video - it works.

you need a very simple texteditor. very simpler than for example "geany"
and the open commandline terminal for compiling instructions. thats all.


C:
#include <Xm/Form.h>
#include <Xm/Label.h>
#include <Xm/PushB.h>


int main ( int argc, char ** argv )
{
    Widget              shell, form, label, button;
    XtAppContext app;
    int  i;


    shell = XtAppInitialize ( &app, "Formtest", NULL, 0,
                          &argc, argv, NULL, NULL, 0 );

    Screen * s = XtScreen(shell);

    int dw = WidthOfScreen(s);
    int dh = HeightOfScreen( s );

    Dimension px = (dw-500)/2;
    Dimension py = (dh-300)/2;

    XtVaSetValues ( shell,
              XmNwidth, 500,
              XmNheight, 300,
              XmNx, px,
              XmNy, py,
              NULL );


    form = XtCreateManagedWidget ( "form", xmFormWidgetClass,
                                shell, NULL, 0 );

    label = XtVaCreateManagedWidget ( "label", xmLabelWidgetClass,
                                form, NULL, 0 );

    button = XtVaCreateManagedWidget ( "button", xmPushButtonWidgetClass,
                                form,
                                XmNbottomAttachment,       XmATTACH_FORM,
                                 0 );
    XtVaSetValues ( button,
              XmNwidth, 100,
              XmNheight, 50,
              NULL );


    XtRealizeWidget ( shell );
    XtAppMainLoop ( app );

}
 
i am running the nanobsd.sh script and building. takes some time to build. 15 minutes ??? dont know.

script is only available in the INSTALLED version. no LIVE CD.

after 15 minutes the process in the freebsd terminal is still running. i wait more.

does someone know the building time of nanobsd.sh ??? that could help.
 
Hm. My user is in the group staff, which is traditionally used for developers & such: pw groupmod -m staff <user> and re-login to apply the change.
I have mkdir /var/obj, rm -fr /usr/obj & cd /usr && ln -s ../var/obj ., chgrp staff /var/obj && chmod g+sw /var/obj and finally chmod a+s /usr/bin/newgrp. I have mounted the sources into my user's home (I have CUR, STABLE & REL source trees under /src & symlink to /usr/src): In /etc/fstab(5)
Code:
/src/13-CUR     /home/paul/Projects/FreeBSD/src/13-CUR unionfs  rw,late,below,noatime       0 0
/src/12-STABLE /home/paul/Projects/FreeBSD/src/12-STABLE unionfs rw,late,below,noatime 0 0
/src/12.1-REL /home/paul/Projects/FreeBSD/src/12.1-REL unionfs rw,late,below,noatime 0 0
Then I can (as <user>) newgrp staff and run the script from within my $HOME/Projects/FreeBSD/src/....
How long it takes obviously depends on your hardware, and how you make use of it ( -j <max-jobs> of make(1))
 
thank you mjollnir ,

have 1.4 GB currently in nanobsd package. building still in progress...

one hour later - 1.4 GB staying still but the items are growing - 34506 items in nanobsd folder.


message from the arch
 
after 1 hour . status : 1.5 GB in nanobsd folder 34684 items. still growing.

1,5 hours ... still building
 
yeah , i started the original nanobsd script as described.
it takes time
2 hours - 1.6 GB 35920 items
freebsd takes it very precisely.

of course. a full OS on USB stick isn't anything easy....if should working correct.

SM
 
$ dmesg | grep CPU
CPU: Intel (R) Core(TM) 2 Duo CPU E8400 @ 3.00GHz (2992.54-Mhz 686-class CPU)
FreeBSD/SMP : Multiprocessor System Detected: 2 CPUs
cpu0: <ACPI CPU> on acpi0
est : CPU supports Enhanced Speedstep, but is not recognised.
est : CPU supports Enhanced Speedstep, but is not recognised.


5 hours packing time : nanobsd folder status - 2.6 GB 45513 items
6 hours packing time : nanobsd folder status - 3,1 GB 66397 items
7 hours packing time : nanobsd folder status - 4 GB 71149 items


freebsd friends , its nighttime here , i take a rest.
wonder how great the folder is next day when the sun awakes ? now its 5GB
freebsd 12.1 i386 takes a night shift.
 
I started shortly behind you and I have
>>> World build completed on Wed Aug 26 21:55:15 CEST 2020
du -schx /var/obj/nanobsd.full/src/12.1-REL/amd64.amd64/
5.5G total
 
  • Like
Reactions: a6h
hello again ,
i make a coffee. black.
nanobsd folder wants to make more than 12 GB on this older i386 PC. 12.1 installed. 32bit.
freebsd said that packaging was unsuccessful because there is not enough space.
df -h
57 GB free thats enough

ok.
no problem. i dont want 32bit nanbsd so i leave this freebsd installation untouched. its for home use only.

mission : make a freebsd running on the AMD64bit thin client Fujitsu.

i have tried to INSTALL on USB Stick plugged in. does not work.

so what i will do now is to buy a little external usb hard disk (maybe 80GB) and plug it into the usb of the thinclient.
then i try to install 12.1 STABLE AMD64bit minimemstick FreeBSD on this external drive.

wait , i will try Fury BSD first. why not. its a HD

SM

the ARMv7-Cortex thin client lies here besides -doesnt matter. not important jet. AMD should run first

sum it together here my actual mission is to prepare a "water proof backpack" already ordered with :
a complete computer office instead of a android tablet.
screen-thinclient-keyboard-mouse-scanner-usbOSsticks etc.

already packed and ready to use for any mission. a convenient PLUS would be freebsd for "programming"

because in programming i would like original UNIX the best.

a complete office on the right shoulder - no compromise.
 
The problem with NanoBSD and disk space is about your image file size.
The image size is not large enough to suit your build. So you need to increase your image file.
This is where the -b flag comes in handy.
You can simple rerun your config with larger image size and the buildimage stage will only take a few minutes.
../nanobsd.sh -bc yourconfig.cfg
Substitute yourconfig.cfg with the name of your configuration file.
 
hello Pishfry,

for that bsd image partition expanding i need clear adive and commands.
it zould destroy the image.
normally an image or partition is resized only if not booted and used. for example : from boot cd on.

in this case i try first to install freebsd on the external usb harddrive.

kindly regards
 
  • Forget FuryBSD for now, it's broken. If you want to try a ready-to-go solution, have a look at NomadBSD.
  • USB thumb drives nowadays are available up to 256? GB. I recently purchased a 64 GB stick for ~25€. No need to carry an external HDD. Fix a thread or wire to it, so you can not lose it -- these modern thumb drives can be very small.
 
yeah ,

ok. harddrive usb is here - 80GB is enough. from computershop-freak. nuts and bolts man.
make HD ready with hirenbootcd and diskgenius. surfacecheck. 2 partitions. 40GB 40GB

ok. ill try NOMAD on this HD first , because flashstick failed.
then standard stable 12.1. freebsd install.
nanobsd doen't flow away. if i have a install on AMD64 i can make in from there too.

SM
 
NANO_MEDIASIZE= is the directive for image size for NanoBSD

Here is an NanoBSD amd64 USB config file that I use:
You can save this as /usr/src/tools/tools/nanobsd/amd64/amd64.cfg and run like this:

cd /usr/src/tools/tools/nanobsd/amd64/
../nanobsd.sh -c amd64.cfg

Note you will also want to create a /usr/src/tools/tools/nanobsd/amd64/pkg/ directory for packages to be fetched into.

Code:
# Name of this NanoBSD build.  (Used to construct workdir names)
NANO_NAME=amd64

# Source tree directory
NANO_SRC=/usr/src

# Where nanobsd additional files live under the source tree
NANO_TOOLS=tools/tools/nanobsd

# The drive name of the media at runtime
# This value is not used if NANO_LABEL is used
NANO_DRIVE="da0"

# Where cust_pkg() finds packages to install
NANO_PACKAGE_DIR=${NANO_SRC}/${NANO_TOOLS}/${NANO_NAME}/pkg/All
NANO_PACKAGE_LIST="*"

# where package metadata gets placed
NANO_PKG_META_BASE=/var/db

# Object tree directory
# default is subdir of /usr/obj
#NANO_OBJ=""

# The directory to put the final images
# default is ${NANO_OBJ}
NANO_DISKIMGDIR=""

# Parallel Make
NANO_MAKE="make"
NANO_PMAKE="make -j $(sysctl -n hw.ncpu)"

# The default name for any image we create.
NANO_IMGNAME="nanobsd_${NANO_NAME}_${NANO_DRIVE}.img"

# Kernel config file to use
# If this file exists in targets/${NANO_TARGET}/${NANO_ARCH} then it
#  will be copied
NANO_KERNEL=AMD64

# Kernel modules to build; default is none
NANO_MODULES=""

# Customize commands.
NANO_CUSTOMIZE=""

# Early customize commands.
NANO_EARLY_CUSTOMIZE=""

# Late customize commands.
NANO_LATE_CUSTOMIZE=""

# Last Orders commands.
NANO_LAST_ORDERS=""

# Newfs paramters to use
NANO_NEWFS="-b 4096 -f 512 -i 8192 -U"

# Target media size in 512 bytes sectors
NANO_MEDIASIZE=976563

# Number of code images on media (1 or 2)
NANO_IMAGES=2
# 0 -> Leave second image all zeroes so it compresses better.
# 1 -> Initialize second image with a copy of the first
NANO_INIT_IMG2=1

# Size of code file system in 512 bytes sectors
# If zero, size will be as large as possible.
#NANO_CODESIZE=0

# Size of configuration file system in 512 bytes sectors
# Cannot be zero.
NANO_CONFSIZE=2048

# Size of data file system in 512 bytes sectors
# If zero: no partition configured.
# If negative: max size possible
NANO_DATASIZE=0

# Size of the /etc ramdisk in 512 bytes sectors
NANO_RAM_ETCSIZE=30000

# Size of the /tmp+/var ramdisk in 512 bytes sectors
NANO_RAM_TMPVARSIZE=30000

########NANO_RAM_TMPVARSIZE=400000 # 200M
########NANO_RAM_ETCSIZE=50000 # 50M

# Media geometry, only relevant if bios doesn't understand LBA.
NANO_SECTS=63
NANO_HEADS=16

# boot0 flags/options and configuration
NANO_BOOTLOADER="boot/boot0"
NANO_BOOT0CFG="-o packet -s 1 -m 3 -t 36"

# boot2 flags/options
# default force serial console
NANO_BOOT2CFG="-S115200 -d"

# Backing type of md(4) device
# Can be "file" or "swap"
NANO_MD_BACKING="file"

# for swap type md(4) backing, write out the mbr only
NANO_IMAGE_MBRONLY=true

# Set NANO_LABEL to non-blank to form the basis for using /dev/ufs/label
# in preference to /dev/${NANO_DRIVE}
# Root partition will be ${NANO_LABEL}s{1,2}
# /cfg partition will be ${NANO_LABEL}s3
# /data partition will be ${NANO_LABEL}s4
#NANO_LABEL="nanobsd"
NANO_SLICE_ROOT=s1
NANO_SLICE_ALTROOT=s2
NANO_SLICE_CFG=s3
NANO_SLICE_DATA=s4
NANO_ROOT=s1a
NANO_ALTROOT=s2a

# Directory to populate /cfg from
NANO_CFGDIR=${NANO_TOOLS}/${NANO_TARGET}/cfg

# Directory to populate /data from
NANO_DATADIR=${NANO_TOOLS}/${NANO_TARGET}/data

# Default ownwership for nopriv build
NANO_DEF_UNAME=root
NANO_DEF_GNAME=wheel

# Define the image type, acceptable types are disk and cd.
NANO_IMAGE_TYPE="disk"

## Speed to enable the serial console at.
NANO_CONSOLE_SPEED="115200"
# Progress Print level
PPLEVEL=3

SRCCONF=/dev/null
SRC_ENV_CONF=/dev/null

####################################

#Options passed to the buildworld stage of the build#
CONF_BUILD='
WITHOUT_KLDLOAD=YES
'

####################################

#Options passed to the installworld stage of the build#
CONF_INSTALL="
$CONF_BUILD
INSTALL_NODEBUG=YES
NOPORTDOCS=YES
NO_INSTALL_MANPAGES=YES
TARGET_ARCH=amd64
TARGET_CPUTYPE=amd64
TARGET=amd64
#######  FROM FREEBSD 12.0-STABLE SOURCE r342891  ##########
WITHOUT_ACCT=
WITHOUT_AMD=
WITHOUT_APM=
WITHOUT_ASSERT_DEBUG=
WITHOUT_AT=
WITHOUT_ATM=
WITHOUT_AUDIT=
WITHOUT_AUTHPF=
WITHOUT_AUTOFS=
WITHOUT_AUTO_OBJ=
WITHOUT_BHYVE=
WITHOUT_BINUTILS=
WITHOUT_BINUTILS_BOOTSTRAP=
WITHOUT_BLACKLIST_SUPPORT=
WITHOUT_BLUETOOTH=
WITHOUT_BMAKE=
WITHOUT_BOOTPARAMD=
WITHOUT_BOOTPD=
WITHOUT_BSDINSTALL=
WITHOUT_BSD_CPIO=
WITHOUT_BSNMP=
WITHOUT_BZIP2=
WITHOUT_BZIP2_SUPPORT=
WITHOUT_CALENDAR=
WITHOUT_CCD=
WITHOUT_CDDL=
WITHOUT_CLANG=
WITHOUT_CLANG_BOOTSTRAP=
WITHOUT_CLANG_FULL=
WITHOUT_CLANG_IS_CC=
WITHOUT_CPP=
WITHOUT_CROSS_COMPILER=
WITHOUT_CTM=
WITHOUT_CUSE=
WITHOUT_CVS=
WITHOUT_CXGBETOOL=
WITHOUT_DEBUG_FILES=
WITHOUT_DIALOG=
WITHOUT_DICT=
WITHOUT_DMAGENT=
WITHOUT_DOCCOMPRESS=
WITHOUT_DYNAMICROOT=
WITHOUT_ED_CRYPTO=
WITHOUT_ELFTOOLCHAIN_BOOTSTRAP=
WITHOUT_EXAMPLES=
WITHOUT_FDT=
WITHOUT_FINGER=
WITHOUT_FLOPPY=
WITHOUT_FMTREE=
WITHOUT_FORMAT_EXTENSIONS=
WITHOUT_FORTH=
WITHOUT_FP_LIBC=
WITHOUT_FREEBSD_UPDATE=
WITHOUT_FTP=
WITHOUT_GAMES=
WITHOUT_GCC=
WITHOUT_GCC_BOOTSTRAP=
WITHOUT_GCOV=
WITHOUT_GDB=
WITHOUT_GDB_LIBEXEC=
WITHOUT_GNUCXX=
WITHOUT_GNU_DIFF=
WITHOUT_GNU_GREP_COMPAT=
WITHOUT_GPIO=
WITHOUT_GPL_DTC=
WITHOUT_HAST=
WITHOUT_HTML=
WITHOUT_HYPERV=
WITHOUT_ICONV=
WITHOUT_INCLUDES=
WITHOUT_INET6=
WITHOUT_INET6_SUPPORT=
WITHOUT_INFO=
WITHOUT_INSTALLLIB=
WITHOUT_IPFILTER=
WITHOUT_IPFW=
WITHOUT_ISCSI=
WITHOUT_JAIL=
WITHOUT_KDUMP=
WITHOUT_KERNEL_RETPOLINE=
WITHOUT_KERNEL_SYMBOLS=
WITHOUT_KVM=
WITHOUT_KVM_SUPPORT=
WITHOUT_LIB32=
WITHOUT_LIBCPLUSPLUS=
WITHOUT_LLD=
WITHOUT_LLDB=
WITHOUT_LLD_BOOTSTRAP=
WITHOUT_LLD_IS_LD=
WITHOUT_LLVM_COV=
WITHOUT_LLVM_TARGET_AARCH64=
WITHOUT_LLVM_TARGET_ALL=
WITHOUT_LLVM_TARGET_ARM=
WITHOUT_LLVM_TARGET_MIPS=
WITHOUT_LLVM_TARGET_POWERPC=
WITHOUT_LLVM_TARGET_SPARC=
WITHOUT_LLVM_TARGET_X86=
WITHOUT_LOADER_GELI=
WITHOUT_LOADER_OFW=
WITHOUT_LOADER_UBOOT=
WITHOUT_LOCALES=
WITHOUT_LOCATE=
WITHOUT_LPR=
WITHOUT_LS_COLORS=
WITHOUT_LZMA_SUPPORT=
WITHOUT_MAIL=
WITHOUT_MAILWRAPPER=
WITHOUT_MAKE=
WITHOUT_MAKE_CHECK_USE_SANDBOX=
WITHOUT_MAN=
WITHOUT_MANCOMPRESS=
WITHOUT_MAN_UTILS=
WITHOUT_MLX5TOOL=
WITHOUT_MODULE_DRM=
WITHOUT_MODULE_DRM2=
WITHOUT_NAND=
WITHOUT_NCP=
WITHOUT_NDIS=
WITHOUT_NETCAT=
WITHOUT_NETGRAPH=
WITHOUT_NETGRAPH_SUPPORT=
WITHOUT_NLS=
WITHOUT_NLS_CATALOGS=
WITHOUT_NS_CACHING=
WITHOUT_NTP=
WITHOUT_PC_SYSINSTALL=
WITHOUT_PF=
WITHOUT_PMC=
WITHOUT_PORTSNAP=
WITHOUT_PPP=
WITHOUT_PROFILE=
WITHOUT_QUOTAS=
WITHOUT_RADIUS_SUPPORT=
WITHOUT_RBOOTD=
WITHOUT_REPRODUCIBLE_BUILD=
WITHOUT_RESCUE=
WITHOUT_ROUTED=
WITHOUT_SENDMAIL=
WITHOUT_SERVICESDB=
WITHOUT_SETUID_LOGIN=
WITHOUT_SHAREDOCS=
WITHOUT_SOURCELESS=
WITHOUT_SOURCELESS_HOST=
WITHOUT_SOURCELESS_UCODE=
WITHOUT_SSP=
WITHOUT_SVNLITE=
WITHOUT_SYMVER=
WITHOUT_SYSCONS=
WITHOUT_SYSTEM_COMPILER=
WITHOUT_SYSTEM_LINKER=
WITHOUT_TALK=
WITHOUT_TCP_WRAPPERS=
WITHOUT_TELNET=
WITHOUT_TESTS=
WITHOUT_TESTS_SUPPORT=
WITHOUT_TEXTPROC=
WITHOUT_TFTP=
WITHOUT_TIMED=
WITHOUT_TOOLCHAIN=
WITHOUT_UNBOUND=
WITHOUT_UNIFIED_OBJDIR=
WITHOUT_USB_GADGET_EXAMPLES=
WITHOUT_UTMPX=
WITHOUT_VI=
WITHOUT_WARNS=
WITHOUT_WIRELESS=
WITHOUT_WIRELESS_SUPPORT=
WITHOUT_WPA_SUPPLICANT_EAPOL=
WITHOUT_ZFS=
WITHOUT_ZONEINFO=
"

#####################################

#Options passed to both the buildworld and the installworld stage of the build#
CONF_WORLD='
TARGET=amd64
TARGET_ARCH=amd64
WITHOUT_GAMES=YES
'

#####################################


cust_rootpasswd() (
    echo 'freebsd' | pw -V ${NANO_WORLDDIR}/etc/ usermod root -h 0
)

cust_install_build_files () (
    cd ${NANO_TOOLS}/${NANO_NAME}/overlay
    find . -print | grep -Ev '/(CVS|\.svn|\.hg|\.git)' | cpio --no-preserve-owner -Ldumpv ${NANO_WORLDDIR}

if [ -n "${NANO_CUST_FILES_MTREE}" -a -f ${NANO_CUST_FILES_MTREE} ]; then
CR "mtree -eiU -p /" <${NANO_CUST_FILES_MTREE}
fi
)

#Customize Commands Here:
#customize_cmd cust_comconsole
customize_cmd cust_allow_ssh_root
customize_cmd cust_install_files
customize_cmd cust_install_build_files
customize_cmd cust_pkgng
customize_cmd cust_rootpasswd
 
hi all,

problem solved.

i have ported the nomadbsd image in the first partition of the external harddrive 36 GB.

then i have plugged it to the thin client.

it works fine. networkcable gives bandwidth.

all clear.

pkg update works.

so i will use NOMADBSD 64bit.

don't know WHY it has not worked with a 32 GB USB thumb drive ??? it doesnt matter. on HD it works fine.

its a very lightweight small HD.

that NOMAD BSD is a real UNIX that works. plus : no installation required.

yeah.

thank you for your attention here.

kindly regards

SM
 
Back
Top