(Once the video player has started, right selecting (or 'clicking') your device (or 'mouse') will show menu option, 'Open video in new tab', which will enable larger screen size.)
Procedure to install Mathematica v2.2 for OS/2 in my local copy of the VirtualBox 7.0.12 OS/2 for SMP v2.11 with HPFS386 virtual machine hosted in my four(4) CPU / eight(8) CORE Metztli Reiser4 development environment.
Subsequently this VirtualBox vm will be uploaded to a remote server, with a Metztli Reiser4 for AMD CPUs environment, i.e., reizer4, and I will utilize VBoxManage to increase the cpu count to 16 in the headless environment.
Although the visual media is self explanatory, I included a few Mathematica for OS/2 installation procedure snapshots which may be of relevant historical interest:
Diskette 1 has been inserted a priori and we can see that it is executing initial installation phase:
Mathematica for OS/2 installer prompts for diskette 2:
Diskette 2 installer executes and proceeds with second phase of installation:
Mathematica for OS/2 installation routine prompts for diskette 3:
Diskette 3 routine of the installer picks up where the previous left of:
Mathematica for OS/2 installer routine prompts for diskette 4:
Diskette 4 carries installation past the half of the total routine:
Mathematica for OS/2 installer prompts for the final diskette 5:
Diskette 5 installation routine completes the Mathematica for OS/2 installation:
Mathematica for OS/2 prompts us whether we agree with the default -named folder...
Or else
Subsequently, a dialog informs us that Mathematica for OS/2 is installed!
Nepohualtzintzin (Ne∙pohual∙tzin∙tzin) ≈ I can compute infinitesimals -- from the Nahuatl, real Mexico - Tenochtitlan's language -- which predates the alien Anglo-Saxons / Iberian / French, etc. all, European invaders' vulgar Latin -derived dialects on this stolen continent originally known as Ixachitlan ≈ Landmass Immensity.
Subsequent her tragic death, I had posted her video to one of fascist 'Murika's censorship...er, 'social,' media platforms. Recently, however, I came across it in my local storage media and... well, here it is:
References:
1 Queen of bikers killed in horrific crash leaving her teenage daughter motherless
(Once the video player has started, right selecting (or 'clicking') your device (or 'mouse') will show menu option, 'Open video in new tab', which will enable larger screen size. Alternatively, the video with larger screen size is shown in the Calli collection front page)
Although IBM OS/2 3.x Warp and higher indigitalizations have been hacked into bootable CDROM media / ISO images, I believe this is the first OS/2 2.x which has been morphed into such an unique entity. The procedure was not easy -- and obviously not intuitive. The work required to make the cdboot hack complete the first phase of the OS/2 2.1 installation was substantial; and once I achieved it I thought that whatever else needed to be done would be easier. I was mistaken. I had to compile an utility to search for and replace strings in the OS/2 2.1 CONFIG.SYS file at the end of the first phase of the OS/2 installation -- as I could not find an appropriate binary one in my extensive local collection of Hobbes CDROM media, etc., nor online at Hobbes site and/or elsewhere.
Had IBM released the OS/2 code as free and/or open source software (FOSS) instead of being so indifferent to the multiple petitions to do so (for instance those in which I personally took part at the OS2World site before I left the site for good -- as I had moved on to GNU/Linux Debian) the avaricious plutocrat Bill Gates' mediocre 'creation', backdoored software, idiotically named as a mundane household notion, 'windows,' would not have spread like the virus it emulates.
Generating an OS/2 2.1x bootable CD under GNU/Linux Debian -based Metztli Reiser4:
Shell
genisoimage -r -b boot/boot.img -c boot/boot.catalog -o os2bootcd.iso . |
Generally speaking, even if your bootable two(2) disk image is successfully created, if it can not make the transition to the OS/2 disks layout on the CD, i.e., can not detect it due an older driver like IBM1S506.ADD (see snapshot below), the boot procedure will stop with the output:
The system cannot find the file "A:\COUNTRY.SYS". This device driver, program, or data file is not located in the default path or the path specified for it in the CONFIG.SYS file. Install this file in the correct directory, or correct the appropriate CONFIG.SYS file statement.
The system is stopped.
Correct the preceding error and restart the system.
Shell
cmd /c "PACK bundle.list bundle /L" |
else, it will not dual-boot with an OS/2 Uni-Processor in a VirtualBox 7.0.14 (currently being used).
REFERENCES:
Creating bootable CD-ROMs
(work in progress)
(Use your right mouse pointer on image to show video controls and/or to Open video in new tab -- recommended)
Official 4.14.x iterations of Debian kernel packaging for Unstable (Sid) ended with 4.14.17-1. Accordingly, there is no Debian kernel packaging for current upstream release Linux 4.14.20 and much less named its Nahuatl equivalent: Cempohualli: twenty and Ce: one. Moreover, the currently available Reiser4 patch is for kernel 4.14.1+; thus I had to find a way to debianize last kernel packaging if it was to successfully wrap around pristine kernel.org's Linux 4.14.20. The latter, i.e., Cempohualli, is a beautiful number; full of symbolism for existing Nahuatl speaking real Mexicah. What follows are my annotations to carry out the somewhat involved build procedure.
First oddity. Beginning with upstream kernel 4.14.18, Debian kernel packaging for 4.14.17-1 will fail to build:
LD vmlinux.o
MODPOST vmlinux.o
arch/x86/entry/syscall_64.o: In function `x32_enable':
syscall_64.c:(.init.text+0x8): undefined reference to `system_call_fast_compare_end'
syscall_64.c.init.text+0xe): undefined reference to `system_call_fast_compare'
syscall_64.c:(.init.text+0x19): undefined reference to `system_call_mask_compare_end'
syscall_64.c.init.text+0x1f): undefined reference to `system_call_mask_compare'
syscall_64.c:(.init.text+0x33): undefined reference to `system_call_fast_compare'
syscall_64.c.init.text+0x3f): undefined reference to `system_call_mask_compare'
make[5]: *** [vmlinux] Error 1
[]/build/kernel/tekitl-4.14.18/linux/Makefile:998: recipe for target 'vmlinux' failed
make[4]: *** [sub-make] Error 2
Makefile:146: recipe for target 'sub-make' failed
make[3]: *** [__sub-make] Error 2
Makefile:24: recipe for target '__sub-make' failed
make[3]: Leaving directory '[]/build/kernel/tekitl-4.14.18/linux/debian/build/build_amd64_none_amd64
make[2]: *** [debian/stamps/build_amd64_none_amd64] Error 2
debian/rules.real:190: recipe for target 'debian/stamps/build_amd64_none_amd64' failed
make[2]: Leaving directory '[]/build/kernel/tekitl-4.14.18/linux'
make[1]: *** [binary-arch_amd64_none_amd64_real] Error 2
debian/rules.gen:24: recipe for target 'binary-arch_amd64_none_amd64_real' failed
make[1]: Leaving directory '[]/build/kernel/tekitl-4.14.18/linux'
make: *** [binary-arch] Error 2
debian/rules:50: recipe for target 'binary-arch' failed
dpkg-buildpackage: error: fakeroot debian/rules binary-arch gave error exit status 2
Accordingly, if I wanted to build current upstream Linux 4.14.20 'the Debian way', i.e., to generate DEBs as well as UDEBs suitable for Metztli-Reiser4 netboot Debian-Installer (d-i), I had to figure out the issue above.
After considerable effort I found there are a few updated patches we must apply from current Debian kernel packaging master 4.15.4-1 git repository to our Debian kernel packaging unstable (Sid) 4.14.17-1 for this latter to build my downloaded Linux 4.14.20 from upstream:
debian/patches/debian/gitignore.patch
debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch
Additionally, I modified 4.14.17-1 packaging
debian/patches/series
because 4.14.20 newer kernel already had these security fixes applied.
Now, assuming the Debian kernel packaging default , i.e., to build the real-time (RT) kernel and headers, we get second oddity.
Although the first set of patches for the Debian 'vanilla' kernel applied smoothly, if the developer desired to build the real-time (RT) kernel and headers to subsequently patch all with reiser4 -- which I did -- I had to implement another small hack to fix the following issue:
Applying patch features/all/rt/preempt-lazy-support.patch
Applying patch features/all/rt/ftrace-Fix-trace-header-alignment.patch
Applying patch features/all/rt/x86-preempt-lazy.patch
1 out of 5 hunks FAILED
Patch features/all/rt/x86-preempt-lazy.patch does not apply (enforce with -f)
debian/rules.real:145: recipe for target 'debian/stamps/source_rt' failed
make[2]: *** [debian/stamps/source_rt] Error 1
make[2]: Leaving directory '/[]/build/kernel/nahui.matlactetl_onnahui.cempohualli/linux'
debian/rules.gen:989: recipe for target 'source_rt_real' failed
make[1]: *** [source_rt_real] Error 2
make[1]: Leaving directory '/[]/build/kernel/nahui.matlactetl_onnahui.cempohualli/linux'
debian/rules:26: recipe for target 'source' failed
make: *** [source] Error 2
Evidently debian/patches/features/all/rt/x86-preempt-lazy.patch applied by quilt with fuzz=0 fails at arch/x86/include/asm/thread_info.h since the latter has an extra line of code in the Linux 4.14.20 source tree:
u32 status; /* thread synchronous flags */
which quilt attempted to patch thread_info.h to be subsequently copied over into RT kernel build directory:
debian/build/source_rt/arch/x86/include/asm/thread_info.h
thus I modified slightly debian/patches/features/all/rt/x86-preempt-lazy.patch 1 so it could apply after the above referenced line of code.
It worked...
Otherwise, if you do not want to build the real-time (RT) kernel and headers, edit with a text editor (like xvi
xvi debian/config/defines
and locate the lines:
[featureset-rt_base]
enabled: true
and change 'true' text string to false, i.e.,
[featureset-rt_base]
enabled: false
save your changes and close debian/config/defines
In summary. I used last 'official' Debian kernel packaging 4.14.17-1 for Unstable (Sid) as base. I then applied the above operations plus other reiser4 hacks for Stretch elaborated in previous post(s); thus generating a Metztli Reiser4 Debian kernel packaging for 4.14.Cempohualli...er, 20, suitable to build a stretch-backports kernel and which resulting source code I subsequently uploaded to Github.
Assuming a proper development environment to build our kernel 'the Debian way' as elaborated a priori in other post(s), we can build upstream Linux kernel 4.14.20, thus:
mkdir --verbose nahui.matlactetl_onnahui.cempohualli
...er, well that's Nahuatl for 4.14.20 -- which you could name your working directory. I will just make a symbolic link:
ln -s nahui.matlactetl_onnahui.cempohualli 4.14.20
cd nahui.matlactetl_onnahui.cempohualli
Download Debian kernel packaging hacked for Linux 4.14.20 from GitHub:
git clone https://github.com/Metztli/reiser4-debian-kernel-packaging-4.14.20.git linux
(Do something while it downloads as it approaches 1Gb of data)
After the cloning procedure finishes, we make a linux sym link:
ln -s reiser4-debian-kernel-packaging-4.14.20 linux
then download kernel 4.14.20 from upstream:
wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.14.20.tar.xz
Let's create a symbolic link in the format that Debian kernel packaging expects:
ln -s linux-4.14.20.tar.xz linux_4.14.20.orig.tar.xz
and change into linux directory
cd linux
Edit debian/changelog:
xvi debian/changelog
Locate the text string:
linux (4.14.17-1) unstable; urgency=medium
and remove the number 17 and insert 20, instead, i.e.,
linux (4.14.20-1) unstable; urgency=medium
save your changes.
Now we are ready to build the kernel 'the Debian way' as we did in previous post(s).
Added bonus
Likely fix for Bug#885166: instability with 4.14 regarding KVM virtualization
https://lists.debian.org/debian-kernel/2017/12/msg00374.html
since referenced commit:
https://lists.debian.org/debian-kernel/2018/02/msg00173.html seems to be already applied to Linux kernel source tree 4.14.20.
YES! Bug#885166 has been fixed in 4.14.20!...
"If I used git correctly, then 4.14.20 already has 2a266f23550be997d783f27e704b9b40c4010292, so I tried 4.14.19. 4.14.19 on the one virt host that had the most violent failures failed in the first hour of operation, but with a slightly different error behavior that I was used to. I am therefore not sure whether we are not talking about multiple issues, one of them having been fixed somewhere in between 4.14.13 and 4.14.19."
...
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=885166
1 RE: x86: Support for lazy preemption in Debian Linux 4.14.20 AMD64
DISCLAIMER although due diligence has been applied, this resource is made available for testing/evaluation purposes on an AS IS basis. The procedure only reflects my own modifications, my limited testing, and the potential user who executes the procedures assumes all risks.
Please do not hold me or Metztli Information Technology responsible if the information provided here does not achieve the desired result. The information is provided AS IS and with the hope that it may be useful to the Internet community --especially those who desire reiser4 on GNU/Linux Debian.
Nevertheless, there is no implicit or explicit guarantee that the information presented here is accurate --even though due diligence was exercised during the procedure. Accordingly, if an user(s) decide to download and/or implement the procedure and/or shell commands described here s/he or them, do so at her, his, or their own risk. You have been forewarned.
08-03-2021 update:
T̶h̶i̶s̶ ̶v̶i̶d̶e̶o̶ ̶i̶s̶ ̶a̶g̶e̶-̶r̶e̶s̶t̶r̶i̶c̶t̶e̶d̶ ̶a̶n̶d̶ ̶o̶n̶l̶y̶ ̶a̶v̶a̶i̶l̶a̶b̶l̶e̶ ̶o̶n̶ ̶Y̶o̶u̶T̶u̶b̶e̶ Fuck Youtube CEO Polish CENSOR and ex-sister-in-law to Google's co-founder1!
I used Mplayer's mencoder (built from source) to render the English/Russian subtitles in the PoC video above -- as I was trying out the upcoming GNU/Linux Debian Jessie distribution encapsulated inside a KVM virtual machine.
In the past I had used mencoder to add Spanish subtitles to a video, but this time I was challenged with Russian subtitles, as those initially would not render properly in the resulting video. As a matter of fact, I was not even able to install mencoder from the Debian Jessie and Sid repositories due to libdvdnav4 dependency issue. Thus, the ephemeral viable option was to build mplayer's mencoder from source --which will skip support for DVD during the configure phase.
To solve the first issue, during Debian Jessie installation routine in the virtual machine I selected Russian as an additional language:
I can verify the above action by examining /etc/locale.gen; I can see (scrolling to the bottom) that, in effect, I enabled 2 languages in addition to English: Russian and Mexico's Spanish dialect, all UTF-8.
For the record, at the top of the /etc/locale.gen file the user is advised to execute:
/usr/sbin/locale-gen
after manually enabling any locale (by removing the hash symbol from the beginning of the directive.)
I update Debian repositories:
Shell
apt-get update |
Since I am getting mplayer/mencoder code via Subversion:
Shell
apt-get install subversion |
Then I get the mplayer/mencoder source code:
Shell
svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer |
and directory mplayer will be created at my current directory location.
I change directory into mplayer:
Shell
cd mplayer |
Since I am on Debian, and after scanning the README file, I can simply download a couple of DEBs:
Shell
apt-get install git devscripts |
and then could simply execute the script under the debian directory to
"configure, compile and build a proper Debian .deb package with only one command:"
Shell
debian/daily-build.sh -b |
But no. Since I am in a non-stable Debian, the resulting mencoder package may still refuse to install. Thus, I will download the relevant DEB packages manually:
Shell
apt-get install ffmpeg docbook-xsl ladspa-sdk libenca-dev libaa1-dev libasound2-dev libaudio-dev libcaca-dev libcdparanoia-dev libbluray-dev libdirectfb-dev libdts-dev libesd0-dev libfaad-dev libfontconfig1-dev libfreetype6-dev libfribidi-dev libgif-dev libgl1-mesa-dev libgtk2.0-dev libjack-dev libjpeg-dev liblircclient-dev liblivemedia-dev liblzo2-dev libmp3lame-dev libmpcdec-dev libncurses5-dev libopenal-dev libpng12-dev libpulse-dev libschroedinger-dev libsdl1.2-dev libsmbclient-dev libspeex-dev libsvga1-dev libswscale-dev libtheora-dev libvorbis-dev libvorbisidec-dev libx11-dev libx264-dev libxext-dev libxinerama-dev libxv-dev libxvidcore-dev libxvmc-dev libxxf86dga-dev libxxf86vm-dev libvdpau-dev pkg-config vstream-client-dev x11proto-core-dev xsltproc yasm zlib1g-dev mpg123 libmpg123-dev |
After the above operation completes, then we are ready to build mplayer/mencoder from our downloaded source snapshot. Since I am in the mplayer directory:
Shell
./configure --enable-gui |
(sample partial output):
[...]
Creating config.mak
Creating config.hConfig files successfully generated by ./configure --enable-gui !
Install prefix: /usr/local
Data directory: /usr/local/share/mplayer
Config direct.: /usr/local/etc/mplayerByte order: little-endian
Optimizing for: native
[...]
Note: the default installation directory is /usr/local/ and the --enable-gui option is, well, optional. As usual we could change the installation directory and disable/enable options. Simply type ./configure --help for an overview.
Additionally, if you will be downloading codecs, make sure to place the extracted files ending in .so under the directory /usr/local/lib/codecs/
End of note.
In this particular case for this post, I follow a successfully completed ./configure operation with:
Shell
make | |
make install |
You may be required to acquire root privilege to make install into /usr/local --as is usual any time you install software from repositories.
Unless one is brainwashed by one of those three(3) major patriarchal strains spread by fanatics throughout the world imposing a misogynist attitude, the archetype of Cihuatl, Nahuatl -- Mexico's language par excellence -- which translates as женщина in Russian, Woman in English, and Mujer in Spanish, is fascinating. It beams down onto a man's subconsciousness when least expected.
I happen to add an extra feature supporting RuTube videos in b2evolution for Openshift PaaS cloud hosted at my Nepohualtzintzin GitHub repository. And during testing I came across Miss MAXIM 2013 (Ксения Кайгородова: Xenia Kaygorodova). Thus the seed of a proof of concept -- or PoC -- was generated as result of a Russian media video and my chance listening of a melody sung in Spanish: ¿Tú De Que Vas? -- loosely translated as, Do You Even Need To Ask?
Thus, I used youtube-dl utility -- available also from Debian repositories. If it does not exist in your system, all you have to do is:
Shell
apt-get install youtube-dl |
and subsequently downloaded the video from RuTube with command:
Shell
youtube-dl -o nenetl.flv http://rutube.ru/video/cf126c6e54c8e30758fffe75503ca644 |
the option -o is just to assign a name to the file of interest; otherwise, you will end up with an unintelligeble alphanumeric-named file. As for the word nenetl, it is akin to a female image, ideal form, approaching an archetype.
Assuming current location is where the downloaded file resides, I create an ephemeral directory and change into it:
Shell
mkdir --verbose ephemeral | |
cd ephemeral |
At this directory I will operate as follows:
used ffmpeg in order to extract the images from the nenetl.flv video, thus:
Shell
ffmpeg -i ../nenetl.flv -f image2 images%05d.png |
The extracted images will occupy around 1.5 Gb of space. Now, by rough trial and error, I aimed to fit a relevant subset of the images into an interval equal to the length of the melody playing in the background. The final command -- referenced below -- outputs a nenetl_slideshow.mp4 which lasts approximately the length of the melody:
Shell
ffmpeg -r 6.2 -ss 00:00:03 -i images%05d.png -c:v libx264 -r 30 -pix_fmt yuv420p ../nenetl_slideshow.mp4 |
I had to decrease the intake of the images to 6.2 frames per second (fps) by using the -r option to ffmpeg; thus it gives the video somewhat of a slow motion
Also, by feeding the -ss to ffmpeg I advanced the resulting slideshow by hh:mm:03 seconds. Please type:
Shell
man ffmpeg |
for additional information relevant to options specified.
Once we are satisfied with the outcome, we can erase all the extracted .png (picture) files at our current ephemeral directory and thus recover our disk space.
Subsequently, I merged the slideshow file with the .mp3 Franco de Vita audio file as follows:
Shell
ffmpeg -i ../nenetl_slideshow.mp4 -i ../Franco_De_Vita-Tu_De_Que_Vas.mp3 -map 0 -map 1 -codec copy -shortest ../nenetl.mp4 |
Cool! Now we have the length of the melody that is roughly equivalent to the most visually interesting media. We can verify it with the mplayer that was built above:
Shell
mplayer ../nenetl.mp4 |
Or, alternatively, since we enabled the graphical user interface (GUI) as an argument during ./configure
phase:
Shell
gmplayer ../nenetl.mp4 |
Note: If you accepted the default installation path for the mplayer build, please make sure to install your skins under /usr/local/share/mplayer/skins/
. For instance, the location for the Hayraphon skin in the above snapshot would be /usr/local/share/mplayer/skins/hayraphon
End of note.
In Debian, we install the application as:
Shell
apt-get install gnome-subtitles |
After it is completely installed, we start it from our shell:
Shell
gnome-subtitles |
From topmost menu, we select Video, Open from the ensuing cascaded menu, and locate the nenetl.mp4 video/audio media we created before. The media file will be embedded in the upper section of the application.
We select the leftmost blank paper icon labeled New to start creating subtitles for our video -- as it is played using the controls under the embedded media. Further, as our embedded media is played, we can add another line of text by pressing the plus icon labeled Insert located in the upper row of icons -- just below the uppermost menu.
From aforementioned row we also can save our newly created subtitles file by selecting the green arrow pointing down in a drawer icon, labeled as Save.
The named file will default to be saved with an extension .srt and UTF-8 locale.
After we are satisfied assigning subtitles to relevant sections of the embedded audio/visual stream, we are ready to embed the subtitles file into the actual nenetl.mp4 media. For that we will use mencoder.
Assuming our location continues to be our ephemeral directory that we created for this set of tasks and we have a resulting xenia.srt subtitles file also here, we type next command:
Shell
mencoder ../nenetl.mp4 -oac mp3lame -ovc lavc -sub xenia.srt -subcp enca:ru:utf-8 -subfont-outline 4 -of mpeg -o xenia.mp4 |
Alternatively, directive below will add extra font feature to your subtitles:
Shell
mencoder ../nenetl.mp4 -oac mp3lame -ovc lavc -sub xenia.srt -subcp enca:ru:utf-8 -subfont-text-scale 4 -subfont-outline 6 -of mpeg -o Nenetl.mp4 |
References:
1 "Her sister Anne is the founder of the genetic-testing company 23andMe and was married to Google co-founder Sergey Brin." via NeoMcCarthyism as a smoke screen to hide the crisis of neoliberalism
ffmpeg, how to add new audio (not mixing) in video
Past midway during the creation of this post -- researching sources -- I was surprised to find the RuTube source is also available from YouTube, albeit with a different cover:
Десятка финалисток Miss MAXIM 2013. Часть первая (Ксения Кайгородова)
How I got b2evolution to work in both English and Russian with UTF-8
DISCLAIMER although due diligence has been applied, the above post is intended as a proof of concept for encoding Russian language subtitles in videos.
Please do not hold me or Metztli Information Technology, or its associates, responsible if the information provided here does not achieve the desired result. The information is provided AS IS and with the hope that it may be useful to the Internet community.
Notwithstanding, There is no implicit or explicit guarantee that the information presented here is accurate. Accordingly, if an user(s) decide to implement the procedure or shell commands described here she, he, or them, do so at her, his, or their own risk. You have been forewarned.
I reserve the right to modify the blog and even to delete it without further notice.
Recent comments: