Quote:
|
Since its introduction, I believe it was with the kernel 3.x series, everyone enabled it (all distros), including Slackware, like they all were suffering from some form of obsessive–compulsive disorder. It's a sad development and again, a broken security model, module loading requires root and if one is already root, then there's not much you can protect anymore.
|
I won't try building kernels on this Zero for a while:
make -j 2 was stable with ~80% ish CPU load (according to my remote gkrellm) over the course of 6 hours on the current (4.19.20) kernel. The make -j3 seems to pretty much saturate the CPU to 100% already? Eventually it ended in filling up my already heavy pruned install on that tight 8GB card Might even get rid of the swap (500mb for hibernation tests) but won't attempt any kernel builds for the while. The furthest I'm ready to go is to build a single module in or outside the tree, or, eventually, cross compile the whole kernel on a x86 machine. |
Public service announcement
I need you burn up your electricity under the excuse we're making progress :D file: kernel-arm.SlackBuild Code:
#!/bin/sh 1. no one is willing to guarantee this script will fail every time to produce any useful kernel 2. there might be fun 3. it is absolutely impossible to claim this whole endeavor will yield zero gain in knowledge 4. it was completely written from me over quite few attempts (and failures while doing so) But it yielded me one archive I intend to try on my opi0, and I will try to report back! Just wanted to share this - so you can waste electricity too :hattip: USER MANUAL 1. Congratulations, blah, blah! 2. Safety warnings, blah, blah! 3. Use a proven running kernels config and load it from the make nconfig [F6] load prompt maybe change it to make xconfig for the more convenient file selector 4. have it run and hopefully finished well - don't change too much at a single pass and try save intermediate steps should a pass fail ("undo levels") 5. You need manually download an Linaro toolchain and a kernel source tar archive - all info will be provided by the script - run it without any fear - on your own risk ;) 6. My final footprint is around 2.8GB (!) maybe have like 4GB to spare before trying this please feedback and is all goes well - maybe i should start a dedicated thread for this and the u-boot tools? |
1. i didn't run the new kernel yet
2. i fiddled with the dts/dtb back and forth with the dtc tool and have enabled the serial ports on my opi0 3. the gps dongle connected on the serial port is registered and my time on the opi0 is from GPS :D file:/etc/ntp.conf Code:
#server 127.127.1.0 # local clock Code:
# ntpq -p all that's left to do now is: 1. fiddle some more 2. make the TFT SPI screen work why i post this: supposedly this ntp config makes it possible to start the clock from the "cold boot" feedback welcome |
2 Attachment(s)
Was fiddling, couldn't find any cross reference for the GPIO pins from Orange to Raspberry
According to here one is needed. Had to make one... Have the attached image handy for future reference ;), the dark one might be useful as a desktop IMHO |
note post 19 has had edits to the script posted (2x $check > $kcheck)
it should maybe work better now |
the screen is ON!
2 Attachment(s)
Finally got the wiring of the tiny 1.8" panel right.
https://github.com/notro/fbtft/wiki/LCD-Modules is the home of the fbtft module we use in this project Since we still have no orpi native frame-buffer device, our TFT maps to /dev/fb0 on this 4.19.20 kernel build. 1. check your silk screen names against the names on the commonly used on the wiki page and try make a map (attachment) 2. therefrom compare your device pins to the pins of the compatible driver (i used sainsmart18) 3. connect them to your device (Orange Pi GPIO pins do not match Raspberry Pi GPIO pins) 4. once all is mapped as shoud (photos due) you should (re)boot the device 5. make the module parameters known to the system: file: /etc/modprobe.d/fbtft Code:
options fbtft_device custom name=sainsmart18 gpios=dc:18,reset:2,led:19 speed=16000000 busnum=1 rotate=90 file:/etc/rc.d/rc.modules.local Code:
[snip] 7. let the system know you have the console ready for output file:/etc/rc.d/rc.local Code:
[snip] 8. have the kernel use a font best suited for your display size: file:boot.cmd(has to be converted) Code:
[snip] 9. reboot for effect to take action postcard: Code:
$ neofetch |
Quote:
It worked but also couldn't save the environment. I wonder if this is why: http://u-boot.10912.n7.nabble.com/Un...-td351182.html It might be a case of simply making a FAT partition on the 'sd card' image. Provision was added for making two partitions for something I was hacking on ages ago, but I never finished it. ftp://ftp.arm.slackware.com/slackwar...y_imagefile.sh Are you able to have a hack on it? I'm not concerned with updating the u-boot for the Banana Pi A20 though, since the version from 2016 works just fine for me; but it might help the H3 issue here. |
Quote:
Having failed to build an operating 4.20.x kernel so far (:hattip:), i might as well go for the u-boot and try perfect the partition support: 1. get FAT "out of the box" as a last resort option 2. get ext4 too, so we don't have to resort to "last resort" and waste 100MB for no good reason (better have if for swap IMO) 3. do we really benefit of saveenv this much more than from boot.cfg? I personally really seldom touch the u-boot if ever (once i have the sequence the way i see fit) and only ever tweak the boot.cfg (with a tool i will publish here), but agreed it's just silly not to be working none the less... 4. especially i tweak the dtb with yet another wrapper i made as well. Just my :twocents: will report back (stay tuned...) current status: a. struggling the final stretch to scale the GTK widgets on tangoGPS since i don't have the 640x400 frame buffer i had on my Raspberry PI when i last time did this b. gather all the little and immaculate tools and scripts that Slackware does not ship, but which make this sort of stuff possible at all. |
Quote:
It also means that if someone wants to configure u-boot, they can do so by editing the config on the FAT partition. My thinking is along the lines you said, but I think it's not a disk label - it's whether the FAT partition is marked as bootable). Without reading any of the u-boot docs, I am thinking that 'saveenv' attempts to write the config to the (1st) FAT partition (which also needs to be marked as bootable), rather than wherever it previously wrote those settings to. The previous SD card images had no partitions, so that may be the problem. If it still doesn't work, I'll put out these new format SD images with the 2016 version of U-Boot. I probably could just read the docs, but where's the fun in that? :-) Quote:
Quote:
|
warning: funny
Quote:
Quote:
1. MMC access (low level) but since we're loaded from said MMC device this has to be working already 1. Partition table (GPT or DOS only viable) - "where are my partitions" 2. FAT or inode table lookup for the file (code as old as the hills) "where do i put the bytes to" 3. inode/file allocation (overwrite) "how do i connect the bytes i wrote to a file" I can't see any of those fail and why? What does the Build your own latest kernel documentation say? ;) (there is a saying: "If the documentation is right the software has to be obsolete." :study:) Quote:
And a link of where to start hacking on... Someone might get the impression ("supported devices") that Slackware is endorsing heavy loads for the vanilla install? Quote:
1. offline (FAT is a benefit there) 2. off boot (save env has to work) 3. online (from the running system) the more we make to work - the merrier, and less likely some ex_soviet_state hacker comes and rubs our noses :o about a single conf line we might have missed? omw to hunt those down... |
I realised that the original topic of this thread has been taken over by u-boot.
Moved to this thread. |
Update to the GPS project:
file: ~/bin/center Code:
#!/bin/sh this file takes care to center the application of interest - namely some buttons obscured the view and i really only want it to show the map in the middle of the window. i moved the window 55 pixels to the right (to hide buttons) and grew it 241x138 to hide the status line and the zoom control slider as well. wmctrl is available thru sbotools and is maintained on Slack Builds org. |
next update: the auto-login process:
many a word has been shed for this, but lets try keep it short (and civil) ;) file: main.c Code:
#include <unistd.h> Code:
$ gcc main.c -o autologin I call this binary as the last command in /etc/rc.d/rc.local and it triggers my ~/.bash_profile: file: .bash_profile Code:
#!/bin/bash Code:
#!/bin/bash file: .xinitrc Code:
#!/bin/sh /usr/local/bin/loopd Code:
# ISC cest73@ya.ru :hattip: more yet details will follow, stay tuned P.S. I found the tip for #include on the edge of going insane so the simple program actually builds again as it did back then :D |
All times are GMT -5. The time now is 05:11 PM. |