Raspberry Pi - SMS Gateway - Raspberry Pi Q&A, Help & Troubleshooting

I have a Raspberry Pi and Huawei E303 and I tried a lot to make this work but I simply didnt success
I found many on the net who successed but I simply couldn't, might do something wrong.
Anybody can help with this setup, using the above to run own sms gateway which I send from the internet to my raspberry pi which is connected to both internet and E303, and which takes care of the sending of sms?

First you should make sure that your 3G stick is working. Boot your Pi without the stick and connect it afterwards. Then run dmesg and watch the last couple of lines for any hints on that.
The actual SMS gateway might be realized using gammu: http://wammu.eu/gammu/
I remembered a basic tutorial I wrote some time ago about getting gammu to run:
1. Requirements for the Gateway
- Linux host (actual distribution, Kernel 3.0 or greater recommended)
- a compatible GSM phone/USB modem (compatibility chart: http://wammu.eu/phones/) directly connected to the Linux host
- gammu (set of commandline utilities to send SMS)
- gammu-smsd (daemon for sending SMS)
- MySQL Server (for gammu-smsd)
2. Installation/Configuration GAMMU
- install gammu (ie: 'sudo apt-get install gammu')
- run 'sudo gammu-config'
- configure the device (ie. /dev/ttyHS0) and connection (ie. at192000), optional logging
- copy the resulting file ($HOME/.gammurc) to /etc/gammurc
- testdrive gammu: 'echo "Test SMS" | sudo gammu --sendsms TEXT [target mobile number, ie: 123456789] -validity 6HOURS'
3. Installation/Configuration MySQL-Database
- install mysql-server (ie: 'sudo apt-get install mysql-server')
- optional: install phpmyadmin (requires Apache2/LightHTTPd with PHP5; ie: 'sudo apt-get install phpmyadmin')
- create a database for gammu-smsd (ie: named smsd)
- create a user for the database with the following rights on the created database: select, insert, update, delete
- create tables within the database according to/using the file 'create_smsd_db.txt'
4. Installation/Configuration GAMMU-SMSD
- install gammu-smsd (ie: 'sudo apt-get install gammu-smsd')
- modify the gammu-smsd configuration file in /etc/gammu-smsdrc according to 'create_smsd_config.txt'
- MODIFY TO FIT WITH YOUR ENVIRONMENT!
- rename /etc/gammurc to /etc/gammurc.org
- start gammu-smsd (ie: 'sudo service gammu-smsd start')
- testdrive gammu-smsd: 'echo "Greetings from gammu-smsd" | sudo gammu-smsd-inject TEXT [target mobile number, ie: 123456789]'
- if sending fails check the logfile/syslog
Click to expand...
Click to collapse

Related

Chrooted Linux "Ubuntu Maveric"

Below is a download with a flashable.zip and an ubuntu.img file.
Why is this good?
The new ics updates do not allow webtop with out a dock, kernel problems same problems as the overclocking the new kernel does not support modules at this time, Or the modules are not compiled with the new kernel. This is a suppliment then for those who wish to have a linux distro. If you plug in your phone with a regular hdmi cable you can use the pocket-cloud.apk to view the ubuntu desktop
Working:
Flash plugin 10 full desktop version, (This is a full desktop flash. from ubuntu desktop version of flash 10.1)
synaptic download
apt-get
vncserver
openssh
gdm
python
FIreFox 3.5
Firefox flash plugin working
Mozilla Thunderbird
Working on:
Wine for games, it is currently installed but missing some files if you manually download and install each lib file you should have a working wine, might be able to edit a repository
This is a chrooted enviroment made for android phones, this enviroment was build from scratch using ubuntu to build a chrooted enviroment from scratch for a rootfs file system.
To begin make sure your sdcard-ext has 3.5 gb free or more.
(if you wish to use sdcard instead of your sdcard-ext then you will have to make an edit in the linux.sh file)
To chroot into linux once your have the files in the correct spots you need only to have terminal emulator, and a vncserver connect (pocket-cloud.apk is free from the market.)
You will need to be rooted or the ability to mount a loop file, and chroot into a chrooted enviroment wich usually requires root privleges. Although there may be ways to vnc connect into it with out being rooted using adb, and adb shell, that will not be discussed here.
So if your rooted, and your have 3.5 gb free space on sdcard-ext then run the:
bioniclinux.zip from your recovery
This will push the files to the correct place, except the ubuntu.img
Put the ubuntu.img on sdcard-ext
by typeing:
adb push ubuntu.img /sdcard-ext/ubuntu.img
In your terminal emulator type: linux
(after you used the bioniclinux.zip and pushed the ubuntu.img to sdcard-ext.)
open pocket cloud free
type:
host: localhost or empty or 127.0.0.1 or 127.0.0.0.1 (not sure how many zeros)
username: ubuntu
password: ubuntu
prot 5901
Not Working:
Wine, missing files, wine is still installed if you remove it you could posiible free up some space,
apt-get update
apt-get dist-upgrade This can be fixed if you edit the /etc/acct/source.list
and fix missing packages and delete old sources, The only reason I left it was because upgradeing can breake Flash player 10.1
and dist-upgrade can breake the whole .img If anyone wants to upgrade and fix the source.list let me know
Change log:
Removed uneeded files. Freed up close to 1 gb
installed Chess 3d
upgraded apt-get
Ubuntu.img V2
if you cannot connect with those settings try
username: android
password: android
prot 5901
and if those dont work try
username: android
password: ubuntu
prot 5901
Having troubles make sure you put the ubuntu.img in the correct place, and name is case sensitive, so make sure it says ubuntu.img not Ubuntu.img
check the linux.sh in /system/xbin/linux.sh or /system/bin/linux.sh make sure it is in both places with adb you can do
adb pull /system/xbin/linux.sh
adb push /system/bin/linux.sh
adb pull /system/xbin/linux
adb push /system/bin/linux
That might fix the problem of not seeing the linux comand, if you cant mount your .img make sure inside the linux.sh it is in the correct location
for example one of the linux.sh might say /sdcard/ubuntu.img
the other might say /sdcard/-ext/ubuntu.img
for the location make sure your location of the image is in same place as the linux script
if you have the linux script or the zip you can put it on your sdcard in the same place as your ubuntu.img and type from the terminal
losetup /dev/block/loop0 /sdcard-ext/ubuntu.img
mount -o rw -t ext3 /dev/block/loop0 /data/local/mnt/Linux
Click to expand...
Click to collapse
then try
su
sh /sdcard/linux.sh
or
sh /system/xbin/linux.sh
or
sh /system/bin/linux.sh
Click to expand...
Click to collapse
that should start the chrooted enviroment
Anyone want to upload the .img to a better file sharing site? send me link for download, faster download speed would be nice.
One thing I noticed was the hostname.sh has beenchanged to an upstart service, so in order to get internet you must make an edit to the rc_enter.sh you could use a root explorer or nano editor in terminal
nano /etc/init.android/rc_enter.sh
Chane the /etc/init.d/hostname.sh to:
service start hostname
Also it would be a good idea to add this to the file just before service start hostname put:
echo "localhost 127.0.0.1 192.168.1.1 192.168.157.1 192.168.43.1" > /etc/init/hostname
echo "localhost 127.0.0.1 192.168.1.1 192.168.157.1 192.168.43.1" > /etc/hostname
echo "nameserver localhost" > /etc/resolv.conf
echo "nameserver 127.0.0.1" >> /etc/resolv.conf
echo "nameserver 192.168.1.1" >> /etc/resolv.conf
echo "nameserver 192.168.157.1" >> /etc/resolv.conf
echo "nameserver 192.168.43.1" >> /etc/resolv.conf
(Just to be sure i also added)
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
_
Now you should get internet threw it. If you have wifi you dont need to take those steps but you will not have internet until you are connected to wifi unless you follow those steps to edit the hostname
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Images of desktop and me posting and editing a post on xda forums using the full desktop version of firefox for ubuntu.
I hope we all can start to build on this img and get it to be more flavor full and userfriendly and even get some gaming.
I see that valve works now with linux maybe we can get valve to work with this.
Also this is very productive for developers, I did not install any developing tools for space, but if you wish you could easily install several tools to help you. maybe an android-kitchen or even cynanogen build tools to build kernal and such. pull your kernel config and you could easily all on your phone with this linux create and edit your bionics kernel. Or build a whole rom with cynanogen mod tools.
Another thing that would be good would be cpu overclocking and maybe even unlocking the second cpu for chrooted eviroment. It already runs when using the android, but maybe we can unlock it fully to always run like the first cpu.
Made for sdcart-ext place ubunti.img there. More updates and info will be coming hope you enjoy.
androidifyme said:
Why is this good?
The new ics updates do not allow webtop with out a dock, kernel problems same problems as the overclocking the new kernel does not support modules at this time, Or the modules are not compiled with the new kernel.
Click to expand...
Click to collapse
compatible with leak 232+?
if using stock motoblur, is this retasking the HDMI port to enable ubuntu OVER or in addition to webtop (if we have a lapdock or HD dock for example)?
sounds interesting.
At this time it does not effect webtop, I bet we could get this to work for the webtop2sd or even the regular webtop.
When the usb drive is mounted on your pc there is an action script that allows for usb mass storage, when your bionic is connect to a dock script runs to hijack the hdmi and turns on webtop, that webtop script we already have edited a few post I have seen to add different desktops and such, It would be possible to put our img in webtop if we didnt touch the scripts used to mount it. basically you would have to replace webtop with this but keep the scripts in tact to lauch webtop from your dock, if anyone wants to help I would be willing to look into this.
yes, we would need to hijack the hdmi_hotplug and either insert a mount/remount like webtop2sd, OR ... what the eventual goal of that project was... boot from USB! (was this ever accomplished on Atrix?) for that matter, do we even *need* to hijack HDMI if webtop 3.0 can run the chrooted VNC natively like a phone would? (could be a staging point)
i believe with ICS device drivers, it would be a lot simpler to hot swap linux distros on thumb drives for example, or even more daring.. dual boot into bactrack anyone?
Here is a way we can make the linux distro take over the screen and usb event paths, its originaly for the nook but if anyone wants to take a look.
http://thomaspolasek.blogspot.ca/2012/04/arch-linux-lxde-w-xorg-mouse-keyboard_16.html
Setup our DNS (only have to do this once) echo "nameserver 8.8.8.8" > /etc/resolv.conf echo "nameserver 4.2.2.2" >> /etc/resolv.conf
Update arch pacman -Syu
Install Xorg and LXDE on your Arch Linux Chroot pacman -S xorg-xinit xf86-video-fbdev xf86-input-evdev lxde
Edit your /etc/X11/Xorg.conf file cd /etc/X11 rm Xorg.conf sudo wget http://y.uk.to/files/xorg.conf (or try http://pastebin.com/raw.php?i=8CM7NKhd) You may need to edit the device references for the keyboard and mouse in Xorg.conf! (/dev/input/event5 and /dev/input/event4 might be different) More information is found below
Go on your Nook Tablet and Run the Nook Tweaks app Turn on USB-Settings ---> USB Host Mode Turn on USB-Settings ---> External VBus
Connect your USB devices to your Nook Color Tablet Obtain a female to female usb connector Connect a hub to one side of the female connector Connect a usb keyboard/mouse to the hub Connect a mini-usb to the nook and then to the other side of the female connector
If you need to figure out what devices your keyboard and mouse are on, then cd /dev/input
run the cat command on each input* .... and check if your keyboard/mouse input results in a change on the output from cat for example, when I press a key on my keyboard cat /dev/input/event5 outputs some binary characters.
Now we will setup our linux framebuffer (****UPDATE 1****)
pikpok sent me this suggestion in the comments section.
You can use "setprop ctl.stop media & setprop ctl.stop zygote" in adb shell to kill zygote server and media, if you want to return to android you can replace stop with start and run again, it's much better than chmod
Now we will setup our linux framebuffer (hack)
Try pikpok's suggestion first, if it doesn't work then try out this hack of mine.
Temporary hack to stop the android system from accessing the frame buffer device. I plan on writing a patch that toggles access to this framebuffer from linux. But right now what I do is I change permissions on the framebuffer and then wait for the android system to lose connection to the framebuffer device. Once android loses the connection I run the Xorg server on the framebuffer, it hijacks the graphics output. If anyone has any idea on a better way to this please feel free to post on the comments section. Eventually (again this is a hack) the android system will appear to freeze (the screen stops updating)
cd /dev/graphics chmod 000 /dev/graphics/fb0 chown root:root /dev/graphics/fb0
If the graphics don't freeze right away, then keep running and killing the xorg server over and over until it does.
Start LXDE session (starts Xorg Server) xinit /usr/bin/lxsession &
If everything is configured good, you will get a full LXDE desktop with mouse and keyboard support. For any xorg server problems, have a look at the /var/log/Xorg*.log file
To stop the xorg server you can run (not the safest way but it doesn't really matter for this) killall X
BAM. Fully working linux system using the linux framebuffer with mouse/keyboard support.
In addition to support the USB keyboard and mouse, it is possible for other USB devices that are support ed by linux to be connected. Example of devices such as USB-DVI, USB-SERIAL, Arduino, etc...
Notes about the SD Card and EMMC:
It is possible to chroot into any part of the filesystem of Nook as long as you have rwx access. For my personal usage I chroot into the 8th partition on the EMMC (~4GB) of space and run Arch Linux from there, I find the EMMC runs faster than the SD Card.
that is definately an interesting option, i actually have a nook & xoom i could try this out on. i think that working within the API provided by moto for HDMI cloning might be the most direct and "seamless" display option. if im not mistaken the webtop itself scales and optimizes any application into "webtop" (basically tablet) mode. this is different from a simple cloning, which is preferable the if distro was being run through VNC.
there IS however a dock configuration for webtop (2.0 im sure of, need to test 3) where the display is outputed through HDMI, but the phone display is turned into a simulated mouse and keyboard combo. this would mean it is theoretically possible to run the chrooted OS when HDMI cable is detected, and automatically retask the phone as a HID. bluetooth / usb input is also supported at this point through the dock USB ports.
additionally, HDMI audio routing is only enabled @ 1 resolution output setting (the one for lapdock, need to double check #s). utilizing this feed would probably be the ultimate goal of the linux system (and would give the OS the highest resolution audio possible to work with)
cheers!
Can I get a bump already.
Will this work with any Droid Bionic ROM? I want to install on a custom ROM for use with my LapDock.
Can this allow me to install Ubuntu as WebTop onto the Liquid ROM I am running on the Safe Partition?
Droid Bionic Running:
Unsafe Leaked 6.7.232 Webtop v3.0.0 / LapDock functions perfectly
Safe Strapped Liquid 1.5-ICS-TARGA-MR2.3 is Rooted / No Webtop / my lapdock only charges
I would like to point out that WINE will never work with this as WINE is not a CPU emulator (WINE after all stands for Wine Is Not an Emulator).
Therefore althrough WINE does work on ARM you could only run ARM compiled .exe files which right now there arnt any, this may change once Windows 8 is released for ARM but still it will be pretty useless.
Other than that great to see more device specific guides! the more devices the better
zacthespack said:
I would like to point out that WINE will never work with this as WINE is not a CPU emulator (WINE after all stands for Wine Is Not an Emulator).
Therefore althrough WINE does work on ARM you could only run ARM compiled .exe files which right now there arnt any, this may change once Windows 8 is released for ARM but still it will be pretty useless.
Other than that great to see more device specific guides! the more devices the better
Click to expand...
Click to collapse
I don't know what I am doing here but you're wrong, WINE does work for ARM and apps for x86 works and ARM plus WINE, I tried it myself a long ago with my Atrix, I think I disscused this with you before.
TravisAntonio said:
I don't know what I am doing here but you're wrong, WINE does work for ARM and apps for x86 works and ARM plus WINE, I tried it myself a long ago with my Atrix, I think I disscused this with you before.
Click to expand...
Click to collapse
I was simply repeating whats been said here http://wiki.winehq.org/ARM if you have shown otherwise then great and by all means prove me wrong but you might want to talk with the WINE ARM team to let them know what does work
This is all pretty interesting... im liking the idea of linux on my phone. I cant wait to see how this progresses.
Sent from my Transformer Pad TF300T
Wow! Thank you for this.
I do have an issue though. I would love to get this running.
I entered the information in to PocketCloud as a VNC (is that correct?) and then when I launch "linux" in terminal emulator it says that the linux module isn't found in Busybox.
I followed the instructions (at least I think I did). I flashed the zip in recovery.
What am I missing?
Thank you.
check the linux.sh in /system/xbin/linux.sh or /system/bin/linux.sh make sure it is in both places with adb you can do
adb pull /system/xbin/linux.sh
adb push /system/xbin/linux.sh
adb pull /system/xbin/linux
adb push /system/bin/linux
That might fix the problem of not seeing the linux comand, if you cant mount your .img make sure inside the linux.sh it is in the correct location
for example one of the linux.sh might say /sdcard/ubuntu.img
the other might say /sdcard/-ext/ubuntu.img
for the location make sure your location of the image is in same place as the linux script
if you have the linux script or the zip you can put it on your sdcard in the same place as your ubuntu.img and type from the terminal
su
sh /sdcard/linux.sh
or
sh /system/xbin/linux.sh
that should start the chrooted enviroment
androidifyme said:
One thing I noticed was the hostname.sh has beenchanged to an upstart service, so in order to get internet you must make an edit to the rc_enter.sh you could use a root explorer or nano editor in terminal
nano /etc/init.android/rc_enter.sh
Chane the /etc/init.d/hostname.sh to:
service start hostname
Also it would be a good idea to add this to the file just before service start hostname put:
echo "localhost 127.0.0.1 192.168.1.1 192.168.157.1 192.168.43.1" > /etc/init/hostname
echo "localhost 127.0.0.1 192.168.1.1 192.168.157.1 192.168.43.1" > /etc/hostname
echo "nameserver localhost" > /etc/resolv.conf
echo "nameserver 127.0.0.1" >> /etc/resolv.conf
echo "nameserver 192.168.1.1" >> /etc/resolv.conf
echo "nameserver 192.168.157.1" >> /etc/resolv.conf
echo "nameserver 192.168.43.1" >> /etc/resolv.conf
(Just to be sure i also added)
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
Click to expand...
Click to collapse
Issue With Above Info
Just wanted to mention this is actually off. The nameserver [DNS server] you have listed here. Sorry if this was covered before don't have time to read all replies... 192.168 is reserved only for LAN use [not to be accessible to the Internet only behind a router on a private network]. So those may work for you via WiFi on your home network, but to others they won't be able to talk to those servers [unless a few have those same addresses on their private network setup for the same function].
Then Why does it still work stupid?
It works because the last one you have 8.8.8.8 is a public DNS on the internet so Ubuntu is essentially looking for a website address and 192.168.1.1 FAIL 157.1 FAIL 43.1 FAIL 8.8.8.8 FOUND.
Resolution [verified]
Also, OpenDNS [a very fast and nice FREE DNS nameserver service available worldwide] [http://www.opendns.com/home-solutions ] (scroll down to almost bottom of page there is a dark bar that lists the 2 server addresses if they were to ever change, or you want to check out signing up for an account so you can parental control and/or set custom settings like landing page for not found address (HTTP 404 error) etc.]
Free Worldwide Name [DNS] Servers:
Primary Nameserver [DNS]: 208.67.222.222
Secondary Nameserver [DNS]: 208.67.220.220
[you can use either server as a primary or secondary they just ask you to use 222.222 as primary and 220.220 as Secondary].
So, if you want to edit the OP with those they should work in 99.99% of all cases [can't vouch for people behind the Great Firewall of China or elsewhere if they severely filter the internet [speaking to the majority here]]. Now, usually if using a router [most cable modems are routers] then if you view the below info about opening a command prompt you can open one and type ipconfig [or if not on Windows view your basic network connection info]. Look for an entry labeled Gateway: This in 99% of cases will also have a DNS server [very basic] running and would be the address you could use when on your home network [99% of routers are generally set to 192.168.1.1 or 192.168.10.1 [or some variation on this theme [and yes you could in theory use almost any set of IP addresses on a LAN but I am trying to help the majority of general users]].
Verification [semi as ping helps you know if there is even a computer, but doesn't tell you if that computer runs a DNS server sprcifically]
If you want to see if an address works for you? Then try the following [Windows command listed as that again is the majority Linux users usually know their own ping but replace ping with hping if not sure as there is a good chance hping has been installed by default or by another package already]
Open a command prompt [click Start, run, then type "cmd" [as usual without quotes] in the white box and click OK or hit <ENTER>
When the Black Screen with white text [default yours may be different but should be text only and usually says C:\Blah]
Now type:
Ping 192.168.43.1 [or whatever can even use a website like www.google.com if you would like but we are checking certain addresses here]
Now it should start listing some text on the screen. If you see something like [I stopped it usually default for ping is to try 4x then exit]:
Code:
Pinging 192.168.43.1 with 32 bytes of data:
Request timed out.
Ping statistics for 192.168.43.1:
Packets: Sent = 1, Received = 0, Lost = 1 (100% loss),
You can't talk to anything at that address [whether it is your network or the internet doesn't have that address anywhere, or there is something suchas a firewall blocking the ping command [be sure to enable ECHO ping on your router if not [usually is] and that you check your firewall settings to be sure that it is not filtering the packets].
Sorry this got long, just wanted to explain the issue, how to address it and how to verify things fully.
---------- Post added at 01:22 PM ---------- Previous post was at 01:12 PM ----------
ErisDroid? said:
Wow! Thank you for this.
I do have an issue though. I would love to get this running.
I entered the information in to PocketCloud as a VNC (is that correct?) and then when I launch "linux" in terminal emulator it says that the linux module isn't found in Busybox.
I followed the instructions (at least I think I did). I flashed the zip in recovery.
What am I missing?
Thank you.
Click to expand...
Click to collapse
Search the Play Market for Busybox installer [I prefer the one by Sterricson] and run that, grant it root [be patient on first open it takes it a min to request root usually], then allow it do it's checks [see status bar at top of screen fill as it runs and I suggest you say yes to the backup]. When it finishes tap Install and tap Normal install if prompted. This will ensure your busybox is correctly installed [it should have been your system saying command not found not busybox command not found something is a tiny bit off should have been more like sh: can't find command unless you actually used busybox as the shell itself [not advised is doable but not advised and I don't know any devs on XDA who have set their ROMs to do so [could be wrong I am sure there are devs here I don't know ]].
Ensure you ran his installer zip in recovery so that the linux file is in /system/xbin [or system/bin [some phones go one way others go the other and yes both directories are usually always there as even if it uses xbin usually there are file links to /system/bin for everything that is actually in /system/xbin].
If his installer sets it up in a way that your phone deosn't like follow as the OP states and open the zip find that file named linux [with no extension in Windows should appear as a white blank page icon]. Once you find that file just copy to your SDCard where the ubuntu.img file is.
Once done open terminal
Type in the following
cd /sdcard <ENTER enter key go key whatever your keyboard uses>
now type linux <ENTER> and that starts the server you should see starting vnc server or something verifying it is starting [unless author of the script omitted that which I highly doubt]
NOW try opening androidvnc, pocket cloud, whatever you use [I prefer AndroidVNC, but to each their own].
---------- Post added at 01:29 PM ---------- Previous post was at 01:22 PM ----------
zacthespack said:
I would like to point out that WINE will never work with this as WINE is not a CPU emulator (WINE after all stands for Wine Is Not an Emulator).
Therefore althrough WINE does work on ARM you could only run ARM compiled .exe files which right now there arnt any, this may change once Windows 8 is released for ARM but still it will be pretty useless.
Other than that great to see more device specific guides! the more devices the better
Click to expand...
Click to collapse
Yeah this is right when speaking of Android and WINE, THOUGH THEY ARE APPARENTLY WORKING TO GET WINE ON NATIVE ANDROID YAY, oh and yes they have a proof of concept video, BUT they have yet to release it at all.
As noted by the above quote it is indeed a CPU issue, WINE is coded really only for use with x86 based processors only, you have to basically re-code the whole thing so that it can use ARM instructions AND works with Android [theres a catch because yes there is BASIC support in WINE for ARM as of 2009 [See link below] which is 99.99999% of all Android devices [there are a couple now and more coming from intel with x86 based processors but TRUST me unless they SEVERELY upgraded x86 code ARM code is MUCH better battery use wise so I won't be buying any x86 based mobile devices myself.
http://wiki.winehq.org/ARM
Original poster I am replying to was thinking more along these lines An ANDROID based WINE client that runs is not quite to market yet see:
http://www.engadget.com/2013/02/04/wine-android-windows-apps/
Another Note here folks, I love the Windows, Linux, Unix Emulator [Title as listed on play market Just search Windows Emulator it comes up as first result [as of this writing]] As it does as it says allows the install of one of those systems in Android. I am not sure how well it may run on the Bionic [I use a Tmo Galaxy S2 [T989 1.5GHz Dual Core] and the awesome Nexus 7 [ Grouper 32G] I am here as I saw this while looking at other stuff for another person's phone I am working on
P.S see how easy that was when there is a disagreement or you want to be sure you give fully qualified answers you just do a little internet searching and find reputable [best you can] sources that may settle the question between you
Can someone upload Ubuntu.img
Can someone please upload the Ubuntu.img to somewhere besides 4shared.
Just for clarification:
The first reason I put the 192.168.0.1 and 157, and 43 is because the chrooted enviroment will connect to internet if your phone has a data connection pretty much no matter what because of 8.8.8.8 yes, but if no data, I added those dns for the wifi and virtual wlan0 and lan0, or eth0 on your phone and most of those default to the above addresses,
Second the wine that is installed on here is the wine/arm, but I think there are some broken dependencies, I was only trying to get wine to run for windows programs not an os, like the qemu emulator i think there is an apk in the market or online for it.
Yes I forgot to say you would need busybox to install and run this, so first make sure you have busybx installed, rooted, /system/xbin/linux, /system/xbin/linux.sh, /sdcard/ubuntu.img
open terminal type :
linux
[email protected]:vncserver
then connect to your localhost:ubuntu:ubuntu:5901
if you have any question or errors dont be affraid to message me or post here.
RealPariah said:
Issue With Above Info
Just wanted to mention this is actually off. The nameserver [DNS server] you have listed here. Sorry if this was covered before don't have time to read all replies... 192.168 is reserved only for LAN use [not to be accessible to the Internet only behind a router on a private network]. So those may work for you via WiFi on your home network, but to others they won't be able to talk to those servers [unless a few have those same addresses on their private network setup for the same function].
Then Why does it still work stupid?
It works because the last one you have 8.8.8.8 is a public DNS on the internet so Ubuntu is essentially looking for a website address and 192.168.1.1 FAIL 157.1 FAIL 43.1 FAIL 8.8.8.8 FOUND.
Resolution [verified]
Also, OpenDNS [a very fast and nice FREE DNS nameserver service available worldwide] [http://www.opendns.com/home-solutions ] (scroll down to almost bottom of page there is a dark bar that lists the 2 server addresses if they were to ever change, or you want to check out signing up for an account so you can parental control and/or set custom settings like landing page for not found address (HTTP 404 error) etc.]
Free Worldwide Name [DNS] Servers:
Primary Nameserver [DNS]: 208.67.222.222
Secondary Nameserver [DNS]: 208.67.220.220
[you can use either server as a primary or secondary they just ask you to use 222.222 as primary and 220.220 as Secondary].
So, if you want to edit the OP with those they should work in 99.99% of all cases [can't vouch for people behind the Great Firewall of China or elsewhere if they severely filter the internet [speaking to the majority here]]. Now, usually if using a router [most cable modems are routers] then if you view the below info about opening a command prompt you can open one and type ipconfig [or if not on Windows view your basic network connection info]. Look for an entry labeled Gateway: This in 99% of cases will also have a DNS server [very basic] running and would be the address you could use when on your home network [99% of routers are generally set to 192.168.1.1 or 192.168.10.1 [or some variation on this theme [and yes you could in theory use almost any set of IP addresses on a LAN but I am trying to help the majority of general users]].
Verification [semi as ping helps you know if there is even a computer, but doesn't tell you if that computer runs a DNS server sprcifically]
If you want to see if an address works for you? Then try the following [Windows command listed as that again is the majority Linux users usually know their own ping but replace ping with hping if not sure as there is a good chance hping has been installed by default or by another package already]
Open a command prompt [click Start, run, then type "cmd" [as usual without quotes] in the white box and click OK or hit <ENTER>
When the Black Screen with white text [default yours may be different but should be text only and usually says C:\Blah]
Now type:
Ping 192.168.43.1 [or whatever can even use a website like www.google.com if you would like but we are checking certain addresses here]
Now it should start listing some text on the screen. If you see something like [I stopped it usually default for ping is to try 4x then exit]:
Code:
Pinging 192.168.43.1 with 32 bytes of data:
Request timed out.
Ping statistics for 192.168.43.1:
Packets: Sent = 1, Received = 0, Lost = 1 (100% loss),
You can't talk to anything at that address [whether it is your network or the internet doesn't have that address anywhere, or there is something suchas a firewall blocking the ping command [be sure to enable ECHO ping on your router if not [usually is] and that you check your firewall settings to be sure that it is not filtering the packets].
Sorry this got long, just wanted to explain the issue, how to address it and how to verify things fully.
---------- Post added at 01:22 PM ---------- Previous post was at 01:12 PM ----------
Search the Play Market for Busybox installer [I prefer the one by Sterricson] and run that, grant it root [be patient on first open it takes it a min to request root usually], then allow it do it's checks [see status bar at top of screen fill as it runs and I suggest you say yes to the backup]. When it finishes tap Install and tap Normal install if prompted. This will ensure your busybox is correctly installed [it should have been your system saying command not found not busybox command not found something is a tiny bit off should have been more like sh: can't find command unless you actually used busybox as the shell itself [not advised is doable but not advised and I don't know any devs on XDA who have set their ROMs to do so [could be wrong I am sure there are devs here I don't know ]].
Ensure you ran his installer zip in recovery so that the linux file is in /system/xbin [or system/bin [some phones go one way others go the other and yes both directories are usually always there as even if it uses xbin usually there are file links to /system/bin for everything that is actually in /system/xbin].
If his installer sets it up in a way that your phone deosn't like follow as the OP states and open the zip find that file named linux [with no extension in Windows should appear as a white blank page icon]. Once you find that file just copy to your SDCard where the ubuntu.img file is.
Once done open terminal
Type in the following
cd /sdcard <ENTER enter key go key whatever your keyboard uses>
now type linux <ENTER> and that starts the server you should see starting vnc server or something verifying it is starting [unless author of the script omitted that which I highly doubt]
NOW try opening androidvnc, pocket cloud, whatever you use [I prefer AndroidVNC, but to each their own].
---------- Post added at 01:29 PM ---------- Previous post was at 01:22 PM ----------
Yeah this is right when speaking of Android and WINE, THOUGH THEY ARE APPARENTLY WORKING TO GET WINE ON NATIVE ANDROID YAY, oh and yes they have a proof of concept video, BUT they have yet to release it at all.
As noted by the above quote it is indeed a CPU issue, WINE is coded really only for use with x86 based processors only, you have to basically re-code the whole thing so that it can use ARM instructions AND works with Android [theres a catch because yes there is BASIC support in WINE for ARM as of 2009 [See link below] which is 99.99999% of all Android devices [there are a couple now and more coming from intel with x86 based processors but TRUST me unless they SEVERELY upgraded x86 code ARM code is MUCH better battery use wise so I won't be buying any x86 based mobile devices myself.
http://wiki.winehq.org/ARM
Original poster I am replying to was thinking more along these lines An ANDROID based WINE client that runs is not quite to market yet see:
http://www.engadget.com/2013/02/04/wine-android-windows-apps/
Another Note here folks, I love the Windows, Linux, Unix Emulator [Title as listed on play market Just search Windows Emulator it comes up as first result [as of this writing]] As it does as it says allows the install of one of those systems in Android. I am not sure how well it may run on the Bionic [I use a Tmo Galaxy S2 [T989 1.5GHz Dual Core] and the awesome Nexus 7 [ Grouper 32G] I am here as I saw this while looking at other stuff for another person's phone I am working on
P.S see how easy that was when there is a disagreement or you want to be sure you give fully qualified answers you just do a little internet searching and find reputable [best you can] sources that may settle the question between you
Click to expand...
Click to collapse
Thanks for the post, This is great help
Also if you wanted to try to highjack the hdmi instead of the phones frame buffer we might be able to do that.
by taking over /dev/graphics/fb1 ,I have not personaly tested this, or someone who worked on the webtop2sd might be able to use this instead of the webtop2sd linux versoin used.
You can use "setprop ctl.stop media & setprop ctl.stop zygote" in adb shell to kill zygote server and media, if you want to return to android you can replace stop with start and run again, it's much better than chmod
Now we will setup our linux framebuffer (hack)
Try pikpok's suggestion first, if it doesn't work then try out this hack of mine.
Temporary hack to stop the android system from accessing the frame buffer device. I plan on writing a patch that toggles access to this framebuffer from linux. But right now what I do is I change permissions on the framebuffer and then wait for the android system to lose connection to the framebuffer device. Once android loses the connection I run the Xorg server on the framebuffer, it hijacks the graphics output. If anyone has any idea on a better way to this please feel free to post on the comments section. Eventually (again this is a hack) the android system will appear to freeze (the screen stops updating)
cd /dev/graphics chmod 000 /dev/graphics/fb1 chown root:root dev/graphics/fb1
If the graphics don't freeze right away, then keep running and killing the xorg server over and over until it does.
Start LXDE session (starts Xorg Server) xinit /usr/bin/lxsession &
If everything is configured good, you will get a full LXDE desktop with mouse and keyboard support. For any xorg server problems, have a look at the /var/log/Xorg*.log file
To stop the xorg server you can run (not the safest way but it doesn't really matter for this) killall X
BAM. Fully working linux system using the linux framebuffer with mouse/keyboard support.
androidifyme said:
Just for clarification:
The first reason I put the 192.168.0.1 and 157, and 43 is because the chrooted enviroment will connect to internet if your phone has a data connection pretty much no matter what because of 8.8.8.8 yes, but if no data, I added those dns for the wifi and virtual wlan0 and lan0, or eth0 on your phone and most of those default to the above addresses,
Second the wine that is installed on here is the wine/arm, but I think there are some broken dependencies, I was only trying to get wine to run for windows programs not an os, like the qemu emulator i think there is an apk in the market or online for it.
Yes I forgot to say you would need busybox to install and run this, so first make sure you have busybx installed, rooted, /system/xbin/linux, /system/xbin/linux.sh, /sdcard/ubuntu.img
open terminal type :
linux
[email protected]:vncserver
then connect to your localhost:ubuntu:ubuntu:5901
if you have any question or errors dont be affraid to message me or post here.
Thanks for the post, This is great help
Also if you wanted to try to highjack the hdmi instead of the phones frame buffer we might be able to do that.
by taking over /dev/graphics/fb1 ,I have not personaly tested this, or someone who worked on the webtop2sd might be able to use this instead of the webtop2sd linux versoin used.
You can use "setprop ctl.stop media & setprop ctl.stop zygote" in adb shell to kill zygote server and media, if you want to return to android you can replace stop with start and run again, it's much better than chmod
Now we will setup our linux framebuffer (hack)
Try pikpok's suggestion first, if it doesn't work then try out this hack of mine.
Temporary hack to stop the android system from accessing the frame buffer device. I plan on writing a patch that toggles access to this framebuffer from linux. But right now what I do is I change permissions on the framebuffer and then wait for the android system to lose connection to the framebuffer device. Once android loses the connection I run the Xorg server on the framebuffer, it hijacks the graphics output. If anyone has any idea on a better way to this please feel free to post on the comments section. Eventually (again this is a hack) the android system will appear to freeze (the screen stops updating)
cd /dev/graphics chmod 000 /dev/graphics/fb1 chown root:root dev/graphics/fb1
If the graphics don't freeze right away, then keep running and killing the xorg server over and over until it does.
Start LXDE session (starts Xorg Server) xinit /usr/bin/lxsession &
If everything is configured good, you will get a full LXDE desktop with mouse and keyboard support. For any xorg server problems, have a look at the /var/log/Xorg*.log file
To stop the xorg server you can run (not the safest way but it doesn't really matter for this) killall X
BAM. Fully working linux system using the linux framebuffer with mouse/keyboard support.
Click to expand...
Click to collapse
That's interesting I would have thought you could run a script and grep the interface IP if you are tying the Cell in for data. I know this takes time and all, but what I would suggest is you could prolly throw it in the linux wrapper script you have or if that is too early in the process maybe throw a script that loads on login to the image to do so and re-build. Again I know you just started this and that takes time just throwing it out there..
Also, if it is for LAN WiFi doesn't DHCP run and able to grab an IP?
I understand the ARM deal, I just threw in the emulator name for those who don't understand what WINE truly is and are trying to find something to run a more robust Windows environment [why, I am not sure, but hey there it is LoL].

[INFO] How to install OSX Yosemite as a W81 VirtualBox VM

How to install OSX Mavericks (10.9.4) as a Windows 8.1 VirtualBox VM
Please note, this thread is only meant to share some personal notes
on what I did and how to get this working. It is not meant as a
support thread. In fact, I will not respond to any support questions.
The links found here will provide you with more information than you
could ever beg for.
Almost exactly one year ago, I posted some instructions on how to
install OSX Mountain Lion into a VirtualBox (VB) VM, running on an
old Windows Vista AMD laptop. This time I'll show you (briefly) how
to install OSX Mavericks to an Intel Laptop running Windows 8.1.
The installation procedure is divided into a few steps.
1. Pre-installation preparation
2. Install the Niresh OS X Mavericks (10.9.0) distribution.
3. Install the Official Apple OS X Mavericks (10.9.4) Update Combo
4. Post installation instructions
Some important Hackingtosh references:
Here is a mega-thread on OSX how-to's and help related items.
http://www.insanelymac.com/forum/topic/298027-guide-aio-guides-for-hackintosh/
Especially the section on DSDT and SSDT:
http://www.insanelymac.com/forum/topic/298027-guide-aio-guides-for-hackintosh/#entry2027250
http://www.insanelymac.com/forum/topic/286092-guide-1st-generation-intel-hd-graphics-qeci/
http://lifehacker.com/the-always-up-to-date-guide-to-building-a-hackintosh-o-5841604​
1. Pre-installation preparation
Basic Hardware Info
Before you attempt to install your OSX into a VirtualBox VM (guest),
you need to find out some details about your own machine (host). Why?
Because every new OS X is depending on the Hardware to be very
"maxed out" and specific. You need to tune your VB VM to behave similar
to a real Apple machine in order to make the OS X think your machine
hardware is a real Mac. In addition, some PCI devices are passed on and
through to the VB VM engine.
For example, for a half decent running Mavericks installation,
you need to have at least 2-4 processor cores, 4 GB RAM and 30 GB HD
in your VM. Then your host need some memory as well... Then to get
correct audio, video, network, USB etc you need to know exactly what
HW your host have AND how that is presented by VB to a VM guest.
So how do you do that?
On your PC/Laptop (host):
Code:
[SIZE=2]Windows: Use [URL="http://www.hwinfo.com/"]HWiNFO64[/URL] + [URL="http://rweverything.com/download/"]RW-Everything[/URL] + (Windows) [I]Device Manager [/I]
Linux: Download and run a Live Linux distro and copy the
output of [I]dmesg[/I] and [I]lspci, lsusb[/I], respectively.
[/SIZE]
For this laptop we have:
<TBA>
From host HWiNFO64, we found:
Code:
[SIZE=2]Audio Adapter: Intel Lynx Point PCH - High Definition Audio Controller [C2]
Audio Controller Hardware ID: PCI\VEN_8086&DEV_8C20&SUBSYS_11CD1043&REV_05
Audio Codec Hardware ID: HDAUDIO\FUNC_01&VEN_[COLOR=Red][B]10EC[/B][/COLOR]&DEV_[COLOR=Red][B]0668[/B][/COLOR]&SUBSYS_00000000
DeviceInstanceId: HDAUDIO\FUNC_01&VEN_10EC&DEV_0668&SUBSYS_104311CD&REV_1000\4&6BFDCFC&0&0001
[/SIZE]
We then look up these PCI IDs at one of the websites:
pci-ids or pci-database.
There we find that the host physical Audio Codec is a: Realtek ALC668 [10EC:0668]
So if we had a real Hackingtosh, we would have to find or make and
install the AppleHDA.Kext that has been built and tweaked to
correspond to this driver. Here are some relevant links:
http://www.insanelymac.com/forum/files/file/203-applehda-alc662-1092/
http://www.insanelymac.com/forum/files/file/148-109-gm-applehda-for-alc662/
http://www.insanelymac.com/forum/files/file/128-109-dp7-applehda-for-alc662/
http://www.insanelymac.com/forum/files/file/6-applehda-for-alc662/
On the VirtualBox VM (guest):
Boot up or install any minimal OS like Windows, Linux and use the
same method as above, but now running in the VM. As you will see,
the detected hardware will look different. That is basically
how OSX will see it as well.
So to help you along we'll jump ahead and I just show you
what an installed guest OS will see in terms of Audio HW.
I've ignored all other HW, since audio is what causes most
trouble to OSX guests.
On OSX 10.9.4 (Intel HD Audio):
Code:
[SIZE=2]# sudo lspci -m -v
Device: 00.05.0
Device: 82801FB (ICH6) High Definition Audio Controller
SVendor: [B]SigmaTel[/B]
SDevice: Device 7680
# sudo lspci -m -n -vvv
Class: 0403
Vendor: 8086
Device: 2668
SVendor: [B]8384[/B]
SDevice: [B]7680[/B]
[/SIZE]
On Linux Mint (ICH AC97):
Code:
# sudo lspci -b -nn -v
00:05.0 Multimedia audio controller [0401]: Intel Corporation 82801AA AC'97 Audio Controller [8086:2415] (rev 01)
Subsystem: Intel Corporation Device [8086:0000]
Flags: bus master, medium devsel, latency 64, IRQ 11
I/O ports at d100
I/O ports at d200
Kernel driver in use: snd_intel8x0
On Linux Mint (Intel HD Audio):
Code:
[SIZE=2]00:05.0 Audio device [0403]: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller [8086:2668] (rev 01)
Subsystem: SigmaTel Device [[COLOR=Red][B]8384:7680[/B][/COLOR]]
Flags: bus master, fast devsel, latency 64, IRQ 11
Memory at f0804000 (32-bit, non-prefetchable)
Capabilities: [50] Power Management version 2
Kernel driver in use: snd_hda_intel[/SIZE]
On Windows 7 (Intel HD Audio):
Code:
[SIZE=2]Audio Controller Hardware ID: PCI\VEN_8086&DEV_2668&SUBSYS_[B]76808384[/B]&REV_01
Audio Codec Hardware ID: HDAUDIO\FUNC_04&VEN_0000&DEV_0000&SUBSYS_00000000[/SIZE]
Clearly the guest driver presented is a SigmaTel with PCI ID: 8384:7680.
Further research reveals it is based on a: SigmaTel STAC9221 [8384:7680]
Thus, for any audio success on running OSX on a VirtualBox VM, we need
to find a Kernel Extension (Kext) that is compatible with this driver.
The best way is to find a tweaked AppleHD.Kext to match this driver.
HOWEVER! Lo-and-behold! The Realtek (!) linux sources seem to suggest
that this driver is used in several Macs:
From: ..\alsa\alsa-kernel\pci\hda\patch_sigmatel.c:
Code:
[SIZE=2]
/* Apple Intel Mac (Mac Mini, MacBook, MacBook Pro...) */
SND_PCI_QUIRK(0x8384, 0x7680, "Mac", STAC_INTEL_MAC_AUTO),
...
/* codec SSIDs for Intel Mac sharing the same PCI SSID 8384:7680 */
static const struct snd_pci_quirk stac922x_intel_mac_fixup_tbl[] = {
SND_PCI_QUIRK(0x106b, 0x0800, "Mac", STAC_INTEL_MAC_V1),
SND_PCI_QUIRK(0x106b, 0x0600, "Mac", STAC_INTEL_MAC_V2),
SND_PCI_QUIRK(0x106b, 0x0700, "Mac", STAC_INTEL_MAC_V2),
SND_PCI_QUIRK(0x106b, 0x0e00, "Mac", STAC_INTEL_MAC_V3),
SND_PCI_QUIRK(0x106b, 0x0f00, "Mac", STAC_INTEL_MAC_V3),
SND_PCI_QUIRK(0x106b, 0x1600, "Mac", STAC_INTEL_MAC_V3),
SND_PCI_QUIRK(0x106b, 0x1700, "Mac", STAC_INTEL_MAC_V3),
SND_PCI_QUIRK(0x106b, 0x0200, "Mac", STAC_INTEL_MAC_V3),
SND_PCI_QUIRK(0x106b, 0x1e00, "Mac", STAC_INTEL_MAC_V3),
SND_PCI_QUIRK(0x106b, 0x1a00, "Mac", STAC_INTEL_MAC_V4),
SND_PCI_QUIRK(0x106b, 0x0a00, "Mac", STAC_INTEL_MAC_V5),
SND_PCI_QUIRK(0x106b, 0x2200, "Mac", STAC_INTEL_MAC_V5),
{}
};
...
{ .id = 0x83847680, .name = "STAC9221 A1", .patch = patch_stac922x },[/SIZE]
So when you first boot and install your Niresh Mavericks, you should
probably leave out any Audio related hacks, and certainly avoid
installing the VooDooHDA related Kext. It's possible (and I didn't
bother to check) that audio would then work out-of-the-box as well.
Finding a suitable "distro"
Next, you need to find and download a suitable ISO version of the
OSX Mavericks Installation disk. Apple uses the DMG format to
distribute all their installation "Disks". So to avoid having to
mess with the conversion of a 3.5+ GB DMG image to ISO, we just
try to find a torrent of one already made. But because of the
inherent complications of booting and setting up your own
"Hackingtosh" from a vanilla (original) Apple disk, we prefer to
use one that come as a distribution ("distro") which is more
flexible and much more likely to install from first try. And
usually have some sort of support forum connected to it.
One such distro is that from Niresh. We will use that one.
It is important to mention that, today Apple OS X Maverick is free
of charge for download and use, but you need an OSX based computer,
in order to get it from the Apple Store. And if you're willing to
jump through the Apple hoops, you can also get the latest
OSX Yosemite (10.10.0) and try that. But you need to signup
to the Apple Store with a credit card! So I just used my untraceable
NSA credit card to signup. It has a picture of Obama and the Logo of
Google on it. In the states you can usually find those in the bottom
of some randomly selected Kellogg's Corn-Flakes Packages.
2. Installing the Niresh OS X Mavericks distro
Fortunately all this hard work has already been described in great
detail on the MacBreaker website in:
"How to install OS X Mavericks in Virtualbox with Niresh"
However, before you go there and rush through the instructions, please
listen to this first. If you're a smart-ass who think you can outsmart
the apple bootloaders and the many precise VirtualBox settings needed
to boot OSX, you are very likely to fail and will have serious booting
trouble and subsequent OSX driver issues. And as with all Apple products,
if you're not an expert yourself, nobody will/can help you, especially
since Googling any OSX related installation issues will give you millions
of hits.
So take good time to read every step in those instructions and carefully
examine all the screenshots to know exactly how you have to setup and
tune your VirtualBox VM to your device. I will provide some additional
pictures on a few things I found working for my setup.
You need to signup (or find a torrent) to download the file:
"Niresh Mac OS X Mavericks 10.9 with AMD & Intel USB"
This OSX distribution works on both Intel and AMD based machines, and
can be run on native Hackingtoshes, VirtualBox and VMware machines.Very Important Note:
OSX Mavericks is now free from the Apple Store, so if you are looking for the latest update, or original distribution, don't try to use this. This is a distribution that is made to be run on Hackingtoshes or VMs. It is not up-to-date nor maintained in any way. That's why it is in ISO format and not in native Apple DMG. If you already know you want to use VMware, then perhaps you're better off trying to use the VMware Mavericks Image.
Google for: "OS_X_Mavericks_10.9_Retail_VMware_Image"​
Converting a DMG to ISO:
If you want to convert a DMG to ISO from within OSX run the following,
in an OSX Terminal:
Code:
[SIZE=2]cd Desktop
sudo hdiutil convert ./InstallESD.dmg -format UDTO -o InstallESD
mv InstallESD.cdr InstallESD.iso[/SIZE]
or:
Code:
[SIZE=2]sudo hdiutil makehybrid -iso -joliet -hfs -o OSXMavericks.iso OSXMavericks.dmg[/SIZE]
I found the following "script" on the web. It is used to convert a Yosemite
DMG image to ISO. But it doesn't look like a real script, so probably it should
be entered one item at the time. (Also, I can't find the original author. So if you are, just let me know an I'll give you credit for it.)
Code:
[SIZE=2]# ==============================================================
# 10.10 How to make an ISO from the Install.app
# ==============================================================
# Mount the installer image. It assumes that the installation app is called "Install OS X Yosemite.app"
# located in your "Applications" folder. If not, change the first command accordingly.
hdiutil attach /Applications/Install\ OS\ X\ Yosemite.app/Contents/SharedSupport/InstallESD.dmg -noverify -nobrowse -mountpoint /Volumes/install_app
# Convert the boot image to a sparse bundle
hdiutil convert /Volumes/install_app/BaseSystem.dmg -format UDSP -o /tmp/Yosemite
# Increase the sparse bundle capacity to 8GB to accommodate the packages
hdiutil resize -size 8g /tmp/Yosemite.sparseimage
# Mount the sparse bundle for package addition
hdiutil attach /tmp/Yosemite.sparseimage -noverify -nobrowse -mountpoint /Volumes/install_build
# Remove Package link and replace with actual files
rm /Volumes/install_build/System/Installation/Packages
cp -rp /Volumes/install_app/Packages /Volumes/install_build/System/Installation/
cp -rp /Volumes/install_app/BaseSystem.* /Volumes/install_build/
# Unmount the installer image
hdiutil detach /Volumes/install_app
# Unmount the sparse bundle
hdiutil detach /Volumes/install_build
# Resize the partition in the sparse bundle to remove any free space
hdiutil resize -size `hdiutil resize -limits /tmp/Yosemite.sparseimage | tail -n 1 | awk '{ print $1 }'`b /tmp/Yosemite.sparseimage
# Convert the sparse bundle to ISO/CD master
hdiutil convert /tmp/Yosemite.sparseimage -format UDTO -o /tmp/Yosemite
# Remove the sparse bundle
rm /tmp/Yosemite.sparseimage
# Rename the ISO and move it to the desktop
mv /tmp/Yosemite.cdr ~/Desktop/Yosemite.iso
[/SIZE]
VirtualBox Installation Instructions:
Follow the MacBreaker installation instructions EXACTLY. When
installing on a Haswell based PC host, you MUST run the VBoxManage
commands to make your VM think it has an older/supported processor.
Before trying this, or if you get an error, make sure:
That your Windows system PATH contains both your Windows home directory and the VirtualBox
program directory:
a) "%HOMEDRIVE%%HOMEPATH%;" and
b) "C:\Program Files\Oracle\Virtualbox"
.
That after creating your OSX VM, that you close VirtualBox and restart it, in order to make all
the new settings take effect and get registered in the *.vbox file, used by VBoxManage.exe.
The location of the *.vobx settings file is the same as where you have the VB images.
(This used to be VirtualBox.xml in VB < 4.0.)
To test, open a CMD or Cygwin shell as administrator and run:
Code:
VBoxManage.exe list hostcpuids
...
If it works without any error, go on and change the CPU ID of the VM where you're installing OSX with:
Code:
[SIZE=2]VBoxManage.exe modifyvm "name_of_your_vm" --cpuidset 00000001 000306a9 00020800 80000201 178bfbff[/SIZE]
(Technically you're entering: [--cpuidset <leaf> <eax> <ebx> <ecx> <edx>].)
If you're having trouble, you can also edit <name_of_your_vm>.vbox file
directly, by adding/removing the following lines:
Code:
[SIZE=2] <CpuIdTree>
<CpuIdLeaf id="1" eax="1787" ebx="2048" ecx="2147484169" edx="126614527"/>
</CpuIdTree>
[/SIZE]
(As you can see these are the same values in Dec as those in Hex above.)
When successful, restart VirtualBox to make sure your changes has
taken effect. After starting the properly setup OSX VM on a Haswell
machine, the only bootflag you may want is: "-v" for verbose bootup.
3. Install the Official Apple OS X Mavericks (10.9.4) Update Combo
Go into the OSX control panel and disable automatic updates. Then go to Apple Store and
download the latest Mavericks Combo Update. Updating should not change any of your
working settings, but to be safe, make a snapshot before doing this. Once downloaded,
just open and run the update. Installation will take a while.
4. Post installation instructions
So now that you got your basic OSX system running, the first thing to
do is to make a VirtualBox Snapshot, so that you can revert to this
point in case any of the subsequent procedures fails or mess up your
working system.
Once you are up and running with your virtual OS X machine you need to
do a couple of housekeeping tasks to ensure your virtual machine does
not freeze. Firstly go to "System Preferences" and select "Energy Saver"
and set "Computer sleep:" and "Display sleep:" to Never and also uncheck
"Put hard disks to sleep when possible", "Wake for Ethernet network
access" and "Allow power button to put the computer to sleep". In
"Desktop & Screen Saver" set "Screen Saver" to "Start after:" Never.
Then there are 3 things everyone have to have:
Shared folders between the host and guest OS.
Shared clip-board data, so that you can copy/paste between host and guest OS.
Change the default Display size
Since the VirtualBox maffia refuse to release the Guest Additions (GA)
for OSX, we have to work around these issues. Or if you are a brave OSX
developer, you can try to patch and compile the GA from their sources
and if you're successful, don't forget to share and give us a way to
send you some gold donations.
Folder Sharing
Folder sharing is most easily accomplished by setting up a network
share between host and guest OS. There are many ways and variations
on how to do this. But what most instructions miss, is that you would
probably like to keep your host more secure than your guest. This
means that the guest should be configured as the server and the
host as a client. (Which is contrary to most simpler instructions.)
So here are 3 easy ways to accomplish this.
1. Use Windows 8.1 and OSX internal file sharing capabilities.
2. Use Dropbox to share a folder and enable LANsync to make it fast.
3. Use one of the 3rd party tools below.
Of these, I prefer to use something where I don't need to depend on
an internet connection and having to sign up with any new services.
The easiest way I found to accomplish folder sharing using method (1)
was to use Windows 8.1 built in NFS functionality. To use this, you
need to enable NFS sharing of a folder in your OSX VM and then mount
this folder in your W81 host.
Setup OSX NFS (guest):
(Thanks to linoceros post at FreeBSD.org forums.)
(a) Check your network conection with 'ifconfig" and note your IP
on the local network. (I use a bridged-ethernet interface.)
(b) Read the OSX man pages for "export".
"The -alldirs flag allows the host(s) to mount at any point
within the file system, including regular files if the '-R'
option is used on nfsd."
Click to expand...
Click to collapse
(c) Find the UID and GID of the OSX user you are using.
Code:
[SIZE=2]$ id
uid=501(eva) gid=20(staff) groups=20(staff),
...
[/SIZE]
(d) Edit the file: /etc/exports (usually not present.)
In this file, the syntax is basically:
<shared folder> <options> <client IP>
$ sudo vi /etc/exports
Code:
[SIZE=2]/Users/eva/Desktop/winshare -mapall=501:20 -alldirs 127.0.0.1[/SIZE]
(You may need to change this for more security...)
(e) Edit the file: /etc/nfs.conf (usually already present.) And add the following line:
$ sudo vi /etc/nfs.conf
Code:
[SIZE=2]...
nfs.server.mount.require_resv_port = 0[/SIZE]
(f) Then let NFS know you've made a change by running:
$ nfsd update
Setup on Win8.1 (host):
(g) Now go to your Windows host and in "This PC" (or equivalent)
left-click and select "Add a network location". You will be asked to
provide a an "internet or network location". There you simply write
the IP you noted in step (a) and the "shared" folder you selected
in step (d). Written in windows notation as:
\\192.168.1.102\Users\eva\Desktop\winshare\
NOTE: Do not try to "edit" the files in the share. The behavior is a
bit unpredictable, so it's better to copy to another location and
then back again after edit. Not sure at the moment why that is...
Clip-board sharing
To keep things simple we should limit ourselves and be satified
with copy/paste operations. Just like before, here there are many
variations on KMS (Keyboard-Mouse-Screen) sharing solutions from
3rd parties. Even Apple themselves has a lame solution called
"Back To My Mac" that require you to sign up to, and use iCloud
before being able to have all your stuff snatched up by Apples
NSA employees. Here are the links.
[1] "How to set up Back To My Mac..."
[2] "Set up and use Back to My Mac"
[3] "Set up security options for Back to My Mac"
BUT No thanks! Let's find another solution.
So what we need, is a way to only share the clipboard data over
the local network. We don't need mouse sharing as all that already
works great in VB, unfortunately its not so easy to find something
with only clipboard sharing. So we choose the most easy one, which
means the one with best instructions, and that is ShareMouse.
The most popular and free ones are:
Code:
[SIZE=2][URL="http://www.keyboard-and-mouse-sharing.com/index.html"]ShareMouse[/URL] (cross-platform mouse-keyboard-file share)
[URL="http://synergy-project.org/"]Synergy[/URL] (cross-platform mouse-keyboard-file share)
[URL="https://github.com/coralw/share-clipboard"]ShareClipboard[/URL] ([URL="http://nodejs.org/"]Node.js[/URL] based OSX/WIN clipboard sharing)
[/SIZE]
Other solutions to consider.
Code:
Ducto R6 (cross device file/clipboard share) http://www.msec.it/dukto/
IP.SHARE (web based file/clipboard share) http://www.ipshare.net/
ClipboardSync (Google Chrome Clipboard Sync) [instructions] https://github.com/mihaip/clipboard-sync
Installation of ShareClipboard:
ShareClipboard depend on the Node.js API which can be downlaoded and
installed from HERE. It's available for all platforms and need to be
installed on each VM. One done, it is easy to starts the clip-board
sharing. There are two ways to use this:
1. Use as client-to-client sharing.
2. Use a server to act as a redirector, broadcasting the clipboard
text from a ShareClipboard client to the other ones, while the
server clipboard is left untouched.
To use ShareClipboard with Clients only (1):
Code:
[SIZE=2]a) Install the copy-paste module with the Node Package Manager*:
npm install copy-paste
b) Open a terminal and run the script with one of the following:
node share-clipboard.js
node share-clipboard.js <IP_ADDRESS>
c) If you haven't specified the IP address in the previous step,
connect other Share Clipboard (or Share Clip) instances to
this instance .
d) Now you can copy among the Share Clipboard clients.
[/SIZE]
To use your host as the ShareClipboard Server (1):
Code:
a) Open a terminal and run the script with:
node share-clipboard-server.js
b) Connect the ShareClipboard clients to the server IP.
c) Now you can copy among the Share Clipboard clients.
* Reagrdless of the BS written on their FAQ, "npm" IS a Node package manager.
Changing Display size
To change the default video/display size, from 1280x1024 (or 1024x768)
to 1920x1080, you need to edit the OSX bootloader plist.
1. Use Finder to open the file: /Extra/org.chameleon.Boot.plist
in Editor or use Terminal App in shell with:
Code:
sudo vi /Extra/org.chameleon.Boot.plist
2. Then between the <dict> and </dict> tags, in the file, insert the
following lines:
Code:
[SIZE=2] <key>Graphics Mode</key>
<string>1920x1080x32</string>
[/SIZE]
3. Save and shutdown VM, but keep VirtualBox open.
4. Similarly as above, open an administrative CMD/Cygwin shell and issue the command:
Code:
[SIZE=2]vboxmanage setextradata "name_of_your_vm" "CustomVideoMode1" "1920x1080x32"[/SIZE]
5. Restart VirtualBox.
PS. I found 1600x900x32 in non-scaled mode, more useful on this Laptop.
Additional Enhancements and Fixes
To remove window flickering in Safari, remove the zero byte file:
/Library/Preferences/com.apple.windowserver.plist
Good Luck!
< Let there be even more dragons>
I have installed OSX Mavericks 10.9 using VMware Workstation.
my first intention was to install OS X 10.9 on an external HDD and boot it from there instead of "virtual", but couldnt find answers.
I have intel , BTW.
Booting Yosemite (10.10.x) Public Beta 2 in VirtualBox
Just for the hell of it, I decided I wanted to run the latest Yosemite Public Beta 2 in a VirtualBox VM under Windows 8.1. After all sorts of trouble, I finally learned that Yosemite has implemented more compatibility changes that blocks older Apple hardware from using it. So the way to work around is to hack your VM in such a way that it acts like recent Apple HW. Fortunately, VirtualBox is very flexible in this area, but very poorly documented and extremely poorly supported, as Oracle (VirtualBox) forum have decided to avoid any forms of Apple litigation's, by simply banning any questions related to running OSX on any HW not from Apple.
So here I will present the simple steps to get Yosemite to run on a recent (Intel) Haswell-based Windows 8.1 host. There are two ways to do this.
Use another Mac/Hackingtosh to download the latest Public Beta (PB) or Developer Preview (DP) from Apples Developer/Beta site. You need to sign up and so on. Then run script to convert into DMG format.
Download an already made bootable Yosemite Public Beta in DMG format from some torrent site.
Once you have obtained (1) or (2) you're ready to install your Yosemite VM.
Do the following:
For Option 1
<TBA>
For Option 2
First download your Yosemite Public Beta in bootable DMG format from your favorite torrent site. In my case it was called YB2VB.dmg. Then create your new VirtualBox VM according to:
Code:
- Create a VM disk with > 40 GiB
- Under [I]General > Basic:Version[/I], use "Mac OS X (64bit)"
- Under [I]System > Motherboard[/I]
: [I]Base Memory,[/I] select 6 GiB VM RAM
: [I]Chipset[/I], use PCIIX
: [I]Extended Features[/I], select all to use EFI, ACPI, and UTC
- Under [I]System > Processor[/I], select only 1 CPU
- Under [I]System > Acceleration: Hardware Virtualization[/I], select all.
- Under [I]Display > Video:Video Memory[/I], use 128 MB, and do [B]not[/B] select any Extended Features (2D/3D)
- Under [I]Storage > Storage Tree[/I], select the "Empty" (CD icon) and go to:
"CD/DVD Drive" selector and click on the right-most CD icon for a
drop-down menu. On that menu, browse to and select your [B]*.dmg[/B]
image you downloaded above. Also select the "Live CD/DVD" option.
- Save and close VirtualBox.
Next you need to tune VB to impersonate some recent Apple HW.
First re-start VirtualBox. Once started, run an administrative command shell and run these:
Code:
VBoxManage.exe modifyvm "YourVMname" --cpuidset 00000001 000306a9 04100800 7fbae3ff bfebfbff
VBoxManage setextradata "YourVMname" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "MacBookPro11,3"
VBoxManage setextradata "YourVMname" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"
VBoxManage setextradata "YourVMname" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "IHateApple"
VBoxManage setextradata "YourVMname" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
VBoxManage setextradata "YourVMname" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1
Close VB for changes to take proper effect. Restart and start you VM.
Be very patient, and after some error messages your OSX should bootup
to start the setup process.
Formatting the (new) VM disk/parition
Once the boot process start loading, you'll have to select language and then the boot disk to use. But since you don't have a boot disk, but only the mounted CD-ROM (DMG) image, you'll have to go into Disk Utility and format the VM disk partition and give it a name like this.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
and
Now you can exit DIsk Utility and continue installing by selecting your new disk...
Once installation is finished, the system will reboot and you will be asked a few setup questions. After that the following assistant will aks you signup. Forget it by force closing it.
Then you can run the System Information App to find what you got:
and the Terminal App to see what kernel you're using:
You can now Google yourself senseless to tweak your new OSX to all the requirements you need. Keep an eye on the Mavericks post above as a guide or reference. However, before doing so, you may want to download and install the latest updates and the latest Beta, which is Beta 3 (at the time of this writing.)
Good Luck!
VGA
does anyone know any kext i can use for virtualbox VGA ? The graphics performance on the OS X VM is too low.
renatofdds said:
does anyone know any kext i can use for virtualbox VGA ? The graphics performance on the OS X VM is too low.
Click to expand...
Click to collapse
What do you mean "too slow". Works just fine for me. Maybe you have a slow PC and not enough RAM allocated for you VM. If you wanna find the driver used, look in the drivers detected on any VM guest OS, like linux or windows.
E:V:A said:
What do you mean "too slow". Works just fine for me. Maybe you have a slow PC and not enough RAM allocated for you VM. If you wanna find the driver used, look in the drivers detected on any VM guest OS, like linux or windows.
Click to expand...
Click to collapse
The 3D performance of the generic driver (VESA) uses a software rasterizer wich is too low on performance. I have assigned 8GB of RAM and 4 cores to the VM, on an i7 Haswell, its not insufficient hardware.
Try executing launchpad and you will know what i'm talking about.
@renatofdds Unfortunately I don't think a kext could fix that problem. It seem to be either a poor video driver from Oracle, or wrong cpuid settings, that doesn't allow for native correct 3D graphics on the processor. (I have the same setup as you.) So my best bet is that you head over to the Virtualbox support forum at Oracle, and look under "OSX" guest on "OSX" hosts. And see how they do it, or ask for help there. (They don't allow for OSX guests on Win hosts.)
E:V:A said:
@renatofdds Unfortunately I don't think a kext could fix that problem. It seem to be either a poor video driver from Oracle, or wrong cpuid settings, that doesn't allow for native correct 3D graphics on the processor. (I have the same setup as you.) So my best bet is that you head over to the Virtualbox support forum at Oracle, and look under "OSX" guest on "OSX" hosts. And see how they do it, or ask for help there. (They don't allow for OSX guests on Win hosts.)
Click to expand...
Click to collapse
OK man, tks for the suggestion.

Fire TV 2 - Ubuntu (Headless) Install Guide

This guide is intend to help you with "installing" Ubuntu 14.04 (12.04 also works) on the Amazon Fire TV 2 after @rbox recovery has been setup. Only headless mode is possible, similar to Ubuntu Server, but it still makes a nice little ARMv8 development box. Starting X.org or running systemd based Linux distributions will likely never be possible due to features missing from the Amazon kernel. Creative use of the framebuffer is possible if desired, maybe eventually a terminal emulator could be started. As long as you don't mount and modify mmcblk0pX there should be no possible way to mess up Android or brick the device. It's 100% reversible by just removing the SD card. You accept all responsibility for what you do with this work should something go wrong and the device becomes inoperable. With disclaimers and precursor knowledge out of the way let's get started.
To follow this guide you will need:
A micro SD card (2 GB+ recommended)
A Linux system
To login into Ubuntu you will need either:
A 1.8 V TTY USB serial device connected to the UART
A pair of USB serial devices and a null modem cable
I actually used a pair of Xbee's for testing the ttyUSB0 stuff, so hence a pair of FTDI chips would also work.
Preparing the SD Card
To get started you need to first partition the micro SD card:
Type = MBR
Part 1 = 100 MB, Fat32 (vfat)
Part 2 = Remainder, Ext4
Extract the attached zip file to the root of the first partition (extracted filename must be "ramdisk-recovery.cpio.lzma"). This is an alternative initramfs that simply uses busybox to clean up from the partial Android boot and prepare the filesystem for regular Linux. Extract an Ubuntu core root filesystem archive, ubuntu-core-14.04.4-core-arm64.tar.gz, to the root of the second partition as the root user (to preserve ownership/permissions). Make sure you sync or eject the device when done with this work so the data gets flushed to the SD card.
Now we need to make a few changes to the root filesystem to avoid usability issues and allow logins.
Replace /etc/fstab with the following contents to correct some mount options. This "disables" SELinux which fixes dpkg errors and some other login annoyances.
Code:
/dev/mmcblk1p2 / ext4 defaults,relatime 0 0
selinuxfs /sys/fs/selinux selinuxfs ro,relatime 0 0
Replace /etc/init/console.conf with the following contents to allow logins from the UART. Once the root password has been set (root is disabled by default) you can remove "-a root" if desired.
Code:
# console - getty
#
# This service maintains a getty on console from the point the system is
# started until it is shut down again.
start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]
respawn
exec /sbin/getty -s -a root console
Create /etc/init/ttyUSB0.conf with the following contents to allow logins from an attached USB serial device. This should help people who don't want to take apart their device to solder wires onto the UART test points. SSH would of course be an alternative but it's not installed by default in Ubuntu core and this guide is about the building blocks not providing pre-made images (yet). Since udev doesn't work due to devtmpfs not being enabled in the kernel you will need to attach the USB serial device before booting for this to work. As before you can remove "-a root" later if desired once the root password is set. Also you should change the baud rate if needed.
Code:
start on (tty-device-added ttyUSB0)
stop on (runlevel [!2345] or tty-device-removed ttyUSB0)
respawn
exec /sbin/getty -L -a root 115200 ttyUSB0 vt102
Preparing the Fire TV
Until the search order for the initramfs file is changed by @rbox you will need to rename the initramfs on the system partition so it will continue to search for one on the SD card or USB stick. You need to connect to the device using adb either over USB or the network to execute the following commands.
Code:
adb$ su
adb# mount -o remount,rw /system
adb# mv /system/recovery/ramdisk-recovery.cpio.lzma /system/recovery/ramdisk-recovery.cpio.lzma.bak
adb# mount -o remount,ro /system
Right now this prevents "su" from working, which should be fixed by @rbox in due time. To get "su" working again you should extract the original recovery initramfs file to a USB stick and boot the device with that USB stick inserted instead of the previously created SD card. Then to restore "su" you can repeat the above steps just swapping the order of the files in the "mv" command.
Booting Ubuntu
After connecting your serial device of choice simply insert the SD card and power on the device. It's that easy! With luck you should get a shell prompt that is already logged in as root. It's a good idea to set the root password before going much further. The device isn't too useful without networking, so you can install more packages. To solve that connect an ethernet cable (since it's simpler) and type "dhclient eth0" to get online. At this point you can install openssh-server using apt-get or do anything else you'd normally do on an Ubuntu VM or headless Ubuntu system. I'm interested in hearing what people plan to do with a more-or-less high-end ARM development system.
Tips and Tricks
NOTE: These changes, unless otherwise noted, are performed while logged into the target Ubuntu system.
Setting the Hostname
You can change the hostname using the following command:
Code:
echo sloane > /etc/hostname
You should also create a simple /etc/hosts file that matches the chosen hostname.
Code:
127.0.0.1 localhost
127.0.1.1 sloane
Enable Ethernet at Boot
Create the file /etc/network/interfaces.d/eth0 with the following contents:
Code:
auto eth0
iface eth0 inet dhcp
Allow Users Network Access
Since we are stuck running an Android kernel you need to create the following group and add users who need network access (such as ping) to this special group.
Code:
groupadd -g 3003 aid_inet
usermod -G aid_inet -a root
usermod -G aid_inet -a <username>
Removing Failed Services
There are a few services that fail to start due to hardware limitations. We should just prevent them from starting in the first place. We have no VT support enabled in the kernel (boo) so we can just remove the ttyX login prompt services. Also the console setup doesn't work since our console is a serial device not a virtual terminal or other "graphical" type terminal emulator.
Code:
rm /etc/init/tty?.conf
echo manual > /etc/init/console-font.override
echo manual > /etc/init/console-setup.override
Fix /dev Hotplug
As stated before udev doesn't work due to missing kernel features. The busybox applet mdev is a simple replacement for most users. After installing the "busybox-static" package run the following command:
Code:
ln -s /bin/busybox /sbin/mdev
Now add the following line to /etc/rc.local before "exit 0".
Code:
echo /sbin/mdev > /proc/sys/kernel/hotplug
Pre-installing SSH
See: http://forum.xda-developers.com/showpost.php?p=65595013&postcount=13 (thanks @segfault1978)
Thanks a lot, that was exactly the thing I was searching for. Since before today the Raspi3 came out, this box is the cheapest ARMv8 development machine available. With your instruction I was able to login via SSH and install all required software for my development environment. No GUI needed for that, I'm doing all remotely via SSH. Again, thank you!
segfault1978 said:
Thanks a lot, that was exactly the thing I was searching for. Since before today the Raspi3 came out, this box is the cheapest ARMv8 development machine available. With your instruction I was able to login via SSH and install all required software for my development environment. No GUI needed for that, I'm doing all remotely via SSH. Again, thank you!
Click to expand...
Click to collapse
Awesome to hear that it worked for you. Just curious if you went the USB serial route or soldered to the UART pins.
There is also the Dragonboard 410c which is a quad core A53 but has a bit more than the raspberry pi. The price is higher though but it has been out probably a year or so. Just FYI. The raspberry pi 3 is a good deal.
zeroepoch said:
Awesome to hear that it worked for you. Just curious if you went the USB serial route or soldered to the UART pins.
Click to expand...
Click to collapse
None of these methods (since I was in my weekend and all cables and adapters reside in my office)
I placed all .deb-files for openssh-server including all requiremens onto the microSD card, and placed a call "dpkg -i /*.deb" with logging options in /etc/rc.local. I also configured network by mounting the sd card, editing /etc/network/interfaces, and last changed /etc/shadow to have a valid root account for login. It took my some try-and-error loops, but finally it worked as expected. Call me crazy, but I succeeded without any hardware.
---------- Post added at 09:09 PM ---------- Previous post was at 09:03 PM ----------
zeroepoch said:
There is also the Dragonboard 410c which is a quad core A53 but has a bit more than the raspberry pi. The price is higher though but it has been out probably a year or so. Just FYI. The raspberry pi 3 is a good deal.
Click to expand...
Click to collapse
Thank you for the hint, I'll have a look for the availability of this board in germany.
I'm facing a memory problem, resulting in a reboot of the device when all RAM is being used. My compile session takes more than 1.x GB of RAM for the quite complex compilation of all required packages. I can reproduce the situation where all memory is consumed and the device instantly reboots when hitting "no memory left" situation. Since "swapon" is not supported by the kernel (really?): is there any way to enable swap functionality, i.e. via a kernel module? How to overcome this situation where more memory is needed?
segfault1978 said:
None of these methods (since I was in my weekend and all cables and adapters reside in my office)
I placed all .deb-files for openssh-server including all requiremens onto the microSD card, and placed a call "dpkg -i /*.deb" with logging options in /etc/rc.local. I also configured network by mounting the sd card, editing /etc/network/interfaces, and last changed /etc/shadow to have a valid root account for login. It took my some try-and-error loops, but finally it worked as expected. Call me crazy, but I succeeded without any hardware.
Click to expand...
Click to collapse
That is pretty crazy, but since you knew the changes required it worked Not everyone I expected to have such experience. I figured someone might even try to do a qemu chroot or debbootstrap to preinstall openssh. Multiple ways to solve the same problem I guess.
segfault1978 said:
I'm facing a memory problem, resulting in a reboot of the device when all RAM is being used. My compile session takes more than 1.x GB of RAM for the quite complex compilation of all required packages. I can reproduce the situation where all memory is consumed and the device instantly reboots when hitting "no memory left" situation. Since "swapon" is not supported by the kernel (really?): is there any way to enable swap functionality, i.e. via a kernel module? How to overcome this situation where more memory is needed?
Click to expand...
Click to collapse
Looking at the default kernel config from the source code drop from Amazon I see:
Code:
# CONFIG_SWAP is not set
Swap can not be compiled as a module. Even if you chose to use a USB stick or something as the swap device It wouldn't work. Given that we can't change the kernel we can't try stuff like zram or zswap either. The only other suggestion I might have is if you're using "-j4" or something while compiling just remove that so it does a single threaded compile. I'm sure you already tried that. Beyond that you could look at using the Linaro AArch64 toolchain and cross compile. Since we're running Ubuntu you shouldn't need to worry about static binaries.
zeroepoch said:
Looking at the default kernel config from the source code drop from Amazon I see:
Code:
# CONFIG_SWAP is not set
Swap can not be compiled as a module. Even if you chose to use a USB stick or something as the swap device It wouldn't work. Given that we can't change the kernel we can't try stuff like zram or zswap either. The only other suggestion I might have is if you're using "-j4" or something while compiling just remove that so it does a single threaded compile. I'm sure you already tried that. Beyond that you could look at using the Linaro AArch64 toolchain and cross compile. Since we're running Ubuntu you shouldn't need to worry about static binaries.
Click to expand...
Click to collapse
Unfortunately, I'm not compiling with parallel processes (I'm compilig Icinga2 for arm64), I'm running
Code:
dpkg-buildpackage -us -uc
within the source package. One single cpp call consumes so much memory (which is crazy in my eyes, never seen such a big compiler process until today), so I'll investigate the option of cross compiling and afterwards creating the deb file outside of the machine.
Code:
cd /root/icinga2-2.4.3/obj-aarch64-linux-gnu/lib/base && /usr/bin/aarch64-linux-gnu-g++ -DI2_BASE_BUILD -Doverride="" -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g -pthread -std=c++11 -Wno-inconsistent-missing-override -fPIC -I/root/icinga2-2.4.3 -I/root/icinga2-2.4.3/lib -I/root/icinga2-2.4.3/obj-aarch64-linux-gnu -I/root/icinga2-2.4.3/obj-aarch64-linux-gnu/lib -I/root/icinga2-2.4.3/third-party/execvpe -I/root/icinga2-2.4.3/third-party/mmatch -I/root/icinga2-2.4.3/third-party/socketpair -o CMakeFiles/base.dir/base_unity.cpp.o -c /root/icinga2-2.4.3/obj-aarch64-linux-gnu/lib/base/base_unity.cpp
I'm a novice in android devices: What would be required to use a custom kernel? A hacked boot loader, which is not available for the AFTV2?
segfault1978 said:
I'm a novice in android devices: What would be required to use a custom kernel? A hacked boot loader, which is not available for the AFTV2?
Click to expand...
Click to collapse
Yep... we need to be able to use fastboot to boot an unsigned kernel and initramfs (boot.img). I tried at one point to overwrite the boot partition with own image and it failed to boot. Since I had the preloader stuff worked out already I was able to restore the original boot image and get it working again.
On a side note, if you don't mind could you post the list of packages needed to install SSH server from rc.local? Others might find that useful. To get around the unset password issue you could have also saved a public key in /root/.ssh/authorized_keys which would also avoid you needing to change /etc/ssh/sshd_config to allow password logins as root.
segfault1978 said:
within the source package. One single cpp call consumes so much memory (which is crazy in my eyes, never seen such a big compiler process until today), so I'll investigate the option of cross compiling and afterwards creating the deb file outside of the machine.
Code:
cd /root/icinga2-2.4.3/obj-aarch64-linux-gnu/lib/base && /usr/bin/aarch64-linux-gnu-g++ -DI2_BASE_BUILD -Doverride="" -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g -pthread -std=c++11 -Wno-inconsistent-missing-override -fPIC -I/root/icinga2-2.4.3 -I/root/icinga2-2.4.3/lib -I/root/icinga2-2.4.3/obj-aarch64-linux-gnu -I/root/icinga2-2.4.3/obj-aarch64-linux-gnu/lib -I/root/icinga2-2.4.3/third-party/execvpe -I/root/icinga2-2.4.3/third-party/mmatch -I/root/icinga2-2.4.3/third-party/socketpair -o CMakeFiles/base.dir/base_unity.cpp.o -c /root/icinga2-2.4.3/obj-aarch64-linux-gnu/lib/base/base_unity.cpp
Click to expand...
Click to collapse
I see you are not using -pipe which is good, but a quick search suggested something that might not be simple since this package has it's own build system but changing from -O2 to -O1 might help.
I noticed that Debian has the package available for the same version and already built for arm64.
https://packages.debian.org/sid/icinga2
Maybe you already tried that. You could try going back to jessie which is probably an older version but I think most jessie packages work with Ubuntu 14.04.
zeroepoch said:
Yep... we need to be able to use fastboot to boot an unsigned kernel and initramfs (boot.img). I tried at one point to overwrite the boot partition with own image and it failed to boot. Since I had the preloader stuff worked out already I was able to restore the original boot image and get it working again.
On a side note, if you don't mind could you post the list of packages needed to install SSH server from rc.local? Others might find that useful. To get around the unset password issue you could have also saved a public key in /root/.ssh/authorized_keys which would also avoid you needing to change /etc/ssh/sshd_config to allow password logins as root.
Click to expand...
Click to collapse
This is the list of packages I manually downloaded for ARM64 (unfortunately I used Debian packages which worked first, but leads to a hell situation afterwards when dealing with other dependencies; be sure to use Ubuntu packages in order to avoid problems afterwards):
Code:
busybox_1.22.0
libedit2_3.1
libgssapi-krb5
libk5crypto3
libkeyutils1
libkrb5
libkrb5support0
libwrap0
openssh-client
openssh-server
openssh-sftp-server
This is the piece of calls in /etc/rc.local, right before the exit:
Code:
dpkg --force-all -i /*.deb > /install.log 2>/install.err
echo $? >> /install.log
echo "installation finished" >> /install.log
It took about 1-2 minutes before SSH started to work automatically, you can mount the SD card afterwards in another system in order to check the written logfiles.
Here are some notes for getting wireless working. In addition to the normal OS steps (installing wpasupplicant or wireless-tools and editing /etc/network/interfaces or using wicd) you will need some firmware files from /system (/dev/mmcblk0p13).
Code:
mount -o ro /dev/mmcblk0p13 /mnt
cp -r /mnt/etc/firmware/ /lib/
cp -r /mnt/etc/Wireless /etc/
umount /mnt
segfault1978 said:
None of these methods (since I was in my weekend and all cables and adapters reside in my office)
I placed all .deb-files for openssh-server including all requiremens onto the microSD card, and placed a call "dpkg -i /*.deb" with logging options in /etc/rc.local. I also configured network by mounting the sd card, editing /etc/network/interfaces, and last changed /etc/shadow to have a valid root account for login. It took my some try-and-error loops, but finally it worked as expected. Call me crazy, but I succeeded without any hardware.
Thank you for the the fire tv guide.
Click to expand...
Click to collapse
So, what's the verdict on this? I want to use my firetv 2 as an emby server. Is it worth it trying to get Ubuntu to run?
Sent from my Mi A1 using Tapatalk
mrchrister said:
So, what's the verdict on this? I want to use my firetv 2 as an emby server. Is it worth it trying to get Ubuntu to run?
Click to expand...
Click to collapse
If it has arm64 packages and headless you can give it a try. If you don't like it you can just revert the ramdisk and go back to Android.
Ok sweet, thanks for the reply
Sent from my Mi A1 using Tapatalk
Just curious if anyone's tried running Plex server on this?
I've been looking for a better solution without shelling out $500+ for a dedicated NAS. AFTV is tiny so I could hardwire it and hide it away.
Thanks
I got the same idea. Right now the firetv is still being used as a media streamer but I'm thinking of doing this soon

sent curl command from tasker?

hi, im trying to setup tasker to send a curl command to my raspberry pi.
here is the command:
curl h t t p ://192.168.1.9/scripts/dash.py | python (not allowed to post links yet)
the dash.py is just a simple script to toggle my hue lights and mpd on/off,
it works when i send the command from my ubuntu terminal.
im dont use tasker much, but i found on google that i should use http get/post,
but i dont know how to set this up
hope someone can help me with this
Hi,
To my understanding, the pipe ('|') symbol in the command takes the output of the curl command and sends it as input to Python. So, when you execute the command on your Ubuntu terminal, it downloads the dash.py script from 192.168.1.9 (Raspberry Pi, I assume?) and executes it using Python on your Ubuntu terminal, as far as I know.
You can use Tasker's HTTP Get to download the dash.py script to your phone, and then you would need to use Scripting Layer for Android (SL4A) with Python for Android to execute the dash.py script on your phone. If the dash.py script has a lot of dependencies (Modules), this probably won't work. If the dash.py script doesn't change, you don't have to download it each time, so you can just keep the dash.py file on your phone.
However, this is not very elegant, as the script is executed on your phone each time. Alternatively, you could execute dash.py on your Raspberry Pi, possibly triggered from your phone using Tasker and AutoRemote (h t t p s://youtu.be/1F8XvdrrdIE), for example.
Anyway, here's how to download dash.py to your phone and execute it on your phone:
(This involves installing APKs from unknown sources, so that's your own risk. Make sure 'Unknown Sources' is enabled in your phone's settings.)
Keep in mind, if the dash.py script has a lot of dependencies (Modules), this probably won't work.
Download and install SL4A from h t t p s://github.com/kuri65536/sl4a/releases
Scroll to find the correct version of sl4a-r*-debug.apk for your phone (probably armv7 or arm).
If you're on Android 6.0+, revoke any permissions you don't need, but keep the Storage permission.
Download and install Python for Android from h t t p s://github.com/kuri65536/python-for-android/releases
Depending on whether dash.py is written for Python 2.* or Python 3.*, you would need PythonForAndroid-debug-r*.apk or Python3ForAndroid-debug-r*.apk, respectively.
Scroll to find it.
Launch Python for Android, and press 'Install'.
Launch SL4A. You should see a list of Python scripts. Tap one to check if it works (say_time.py for example).
Now for the Tasker part, create the following task:
Net --> HTTP Get (only necessary once if dash.py never changes)
Serverort: h t t p ://192.168.1.9
Path: /scripts/dash.py
Output File: sl4a/scripts/dash.py
Run it once, so dash.py is on your phone. (If dash.py never changes, you can disable this Action after you ran it once.)
To have the script be executed in the foreground, add this Action:
Plugin --> SL4A
Tap dash.py
To have the script be executed in the background instead, add this Action:
System --> Send Intent
(Make sure there are no spaces in any of the values.)
Action: com.googlecode.android_scripting.action.LAUNCH_BACKGROUND_SCRIPT
Extra: com.googlecode.android_scripting.extra.SCRIPT_PATH:storage/emulated/0/sl4a/scripts/dash.py
Package: com.googlecode.android_scripting
Class: com.googlecode.android_scripting.activity.ScriptingLayerServiceLauncher
Target: Service (Activity also works)
That's it! The Tasker task isn't very extensive, only one Action (Either 'Plugin --> SL4A' or 'System --> Send Intent') if dash.py only needs to be downloaded once.
I hope this is useful to you!

[Instructions] Minimal Arch Linux UEFI 64 bit

Minimal Arch Linux installation instructions​
NOTICE: I am not responsible if something happens with your device, proceed at your own risk. It is always recommended to follow Arch's own installation guide, even though these instructions below are from it already just more simplified.​
Welcome to my post about installing Arch Linux on UEFI 64bit systems. These instructions were first tested in VMs, and then I installed it on my main system. Both were successful. Please follow the instructions very correctly, and don't miss anything. If there is an error, don't panic, do these instead:
Check if you typed the command correctly, if you didn't, no need to panic further. Just type it again.
Search online about the error, it is possible that a solution is already there for you.
I just want to also add that, whatever happens with your device is not my responsibility. These instructions were done under UEFI 64bit systems, even in the VM there is a setting which lets you enable ‘Enable EFI (Special OSes only)’ (Oracle VM VirtualBox) and it acts as a UEFI system. I am not the one to be guiding you with other errors, so for that reason please post it in a separate place. These instructions were written by me and a friend of mine that helped with most of the things, I am a beginner as much as you are while following these instructions.
Before continuing, visit this link to install the ISO from a server, it's usually named like "archlinux-2021.03.01-x86_64.iso". Then prepare an installation medium by checking here. Once you have created a live USB for Arch Linux, shut down your PC. Plugin your USB and boot your system. While booting keep pressing F2, F10 or F12 key (depending upon your system) to go into boot settings, then choose "Boot Arch Linux (x86_64)", if that didn't work then check online to do it accordingly.
Notes before starting:
1. if you type commands and it says "you cannot perform this unless you are root" or similar, add "sudo" before the main command which then asks for your password and runs it as root.
2. In some areas characters are capitalized, if the CAPS LOCK isn't working do this combination: SHIFT+the key word. As in if I want to type the letter W capitalized, I hold SHIFT and then click W.
---
Table of Content:
I. Minimal Arch Linux Installation Instructions
A. Verifying boot mode
B. Connecting to the internet
C. Updating system clock
D. Creating the partitions
E. Formatting the partitions
F. Mounting the partitions
G. Installing the necessary system packages
H. Configuring the system
I. Applying localization
J. Setting up hostname
K. Setting up root password
L. Setting up bootloader
M. Exiting and restarting
N. Adding a non-root user
O. Setting a password for the account
P. Giving the user permissions
Q. Giving super user privileges to all the users in the wheel group
R. Installing KDE Plasma
II. Things worth looking at
III. Programs worth installing/looking at
---​
I. Minimal Arch Linux Installation Instructions​
A. Verifying boot mode​First, run this command to know if your system is UEFI based:
ls /sys/firmware/efi/efivars
If the result is empty, then don't continue. If it does have files, then it is UEFI based and you may continue.
B. Connecting to the internet​Connect to internet by following this for wireless and this for others, usually there's no need if you're doing this in a VM. The instructions on the wiki are straight forward, I don't have to write it here.
C. Updating system clock​In order to update system clock, let's start it:
timedatectl set-ntp true
Now let's list the timezones available to see if yours is here:
timedatectl list-timezones
Then let's set your timezone:
timedatectl set-timezone Zone/SubZone
instead of "Zone/SubZone" insert one from the command that we did before, for example:
timedatectl set-timezone Canada/Eastern
Now let's check if it worked:
timedatectl status
If it doesn't say the timezone you set, then do the instructions again.
D. Creating the partitions​First type this (if you want to use fdisk, check here):
cfdisk
Delete all of your current partitions until it's 1 partition that has your full storage (by choosing each partition and then do "Delete" that's at the bottom), then create 2 partitions (by choosing "New" that's at the bottom when on an empty non-labeled partition storage without any type):
- The first with size 260MiB and with the type: EFI system partition. If you already have a partition for EFI system similar to this one then there's no need to do this again.
Now go back to the second one which has the rest of your storage (not the EFI system, the one that has no type), and create ("New" at the bottom) another one:
- With size rest (as in just click enter so all of the rest storage will be set to it) and with the type: Linux x86-64 root
After creating the 2 partitions with their correct sizes and the type, write the 2 partitions by first choosing the first one then there's "Write" at the bottom of the cfdisk place, just like you did with type and creating the partitions, choose the first partition then click "Write" and then type "yes", do this for the second partition as well. And then when you write both of the partitions, do "Quit" and run this:
wipefs -a device
Here ^ instead of "device" write the partition name of the second one that we created up, which has Linux x86-64 root. For example it can look like this: /dev/sda2, so you replace that with device, for example:
wipefs -a /dev/sda2
E. Formatting the partitions​Now let’s format the partitions we created (do cfdisk back to check if sda1 is EFI and if sda2 is the root partition! If it isn't rewrite it accordingly):
For the EFI system partition:
mkfs.fat -F32 /dev/sda1
For the root partition:
mkfs.ext4 /dev/sda2
F. Mounting the partitions​Now let’s mount the partitions (do cfdisk back to check if sda1 is EFI and if sda2 is the root partition! If it isn't rewrite it accordingly):
For the EFI system partition:
mkdir /mnt/efi
mount /dev/sda1 /mnt/efi
For the root partition:
mount /dev/sda2 /mnt
G. Installing the necessary packages​These packages are for the basic functionality of Arch Linux, we still didn’t go to the KDE installation. Please take these into consideration before continuing:
1. "intel-ucode" may be replaced, I use intel processor that's why I have written that package. Check here to install according to your processor, and replace “intel-ucode” with your processor’s package.
2. "linux" can be replaced with another kernel of your choice, this is the most stable for daily usage according to Arch Linux, check here to choose the kernel of your choice, and replace the package.
3. "efibootmgr" is needed by "grub" for EFI systems, it’s necessary to have it.
4. "nano" used for text editing which we will use later on, and "networkmanager" used for connecting to wifi with typing "nmtui", but we have to enable it first then restart the pc, as we move on we will enable it.
After choosing the packages that you will replace, if you will any, type this and replace the packages accordingly (if you have to replace some, feel free to add more but make sure you know how to use the package!):
pacstrap /mnt base base-devel linux linux-firmware nano intel-ucode grub efibootmgr networkmanager
H. Configuring the system​Since we installed the necessary packages, now we will configure the system. Run these commands separately:
genfstab -U /mnt >> /mnt/etc/fstab
arch-chroot /mnt
Note for the next command: change “Zone/SubZone” according to what you put in C
ln -sf /usr/share/zoneinfo/Zone/SubZone /etc/localtime
hwclock --systohc
I. Applying localization​Now we will apply localization, follow these commands:
nano /etc/locale.gen
After running the command above, uncomment "en_US.UTF-8 UTF-8" OR the language of your choice.
Save the file and then run:
locale-gen
Now let’s create the configuration file:
nano /etc/locale.conf
Type this in the file: LANG=en_US.UTF-8
OR replace "en_US.UTF-8" with the language you uncommented before. Save it with CTRL+S and then quit (it should be written below the shortcuts for the operations, make sure to read them)
J. Setting up hostname​Now we will setup the hostname file, type this:
nano /etc/hostname
Then type a host name of your choice in the file and save it with CTRL+S and then quit.
Now we need to setup another file before moving on, run this command:
nano /etc/hosts
And type these in the file (respect the new lines! If a line is in a separate line, don't type it next to each other):
127.0.0.1 localhost
: :1 localhost
127.0.1.1 myhostname.localdomain myhostname
Replace "myhostname" with the hostname you put in the /etc/hostname file. Then save the file and quit.
K. Setting up root password​Now let’s setup the root password, type:
passwd
And insert the password (it should prmopt up).
L. Setting up the bootloader​Now let’s setup the bootloader (GRUB), run these separately:
grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg
M. Exiting and restarting​Exit chroot by typing "exit" and now restart by typing "reboot", the second it reboots remove the USB.
If you're in a VM type "shutdown now" and go remove the Arch Linux image from the VM settings (this is according to Oracle’s VM software) by going to the settings of your VM, then storage, then the one under "Controller: IDE", under the other tab in "Attributes" next to Optical Drive there's a CD icon, click on that and change from the ISO to your Host Drive.
​After rebooting login by typing the username as "root" and the password the one you wrote before.
N. Adding a non-root user​Now let’s add a non-root user, it’s not safe to use root as a daily usage account. Run this command and replace “user” with a username of your choice:
useradd -m user
O. Setting a password for the account​Now let’s set a password for that account, run this command and replace “user” with the username you put in N (from the previous step):
passwd user
P. Giving the user permissions​Now let’s add the user to the required groups, as in giving permissions. Run this command and replace “user” (the last word) with the username you created above (in step N):
usermod -aG wheel,audio,video,optical,storage user
For example if I created an account named “serjsx” then I run this command:
usermod -aG wheel,audio,video,optical,storage serjsx
Note: don’t be surprised if it doesn’t output anything, just move on. If something is wrong it’ll already tell you the error.
Q. Giving super user privileges to all the users in the wheel group​Now we will give the necessary privilege to the users that we create (either now or in the future, currently it’s the one we did in step N and O), run this command:
EDITOR=nano visudo
Uncomment (remove the #) the line that says:
# %wheel ALL=(ALL) ALL
Remove the # that’s at the beginning of the sentence, and now exit root account by typing “exit” and then login to your user (write the username of the account you created and then the password).
R. Installing KDE Plasma​Now let’s install KDE! KDE is one of the most popular desktop environments for Arch Linux, that's why I went with it. However, you can install any desktop environment you want after this step. Because, even without installing a desktop environment, you successfully installed Arch Linux on your system. You can check here to know about other desktop environments available for Arch Linux: https://wiki.archlinux.org/title/desktop_environment
You can check here to see my lightweight custom environment setup instructions: https://forum.xda-developers.com/t/arch-linux-lightweight-custom-environment-setup.4385985/
First, let’s enable Network Manager (nmtui) by running this command:
sudo systemctl enable NetworkManager
If it asks for your password just type it and click enter. Then type “reboot”, login, run “nmtui” and connect to your wifi.
Next, update your system by typing this command:
sudo pacman -Syu
Now let’s install the necessary packages, type these:
sudo pacman -S xorg-server plasma sddm gwenview konsole kate dolphin okular spectacle partitionmanager ark packagekit-qt5 appstream noto-fonts-emoji noto-fonts gvfs-mtp android-file-transfer android-udev
Note: there are several applications here ^ that I chose, which are: dolphin (file manager), kate (text editor), konsole (terminal), gnenview (picture viewer), okular (document viewer), spectacle (screenshot taker), paritionmanager (to manage your partitions), ark (archive extractor and other related), packagekit-qt5, noto-fonts noto-fonts-emoji (popular fonts), gvfs-mtp android-file-transfer android-udev (Android-related runtimes and software, giving you a better experience when trying to move files from your phone to your desktop) and appstream needed for Discover to install applications. You can add/remove any of these, these are just applications nothing related to the system, but make sure you install konsole or a terminal! Also you can just install kde-applications instead of the softwares I have added, kde-applications has ALL of the KDE applications (can include a lot of bloatware, but don't exclude packagekit-qt5, appstream, sddm, plasma and xorg-server!).
After the packages are installed, now let’s enable SDDM by typing:
sudo systemctl enable sddm.service
Just in case you want to check if the session is working, run this:
loginctl show-session $XDG_SESSION_ID
Type “reboot” to reboot, and after rebooting you should see SDDM login page! Type the password of your account and you should go in KDE.
This step is optional, but it is recommended because it will let you install packages from the AUR (user repisotary). We will also install yay by running these separately:
(Let’s install git in order to install yay afterwards with it)
sudo pacman -S git
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
And now, one last thing to do before you enjoy your system. Sometimes Discover won’t work, you may face an issue, so it is recommended to reinstall appstream. Run this command:
sudo pacman -S appstream
If it says no application found, do it with yay:
yay -S appstream
​
That’s it! You should now have a full working OS, running Arch Linux. This is a very important thing to do nowadays, because Microsoft is installing more and more tracking solutions within their operating systems, and you may eventually ask yourself: "Do I really have control over what happens on this operating system?"
The answer is, "No". Linux distributions give you the control and freedom that you deserve, so what you did today is a great accomplishment and a good start. I hope you can learn more about the usage of this distribution by checking their wiki from this link: https://wiki.archlinux.org/
II. Things Worth Looking At​
If you need help, go here: https://wiki.archlinux.org/title/Arch_IRC_channels​
If you need help, go here: https://bbs.archlinux.org/​
KDE: https://kde.org/​
Arch Linux's installation guide: https://wiki.archlinux.org/title/Installation_guide​
Arch Linux applications list: https://wiki.archlinux.org/title/List_of_applications​
Best practices for hardening Arch Linux: https://wiki.archlinux.org/title/Security​
Swap: https://wiki.archlinux.org/title/Swap​
Pacman: https://wiki.archlinux.org/title/pacman​
AUR: https://aur.archlinux.org/ ​
Arch Linux - Desktop Environments: https://wiki.archlinux.org/title/desktop_environment​
III. Programs Worth Installing/Looking At​
Firefox/LibreWolf: if you choose Firefox, make sure to use https://ffprofile.com/ for adjusting the settings, the default settings aren't good enough. If you use LibreWolf, they're already there.
Firefox: sudo pacman -S firefox
Librewolf: yay -S librewolf-bin
GNOME Disk Utility: this is, in most cases, better than KDE's partition manager.
sudo pacman -S gnome-disk-utility
LibreOffice: FOSS office productivity tool, this is the best one you can get for Linux distributions.
If you want stable release:
sudo pacman -S libreoffice-still
If you want the latest features:
sudo pacman -S libreoffice-fresh
Xarchiver: even though Ark is installed already, Xarchiver has a smoother experience in most cases. However, you can still use Ark, eventually they result the same thing.
sudo pacman -S xarchiver
GIMP: this is the best image editor for Linux distributions, it is recommended to have it installed just in case you need it one day. Also did I forget to mention that it's free?
sudo pacman -S gimp
Check out the tutorials as well: https://www.gimp.org/tutorials/
Kdenlive: this is the best video editor for Linux distributions, and it's free!
sudo pacman -S kdenlive
zip, unzip: these three command line tools are used for extracting and compressing to zip format.
sudo pacman -S zip unzip
Read these to know how to use them:
zip: https://man.archlinux.org/man/zip.1
unzip: https://man.archlinux.org/man/unzip.1
Have a good day! Let me know if it worked with you

Categories

Resources