Tiny Core Linux
Tiny Core Extensions => TCE Talk => Topic started by: roger@languageONE.com.au on September 22, 2016, 01:54:57 AM
-
Hello..I'm kinda new here, so I hope I am doing this correctly..
I believe the way to communicate at TinyCore is thru the forums ??
I am in Melbourne,Australia and have been developing a programming language that I believe would sit nicely in TinyCore. I call it languageONE and you are able to check it out at www.languageONE.com.au. It is infact, purely assembler but is presented in a series of macros that give the writer the experience of a high level language. It is based on the idea that Compilers were never really necessary and that languages could have evolved without them. It comes with statically linked libraries, communicates with the kernel directly and therefore does not rely on clib or any other libraries. It is built to be efficient and this is where I think it would make a great extension for TinyCore.
I have been working on getting TinyCorePure64 working and have only skimmed the instructions on building extensions but will start looking at that now.
Is this the sort of thing TinyCore would be interested in and if so would you be able to help me thru the process.
The system itself only has one dependency, that is nasm (or yasm) and I see there are already extensions for either of them. Being assembler the system really is just a series of text files, with the exception of the libraries (which can be built into the extension or simply assembled after installation) and a small translator program, written in languageONE and easily assembled and linked.
I certainly would be happy for it to be available in TinyCore and would look forward to any help you could offer.
I will look forward to a reply.
Thx
Roger Tunnicliffe.
-
we're always happy to receive new extensions, please go ahead - I'm sure the forum users will help if required
-
:) Great, I'll begin work on it
Thx
-
I have created a tcz and installed on my system.
my TinyCorePure64 is installed on my harddisk.
The installed layout is...
languageONE/assemble.sh
languageONE/link.sh
languageONE/makeONE.sh
languageONE/GUImakeONE.sh
languageONE/bin/GUI-makeONE
languageONE/bin/languageONE
languageONE/html/logo.jpg
languageONE/html/V1-16-screen0.html
.
.
languageONE/lib/COMMON.o
languageONE/lib/COMMON.LIB
languageONE/lib/STDIO.o
languageONE/lib/STDIO.LIB
.
.
languageONE/src/V0.04.ONE
languageONE/src/0.GUI-TEMPLATE.ONE
languageONE/src/V0.01.ONE
.
.
languageONE/include/BEGIN.PROGRAM
languageONE/include/BEGIN.INSTRUCTIONS
.
.
languageONE/doc/README.MD
languageONE/doc/languageONE.odt
languageONE/doc/LICENSE
languageONE/doc/VERSION.HISTORY
and it was my intention to have this install under my home directory. so.../home/tc/languageONE
whereas it installs in /lib /doc /src etc
Am I able to install it under a home directory or do I need to restructure the way it is setup
Thx
-
If you're making a private extension you can do whatever you like :)
If you're planning on submitting the exension, then the files need to be under:
/usr/local/bin
/usr/local/etc
/usr/local/lib
/usr/local/share/doc
-
so where does that leave me with the include files, the html, the shell scripts etc..???
???
-
You can see the extension file lists using the apps gui or from a browser ;)
/usr/local/bin
/usr/local/include
/usr/local/share/doc/html
-
I have put the package together and done a local load on my system..
lrwxrwxrwx 1 root root 59 Sep 24 23:53 GUImakeONE.sh -> /tmp/tcloop/languageONE/usr/local/languageONE/GUImakeONE.sh
lrwxrwxrwx 1 root root 57 Sep 24 23:53 assemble.sh -> /tmp/tcloop/languageONE/usr/local/languageONE/assemble.sh
drwxrwxrwx 2 1000 1000 80 Sep 23 06:29 bin/
drwxrwxrwx 2 1000 1000 120 Sep 24 06:39 doc/
drwxrwxrwx 2 1000 1000 200 Sep 23 06:44 html/
drwxrwxrwx 2 1000 1000 440 Sep 23 06:45 include/
drwxrwxrwx 2 1000 1000 220 Sep 24 22:46 lib/
lrwxrwxrwx 1 root root 53 Sep 24 23:53 link.sh -> /tmp/tcloop/languageONE/usr/local/languageONE/link.sh
lrwxrwxrwx 1 root root 56 Sep 24 23:53 makeONE.sh -> /tmp/tcloop/languageONE/usr/local/languageONE/makeONE.sh
drwxrwxrwx 2 1000 1000 580 Sep 24 22:46 src/
however when I try and run anything it responds with file not found.
eg. I can "cat" makeONE.sh and its fine but it cannot be found when trying to run it ??? ???
-
Hi roger@languageONE.com.au
I'm guessing that's a directory listing of /usr/local/languageONE/, and it's not listed in the path environmental variable, which
is why you are getting the not found message. Lose the languageONE part of the path and place the .sh files under
/usr/local/bin.
-
Sorry Rich, that's not it. Same problem.
and was giving full path names when I was trying to run the script
In addition when I try and edit the file it also says file does not exist.
Yet its still happy to cat it out to the screen ??? ??? ???
-
Hi roger@languageONE.com.au
and was giving full path names when I was trying to run the script
Did you try:
./usr/local/languageONE/GUImakeONE.sh
-
Yeah, no difference.
The odd thing is though is that if I assemble a languageONE program on my Mint partition and copy it across to the TinyCore partition it runs fine.
I have languageONE installing on /usr/local/languageONE and I have it copied across to the hard disk at /home/tc/languageONE
Either locations and it cannot be found ??? ??? ???
-
Hi roger@languageONE.com.au
You didn't post the actual error message, but I'm guessing "file not found" was not referring to your script but possibly
the scripting language it was written in, bash maybe?
-
Yeah, I initially thought that but then why cant it find it when I try and edit it ??? ???
-
and I am not sure if this is involved but it is definitely very odd..
When I have a look at my harddisk partition I get...
mount
/dev/sda1 on /mnt/sda1 type ext4 (rw,relatime,data=ordered)
but when I try and save a file using editor, i get
error writing to file /mnt/sda1/Users/roger/languageone/assemble.sh
Read-only file system
maybe some boot-codes I am getting wrong ????
-
Hi roger@languageONE.com.au
error writing to file /mnt/sda1/Users/roger/languageone/assemble.sh
Read-only file system
When you create an extension it is packed into a squash file system which is read only.
-
Hi roger@languageONE.com.au
You might also want to take the time to read the core book:
http://tinycorelinux.net/book.html
-
If you build your extension like this:
/tmp/pkg/usr/local/bin/GUImakeONE.sh
/tmp/pkg/usr/local/bin/assemble.sh
...
and then: $ cd /tmp
$ sudo mksquashfs pkg/ languageONE.tcz
$ sudo chown tc:staff languageOne.tcz
When languageOne.tcz is loaded (tce-load -i languageONE), tinycore will make symlinks like this:
/usr/local/bin/GUImakeONE.sh -> /tmp/tcloop/languageONE/usr/local/bin/GUImakeONE.sh
/usr/local/bin/assemble.sh -> /tmp/tcloop/languageONE/usr/local/bin/assemble.sh
...
..and since /usr/local/bin is in $PATH, the scripts will be found and run.
-
I think I kinda get that but I haven't created a file system, I have mounted an existing ext4 file system. I have then copied what was installed via
the extension. From /usr/local/languageONE to /mnt/sda1/Users/roger/languageONE.
So...If I am booting off the harddisk, does TinyCore consider the disk (partition?) as read only. In that case how do I access any
other file systems on the disk/network ???? ???
-
Does tinycore have the appropriate permissions to read the mounted ext4 partition?
If you want to copy the contents of an extension, do it like this: $ cd /tmp
$ mkdir image pkg
$ sudo mount /tmp/languageONE.tcz /tmp/image
$ sudo cp -rp /tmp/image/usr /tmp/pkg
$ sudo umount /tmp/image
You can then edit the contents of the extension under /tmp/pkg/usr
-
Sorry but the above also could not find the file....
What did work though, was to move everything to a different partition (NOT the one that TinyCore booted)
Does that help you to figure out what is happening.
Also "Does tinycore have the appropriate permissions to read the mounted ext4 partition?", How do I tell this
-
tinycore has the following users/groups:
tc:staff
root:staff
root:root
..so if the partition is owned by a user other than tc, you may need to be root to read/write.
"ls -l /mnt/sda1" will show the user/group
-
Hi guys..
I have rearranged languageONE's directory structure to make it more TinyCore friendly. Everything now runs fine on my system.
I did however try to install submitqc5 and alternately submitqc and both returned a status of fail. I have though gone ahead and
emailed the package without the extra file and hope that's okay. If you need me to do anything please let me know
Thanks
roger@languageONE.com.au
-
err guys. My email was bounced back with the following error.
The mail system
<tcesubmit@gmail.com>: host gmail-smtp-in.l.google.com[74.125.204.26] said:
552-5.7.0 This message was blocked because its content presents a potential
552-5.7.0 security issue.
What do I need to do ???
-
Hi roger@languageONE.com.au
I take it you created a tar archive as outlined here:
http://wiki.tinycorelinux.net/wiki:creating_extensions#send_to
The Wiki used to say to bcrypt the file with the password tinycore prior to submitting, so try that.
-
Rich..
am "bcrypt"ing each file and then "tar"ing them
languageONE.tcz
languageONE.tcz.dep
languageONE.tcz.info
languageONE.tcz.list
languageONE.tcz.md5.txt
of "bcrypt"ing the final
languageONE.tar.gz
Thx.
P.S. What country are you guys in ??
-
Hi roger@languageONE.com.au
Tar the files first, then bcrypt the tar file. I'm from Long Island, New York.
-
Thx mate, I'll try that again
cheers
-
Guys..
seems to have gone thru this time.
Keep me "in the loop" eh
Cheers
Roger
-
Hey guys, how are we going with this one. Anything I need to do to help
-
submitted extensions take one or two weeks to appear...
-
Cool. Thx :)
-
A little OT, but above you asked what country Tiny Core was in. The answer is many!
http://forum.tinycorelinux.net/index.php/topic,6310.0.html
-
Hi guys...
I wasn't sure if i was to ask on the forum or respond to the email. That is languageONE is now available and I can see it on the website but cannot find it on any of the mirrors. Does It just take time to propagate the extension ??
Also, languageONE is being worked on all the time. Will I find how to manage new versions in the forums here.
Cheers
Roger
-
Hi roger@languageONE.com.au
Yes, there is a delay before the mirrors get updated. I think mirrors update once every 24 hours.
Also, languageONE is being worked on all the time. Will I find how to manage new versions in the forums here.
When you have enough changes for a new release, package and submit it.
-
Thx Guys..
Should I be using a version no in the extension name ???
-
Hi Hi roger@languageONE.com.au
Not if you don't have to. Just update the .info file with the current version number and update the change log field.
-
Cool
Thx guys
-
The info file mentions corepure64, but the extension is in the 32-bit repo - would you like me to move it?
-
Yes, It's strictly 64bit.
I will also have a look at your email in regard to fie locations.
I can't see any real problem. I will let you know
Cheers
Roger
-
moved to corepure64 repo
-
Juanito
I have made the file system structure changes as per your personal email.
I will submit the extension shortly. (I am not far off a new version so will hang back until that is done)
Many Thx
Roger
-
Hi..
I have resubmitted languageONE.
Keep me in the loop eh !
cheers
roger