Difference between revisions of "User:Ted"

From Wiki at Neela Nurseries
Jump to: navigation, search
m
m
Line 59: Line 59:
 
<!-- SECTION - Linux packages -->
 
<!-- SECTION - Linux packages -->
  
== Linux Packages ==
+
== [[#top|^]] Linux Packages ==
  
 
- 2017-07-31 &#x0938;&#x094b;&#x092e;&#x0935;&#x093e;&#x0930; -
 
- 2017-07-31 &#x0938;&#x094b;&#x092e;&#x0935;&#x093e;&#x0930; -
Line 82: Line 82:
 
<!-- SECTION - Postfix -->
 
<!-- SECTION - Postfix -->
  
=== Postfix ===
+
=== [[#top|^]] Postfix ===
  
 
*  [http://www.postfix.org/ Postfix configuration]
 
*  [http://www.postfix.org/ Postfix configuration]
Line 108: Line 108:
 
<!-- SECTION - Bash Shell Scripting -->
 
<!-- SECTION - Bash Shell Scripting -->
  
== Bash Shell Scripting ==
+
== [[#top|^]] Bash Shell Scripting ==
  
 
Shell scripting and use of built-in shell commands is a really practical knowledge to employ, when working in Unix-like environments.  One common task is to find all the instances of a given file or program.  The <code>locate</code> command can perform this kind of search, but it's results don't show whether the file instances differ.  To check at the rough level of file size, we can use a one-line shell script technique involving shell piping, to "long list" the results of the <code>locate</code> command, like this . . .
 
Shell scripting and use of built-in shell commands is a really practical knowledge to employ, when working in Unix-like environments.  One common task is to find all the instances of a given file or program.  The <code>locate</code> command can perform this kind of search, but it's results don't show whether the file instances differ.  To check at the rough level of file size, we can use a one-line shell script technique involving shell piping, to "long list" the results of the <code>locate</code> command, like this . . .
Line 135: Line 135:
 
<!-- SECTION - Aboriginal Linux -->
 
<!-- SECTION - Aboriginal Linux -->
  
== Aboriginal Linux ==
+
== [[#top|^]] Aboriginal Linux ==
  
  

Revision as of 18:29, 14 September 2017

-- 2017-07-21 शुक्रवार --
Ted's page on <a href="https://neelanurseries.com">Neela Nurseries</a> Wiki


OVERVIEW

This wiki document a starting point of Ted's notes on Linux use and configuration, Open Source Software and web development. Recent summer 2017 efforts of Ted's are focused on several high-level programming language and web development frameworks, which can be studied and used separately but are often glued together to achieve meaningful tasks and end-user tools and interfaces. This personal page of Ted's notes on Neela Nurseries wiki not yet well organized, but here as a quick stash point for holding useful references, and a starting point for more complete and formal documentation.



Web Site Building Blocks - Summer 2017 Work

 
The following tools and web and programming frameworks are all part of Ted's volunteer efforts with ASI web site, and in-progress study of how to configure and customize shopping carts, article and document management pages, and easy-to-read easy-to-adjust web page layouts using CSS and third party, open source frameworks:



These are the first topics on which Ted wants to gather together notes. Hard to remember all details regarding pitfalls encountered, solutions found, and ideas for improving the configuration and use experience of these softwares . . . - TMH




^ Linux Packages

- 2017-07-31 सोमवार -


This section a starting point for notes on Linux packages, namely Debian and Ubuntu packages. Focus here is on userland software, and which packages are needed to set up various tools sets in a working Unix / Linux environment . . .

  • libreoffice-base
  • postfix . . . see section below
  • gpm
  • ctags
  • vim-doc
  • vim-scripts
  • xfonts-cyrillic
  • devhelp
  • distcc . . . distributed compiling of C and C++ programs across multiple machines


^ Postfix


Linux packages for Raspberry Pi system


Logitech wireless devices and unifying receiver



^ Bash Shell Scripting

Shell scripting and use of built-in shell commands is a really practical knowledge to employ, when working in Unix-like environments. One common task is to find all the instances of a given file or program. The locate command can perform this kind of search, but it's results don't show whether the file instances differ. To check at the rough level of file size, we can use a one-line shell script technique involving shell piping, to "long list" the results of the locate command, like this . . .


  $ for file in `locate tavrasm | grep 'asm$'`; do ls -l ${file}; done


Hmm strange, the above command calls `grep` with a pattern that ends in the shell end-of-line anchoring character $, and appears to filter for results of `locate` which end in 'asm'. But on 2017-09-12 needed to add a "one or more wildcard" character pattern to limit search results for instances of `locate` results ending in 'qemu':


$ locate qemu | grep '.*qemu$'


Why the apparent difference in command invocation? Need to test . . . - TMH




^ Aboriginal Linux

Ok, looks like Robert Landley's Aboriginal Linux project has been superceded by mkroot. Ladnley's newer makeroot project sources are available at GitHub:



Having trouble carrying out the basic build of Aboriginal Linux with armv6l as target . . .


   .
   .
   .

Confirmed e2fsprogs-1.42.13.tar.gz
Confirmed zlib-1.2.7.tar.bz2
Confirmed squashfs-4.2.tar.gz
=== Got all source.

real    0m2.240s
user    0m1.188s
sys     0m0.176s
=== toybox (host host-tools)
Snapshot 'toybox'...
scripts/genconfig.sh
cc -o kconfig/conf kconfig/conf.c kconfig/zconf.tab.c -DKBUILD_NO_NLS=1 \
                -DPROJECT_NAME=\"ToyBox\"
kconfig/conf -D /dev/null Config.in > /dev/null
scripts/make.sh
Generate headers from toys/*/*.c...
generated/newtoys.h Library probe.......
Make generated/config.h from .config.
generated/flags.h generated/globals.h generated/help.h
Compile toybox................................................................................................................................................................generated/obj/nsenter.o: In function `unshare_main':
nsenter.c:(.text.unshare_main+0x152): undefined reference to `setns'
collect2: error: ld returned 1 exit status
make: *** [toybox] Error 1

Exiting due to errors (host host-tools toybox)



^ Linux From Scratch (LFS) project


Linux From Scratch project observes Linux Standard Base (LSB) requirements. These requirements include,



Cross-compiling Linux system from scratch . . .


Linux from Scratch for RaspberryPi target system . . .



^ QEMU Emulator

Notes on QEMU, an emulator which can help with building and configuring Linux systems to run on embedded computers and development boards. Ted noting 2017-09-08 that to compile today's latest QEMU source, a 2.10.x release, needed to install Debian stretch packages pkg-config, libglib2.0-dev, dhautoreconf. Here are some links to downloading QEMU project sources, a manual for using QEMU, and an article about emulating a RaspberryPi system by using QEMU:



So got QEMU 2.10.0 sources and dependencies installed, ran `configure` and `make` steps, and let the build process run for an hour or two. But in the end could not find any `qemu` executable. Why is the emulator itself apparently missing? Building latest QEMU under Linux . . .


So I'm following the above article author's typical build steps, and run into this message part-way down those steps, at the step of calling `make`:

user@host-6:~/Downloads/qemu/qemu-2.10.0/bin/debug/native$ make
Makefile:21: *** This is an out of tree build but your source tree (/home/veris/Downloads/qemu/qemu-2.10.0) seems to have been used for an in-tree build. You can fix this by running "make distclean && rm -rf *-linux-user *-softmmu" in your source tree.  Stop.
user@host-6:~/Downloads/qemu/qemu-2.10.0/bin/debug/native$


Ok interesting, I know that QEMU is a complicated project with a complex build process, but clearly I don't know what I'm doing. Following the above 'distclean' command given in the error message from QEMU's makefile, I'm now able to begin an "out of tree" build as described in the "Building QEMU" article at qemu.org just above. Tired already however of QEMU project builds taking more than an hour to complete. Here is one of many articles describing how to invoke `make` to build only limited parts of QEMU project, for example just the pieces needed to emulate ARM type systems:



Ted to test this type of build soon . . .

On a different note, QEMU build has completed and the stock RaspberryPi Debian "Stretch" image is coming up. Needed to install a VNC client to interact with the emulated RaspberryPi operating and software, stored in the downloaded .img file from Rpi's web site. Here's a link to a forum post which clued Ted into Remmina VNC client:





^ Other Things To Explore

Dublin Core . . .

3D Graphics, mathematics behind and programming:

PC Video, Bochs VBE Extensions:

Webvanta:



^ References

Apache2 configuration:

Couple of MediaWiki and publishing issues to look into, which came up during wiki configuration:

Some Hindi language and UTF-8 encoding references, to be factored to a dedicated wiki page later:

Linux programs and utilities: