slacko-6.0 beta 2

A home for all kinds of Puppy related projects
Message
Author
User avatar
rcrsn51
Posts: 13096
Joined: Tue 05 Sep 2006, 13:50
Location: Stratford, Ontario

#381 Post by rcrsn51 »

01micko wrote:I am dead against installing to NTFS on a hard drive. I know nooby would not have been too happy
There is probably some inappropriate gallows humour in that comment and I am trying hard to ignore it.

User avatar
Billtoo
Posts: 3720
Joined: Tue 07 Apr 2009, 13:47
Location: Ontario Canada

slacko-6.0 beta 2

#382 Post by Billtoo »

@SFR

The warning popped up again, after the first pupsave I think as uptime
is only 41 minutes.
/tmp/snapmergepuppy-error shows:
cp: cannot create regular file
'/initrd/pup_ro1/root/spot/.macromedia/Flash_Player/macromedia.com/support/flashplayer/sys/#s.ytimg.com/settings.sol': No such file or directory

I had just watched a video on cnn.com that linked to youtube, the
browser is Qupzilla.
I have Firefox,Qupzilla, and Dillo set to run under user spot in the
.spot-status file and chose to run internet apps as user spot in the
"QuickSetup first-run settings".

User avatar
SFR
Posts: 1800
Joined: Wed 26 Oct 2011, 21:52

#383 Post by SFR »

Billtoo wrote:The warning popped up again
I thought so...
I'm gonna have to reconsider disabling it then, unless I figure out something else...
For now, to avoid the annoying pop-ups, you may want to comment out (or delete) the whole if-fi section at the end of /usr/sbin/snapmergepuppy:

Code: Select all

if [ -s /tmp/snapmergepuppy-error ]; then	#140102 SFR
...
fi
01micko wrote:What do you think about my stance on installing to NTFS?
As for ntfs itself I'm quite neutral - as long as it doesn't cause problems, let it be. And I like the fact that Linux is not alike the other "totalitarian" OS that supports only its own (all 2 or 3 IIRC, lol) filesystems.
But you're referring mainly to Win8+hibernation issue, right?
Well, I'm always keen to give users as much freedom as possible, also to do stupid things, so if it comes for me - lots of big, red, flashing warnings and beeps would be in order. :wink:
But actually it's not that important (for me personally), as I prefer the less invasive Noryb's method.

Btw, PUI is fine now. :)

Greetings!
Attachments
Screenshot.jpg
(49.23 KiB) Downloaded 479 times
[color=red][size=75][O]bdurate [R]ules [D]estroy [E]nthusiastic [R]ebels => [C]reative [H]umans [A]lways [O]pen [S]ource[/size][/color]
[b][color=green]Omnia mea mecum porto.[/color][/b]

User avatar
SFR
Posts: 1800
Joined: Wed 26 Oct 2011, 21:52

#384 Post by SFR »

@Billtoo: wait a second, I think I got it!

Code: Select all

/initrd/pup_ro1/root/spot/.macromedia/Flash_Player/macromedia.com/support/flashplayer/sys/#s.ytimg.com/settings.sol': No such file or directory
It's most likely about bad timing indeed, here's what I think happened:
1. snapmerge started to copy directories to savefile, but at the time there was no /root/spot/.macromedia/Flash... yet.
2. Firefox created all those subdirectories + settings.sol file inside.
3. snapmerge went to copying files , incl. settings.sol, but wasn't able to copy it, since all the above subdirectories hasn't been created in savefile in step 1.

That also explains why the subsequent save is usually error-free.

So, I added this workaround:

Code: Select all

sed -i '/No such file or directory/d' /tmp/snapmergepuppy-error
This will remove all "No such file or directory" related errors, but leaves other (if any).

I'd be grateful if you could test it one more time. Fixed version attached.

Thanks for the feedback &
Greetings!
Attachments
snapmergepuppy.tar.gz
(4.31 KiB) Downloaded 186 times
[color=red][size=75][O]bdurate [R]ules [D]estroy [E]nthusiastic [R]ebels => [C]reative [H]umans [A]lways [O]pen [S]ource[/size][/color]
[b][color=green]Omnia mea mecum porto.[/color][/b]

User avatar
Billtoo
Posts: 3720
Joined: Tue 07 Apr 2009, 13:47
Location: Ontario Canada

#385 Post by Billtoo »

SFR wrote:@Billtoo:
I'd be grateful if you could test it one more time. Fixed version attached.

Thanks for the feedback &
Greetings!
Okay, I installed the new version.
This sdhc card that I'm using is a little slow if that makes a difference.

Thanks

User avatar
shinobar
Posts: 2672
Joined: Thu 28 May 2009, 09:26
Location: Japan
Contact:

puppy on ntfs

#386 Post by shinobar »

Hi. all!
I am on a trip now and cannot test the new puppyinttaller, but my thought on the ntfs.

Yes, ntfs has many problem. But for nooby, creating new partition is much more dangerous.
We can give good information on ntfs to avoid issues for nooby. Of course new partition is encouraged for Heavy users.

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

Re: puppy on ntfs

#387 Post by 01micko »

shinobar wrote:Hi. all!
I am on a trip now and cannot test the new puppyinttaller, but my thought on the ntfs.

Yes, ntfs has many problem. But for nooby, creating new partition is much more dangerous.
We can give good information on ntfs to avoid issues for nooby. Of course new partition is encouraged for Heavy users.
Enjoy your break! :) (hope it is not a business trip)

I have considered the NTFS situation and you are right, making a partition for a noob is a daunting task, so I added to the gui a checkbox so they must read the warning. The wording for now may seem a bit harsh. I can change to "CAUTION: Make sure it is defragmented bla, bla" and if on newer windows, "Make sure it is defragmented and not hibernated".

The checkbox in the image enables the button. You can see that I just tried it as the Slacko 5.9.3 install shows up in the result on the NTFS partition.
Attachments
Screenshot.jpg
(96.96 KiB) Downloaded 376 times
Puppy Linux Blog - contact me for access

musher0
Posts: 14629
Joined: Mon 05 Jan 2009, 00:54
Location: Gatineau (Qc), Canada

#388 Post by musher0 »

Hi, 01micko.

vfat is indeed becoming limited, by comparison with other file systems.
However it retains its usefulness for exchanging docs and files between
WhineDose and Linux on older PCs. And there is no "danger" per se
using it under Linux.

On +/- the same subject:
I also have had success with UDF (universal drive format) on USB's. With
the udftools, it's a cinch to format and later mount any partition in UDF.

A couple of advantages of UDF over vfat :
-- one of the few f.s. to have almost no file size limit (well, it does have
one: 16 exabytes..., but it'll be a couple of decades before we get there! )
-- compatible with Mac as well as WhineDose, and many others f.s. (as
shown in the table in the wikipedia reference.)
-- you can format pretty much any media with it, not just metal discs.

Disadvantages:
* latest version of gparted still can't format a partition in udf (at least last
time I looked [i.e. tonight...]). So you have to create a "raw" partition,
then get out of gparted and format said partition in console using udftools.
* you can't use it as a boot partition.

My 2¢. BFN.

musher0

Refs. :
* https://en.wikipedia.org/wiki/Universal_Disk_Format (general info)
* http://sourceforge.net/projects/linux-udf/ (udftools)
* http://gparted.sourceforge.net/features.php
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

#389 Post by 01micko »

Getting close now...

Thanks to rcrsn51 for MAAG.. might make it a default program as we have gifscicle already.

Note that the second NTFS drive doesn't have an OS. There is a mechanism that will open that one too if it does have an OS as it will be greyed (tested on another machine with 7/server 2008 installed).
Puppy Linux Blog - contact me for access

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

#390 Post by 01micko »

@musher0

Yes, I like UDF for it's cross platform features. A good option for 'sneaker net' between OS types.

A simple tool to allow formatting drives to UDF would be nice.. any volunteers?
Puppy Linux Blog - contact me for access

gyro
Posts: 1798
Joined: Tue 28 Oct 2008, 21:35
Location: Brisbane, Australia

#391 Post by gyro »

@01micko,
Will this new PUI, give me the opportunity to install into empty space?

Scenario:
Before trying to install Puppy on a Windows 8 box, I booted into windows and did a shrink of the C: drive of 20GB.
I now have 20GB of empty space on the hard disk.
I then boot Puppy from a CD and run the new PUI to install puppy on my hard drive.
Will my 20GB of empty space be simply ignored?

gyro

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

#392 Post by 01micko »

gyro wrote:@01micko,
Will this new PUI, give me the opportunity to install into empty space?

Scenario:
Before trying to install Puppy on a Windows 8 box, I booted into windows and did a shrink of the C: drive of 20GB.
I now have 20GB of empty space on the hard disk.
I then boot Puppy from a CD and run the new PUI to install puppy on my hard drive.
Will my 20GB of empty space be simply ignored?

gyro
Yes
Attachments
Screenshot5.png
(15.74 KiB) Downloaded 880 times
Puppy Linux Blog - contact me for access

User avatar
zigbert
Posts: 6621
Joined: Wed 29 Mar 2006, 18:13
Location: Valåmoen, Norway
Contact:

#393 Post by zigbert »

Sorry Mick, I couldn't help it :D

Please do whatever you want with it - ignore it, trash it, smash it, ...
I have only replaced the Xdialog main gui with gtkdialog.
New icons are uploaded to Woof
The diff is based on your latest upload of puppyinstaller with the windows fix


Image

Code: Select all

431,447c431,575
< # Barry crippled the ZIP disk functionality but only removed some code.
< PMEDIA="`Xdialog --wmclass "gtkdialog2" --left \
< --title "$(gettext 'Puppy Universal Installer')" \
< --no-tags --stdout --menubox "$(gettext 'Welcome to the Puppy Universal \
< Installer!\nIf you wish to install Puppy to a removable media, such as a \
< USB Flash\nor hard drive or CD/DVD disc, please insert \
< it\nright now, before proceeding.\n\nINSERT MEDIA NOW\nThen, choose the media \
< that you want to install Puppy to:')" 0 0 10 usbflash \
< "$(gettext 'USB Flash drive')" usbhd "$(gettext 'USB hard drive')" \
< usb2ataflash "$(gettext 'USB CF Flash drive, later move CF card to IDE/SATA \
< internal adaptor')" iusbflash "$(gettext 'Internal USB Flash drive \
< (ex: uDiskOnChip)')" ataflash "$(gettext 'Internal IDE/SATA Flash drive \
< (exs: CF card, SD memory card)')" atahd "$(gettext 'Internal \
< (IDE or SATA) hard drive')" scsihd "$(gettext 'Ancient true-SCSI hard drive')" \
< cd "$(gettext 'CD drive')"`"
< [ ! $? -eq 0 ] && exit
< [ "$PMEDIA" = "" ] && exit
---
> [ -s $HOME/.config/ptheme/gtkdialog_active ] && . $HOME/.config/ptheme/gtkdialog_active
> [ ! "$SVG_BAR_COLOR_TOTAL" ] && SVG_BAR_COLOR_TOTAL='#eee'
> [ ! "$SVG_BAR_COLOR_TEXT" ] && SVG_BAR_COLOR_TEXT='#111' #background color
> 
> export PUI='
> <window title="'$(gettext 'Puppy Universal Installer')'" icon-name="gtk-preferences">
> <vbox>
>   <frame '$(gettext 'Puppy Universal Installer')'>
>     '"`/usr/lib/gtkdialog/xml_info 0 puppy_install.svg 60 "$(gettext "If you wish to install Puppy to a removable media, such as a USB Flash or hard drive or CD/DVD disc, <b>please insert it right now</b>, before proceeding. Then, choose the media that you want to install Puppy to.")"`"'
> 
>     <hbox space-expand="true" space-fill="true">
>       <eventbox name="bg" above-child="false" visible-window="true" space-expand="false" space-fill="false">
>         <hbox space-expand="false" space-fill="false">
>           <vbox margin="5">
>             <text angle="90" wrap="false" use-markup="true" yalign="0.5" space-expand="true" space-fill="true"><label>"<big><big><span fgcolor='"'$SVG_BAR_COLOR_TEXT'"'><b>USB</b></span></big></big>"</label></text>
>           </vbox>
>         </hbox>
>       </eventbox>
>       <vbox>
>         <hbox space-expand="true" space-fill="true">
>           <text xalign="0" use-markup="true" space-expand="true" space-fill="true"><label>"<b>USB</b> '$(gettext 'Flash drive')'"</label></text>
>           <vbox space-expand="false" space-fill="false">
>             <button>
>               '"`/usr/lib/gtkdialog/xml_button-icon flashcard_usb.svg big`"'
>               <action type="exit">usbflash</action>
>             </button>
>           </vbox>
>         </hbox>
>         <hbox space-expand="true" space-fill="true">
>           <text xalign="0" use-markup="true" space-expand="true" space-fill="true"><label>"<b>USB</b> '$(gettext 'hard drive')'"</label></text>
>           <vbox space-expand="false" space-fill="false">
>             <button>
>               '"`/usr/lib/gtkdialog/xml_button-icon harddisk_usb.svg big`"'
>               <action type="exit">usbhd</action>
>             </button>
>           </vbox>
>         </hbox>
>         <hbox space-expand="true" space-fill="true">
>           <text xalign="0" use-markup="true" space-expand="true" space-fill="true"><label>"<b>USB</b> '$(gettext "CF Flash drive, later move CF card to IDE/SATA \
> internal adaptor")'"</label></text>
>           <vbox space-expand="false" space-fill="false">
>             <button>
>               '"`/usr/lib/gtkdialog/xml_button-icon flashcard_usb_2.svg big`"'
>               <action type="exit">usb2ataflash</action>
>             </button>
>           </vbox>
>         </hbox>
>       </vbox>
>     </hbox>
> 
>     <hseparator></hseparator>
> 
>     <hbox space-expand="true" space-fill="true">
>       <eventbox name="bg" above-child="false" visible-window="true" space-expand="false" space-fill="false">
>         <hbox space-expand="false" space-fill="false">
>           <vbox margin="5">
>             <text angle="90" wrap="false" use-markup="true" yalign="0.5" space-expand="true" space-fill="true"><label>"<big><big><span fgcolor='"'$SVG_BAR_COLOR_TEXT'"'><b>'$(gettext 'Internal')'</b></span></big></big>"</label></text>
>           </vbox>
>         </hbox>
>       </eventbox>
>       <vbox>
>         <hbox space-expand="true" space-fill="true">
>           <text xalign="0" use-markup="true" space-expand="true" space-fill="true"><label>"'$(gettext '<b>Internal</b> (IDE or SATA) hard drive')'"</label></text>
>           <vbox space-expand="false" space-fill="false">
>             <button>
>               '"`/usr/lib/gtkdialog/xml_button-icon harddisk.svg big`"'
>               <action type="exit">atahd</action>
>             </button>
>           </vbox>
>         </hbox>
>         <hbox space-expand="true" space-fill="true">
>           <text xalign="0" use-markup="true" space-expand="true" space-fill="true"><label>"'$(gettext '<b>Internal</b> IDE/SATA Flash drive
> (ex: CF card, SD memory card)')'"</label></text>
>           <vbox space-expand="false" space-fill="false">
>             <button>
>               '"`/usr/lib/gtkdialog/xml_button-icon flashcard.svg big`"'
>               <action type="exit">ataflash</action>
>             </button>
>           </vbox>
>         </hbox>
>         <hbox space-expand="true" space-fill="true">
>           <text xalign="0" use-markup="true" space-expand="true" space-fill="true"><label>"'$(gettext '<b>Internal</b> USB Flash drive (ex: uDiskOnChip)')'"</label></text>
>           <vbox space-expand="false" space-fill="false">
>             <button>
>               '"`/usr/lib/gtkdialog/xml_button-icon card_usb.svg big`"'
>               <action type="exit">iusbflash</action>
>             </button>
>           </vbox>
>         </hbox>
>         <hbox space-expand="true" space-fill="true">
>           <text xalign="0" use-markup="true" space-expand="true" space-fill="true"><label>"'$(gettext 'Ancient true-SCSI hard drive')'"</label></text>
>           <vbox space-expand="false" space-fill="false">
>             <button>
>               '"`/usr/lib/gtkdialog/xml_button-icon harddisk_scsi.svg big`"'
>               <action type="exit">scsihd</action>
>             </button>
>           </vbox>
>         </hbox>
>       </vbox>
>     </hbox>
> 
>     <hseparator></hseparator>
> 
>     <hbox space-expand="true" space-fill="true">
>       <eventbox name="bg" above-child="false" visible-window="true" space-expand="false" space-fill="false">
>         <hbox space-expand="false" space-fill="false">
>           <vbox margin="5">
>             <text angle="90" wrap="false" use-markup="true" yalign="0.5" space-expand="true" space-fill="true"><label>"<big><big><span fgcolor='"'$SVG_BAR_COLOR_TEXT'"'><b>CD</b></span></big></big>"</label></text>
>           </vbox>
>         </hbox>
>       </eventbox>
>       <vbox>
>         <hbox space-expand="true" space-fill="true">
>           <text xalign="0" use-markup="true" space-expand="true" space-fill="true"><label>"'$(gettext '<b>Optical</b> drive (CD/DVD/BD)')'"</label></text>
>           <vbox space-expand="false" space-fill="false">
>             <button>
>               '"`/usr/lib/gtkdialog/xml_button-icon cdrom.svg big`"'
>               <action type="exit">cd</action>
>             </button>
>           </vbox>
>         </hbox>
>       </vbox>
>     </hbox>
>   </frame>
>   <hbox space-expand="false" space-fill="false">
>     <button>
>       '"`/usr/lib/gtkdialog/xml_button-icon quit`"'
>       <label>'$(gettext 'Quit')'</label>
>       <action type="exit">EXIT</action>
>     </button>
>     '"`/usr/lib/gtkdialog/xml_scalegrip`"'
>   </hbox>
> </vbox>
> </window>'
> 
> echo '
> style "bg" { bg [NORMAL] = "'$SVG_BAR_COLOR_TOTAL'" }
> widget "*bg*" style "bg"' > /tmp/gtkrc_pui
> export GTK2_RC_FILES=/tmp/gtkrc_pui:/root/.gtkrc-2.0
> 
> . /usr/lib/gtkdialog/xml_info gtk #build bg_pixmap for gtk-theme
> RETVAL="`gtkdialog -p PUI 2>/dev/null`"
> eval "$RETVAL"
> [ ! "`grep -E "usbflash|usbhd|usb2ataflash|iusbflash|ataflash|atahd|scsihd|cd" <<< "$EXIT"`" ] && exit
> PMEDIA=$EXIT

gcmartin

PUI and Hibernation on a particular partition

#394 Post by gcmartin »

Sorry,I'm late to the table on the NTFS issue of PUI and Windows Hibernation.

But, I must ask,
  • ISn't there a simple method to detect an active hibernation and "advise/not-allow" use of that in PUI? If so, would that simple test be enough to address that concern?
  • Or, is there some other partition detection technology that Microsoft employs that would be hampered when the Windows system restarts (other than hibernation)?
Just wondering how to remove the concerns about NTFS use. (NTFS is just a filesystem that one OS is dominant in its use. And, should not pose much of any concern in effort, if hibernation is the only issue. Has to be a flag present somewhere on partition...if hibernation is presently active.)

Hope this helps

User avatar
SFR
Posts: 1800
Joined: Wed 26 Oct 2011, 21:52

#395 Post by SFR »

ISn't there a simple method to detect an active hibernation and "advise/not-allow" use of that in PUI? If so, would that simple test be enough to address that concern?
From /bin/mount, regarding ntfs-3g's exit codes:
#v4.00 ntfs-3g v1.2412 does not have 4,10, has 15 for dirty f.s., 14 hiberneted...
More: http://linux.die.net/man/8/ntfs-3g.probe
___________

tas-1.7, slight update.
I have also seen new mtPaint and JWM is quite far ahead s933.

Greetings!
[color=red][size=75][O]bdurate [R]ules [D]estroy [E]nthusiastic [R]ebels => [C]reative [H]umans [A]lways [O]pen [S]ource[/size][/color]
[b][color=green]Omnia mea mecum porto.[/color][/b]

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

#396 Post by 01micko »

TAS, jwm, ntfs (I don't want or need to encourage it.. what is is good enough -re ntfs) is all duly noted.

More importantly - changes to initrd;rc.sysinit;sfs_load - sorry but my time frame is reducing :roll:

Anyway.. PUI has progressed somewhat with ziggy's input. On that note I'd like some improvements: shinobar's dotpup - notebook method preferred; but code to include the extras, especially the 'frugal installer' and the 'f2fs-usb-installer' - which may or may not be included.

And below is latest PUI at my end. (install script is there because icons are brand new at woof level)

Test please. :twisted:

NEWER one in lower post
Last edited by 01micko on Mon 07 Jul 2014, 01:04, edited 1 time in total.
Puppy Linux Blog - contact me for access

User avatar
SFR
Posts: 1800
Joined: Wed 26 Oct 2011, 21:52

#397 Post by SFR »

01micko wrote:And below is latest PUI at my end.
Test please. :twisted:
The checkbox does nothing, if Win is on second partition:
sda1_button=true
sda2_button=false
sda3_button=true
so the while loop breaks on the first iteration and $action is null.

Some real tests (in unreal enviroment - VBox):
- frugal install to SD card (seen as USB) - ok
- frugal install to internal HDD (sda2) - ok.
- full install to internal HDD (sda2) - ok.

Greetings!
[color=red][size=75][O]bdurate [R]ules [D]estroy [E]nthusiastic [R]ebels => [C]reative [H]umans [A]lways [O]pen [S]ource[/size][/color]
[b][color=green]Omnia mea mecum porto.[/color][/b]

User avatar
Billtoo
Posts: 3720
Joined: Tue 07 Apr 2009, 13:47
Location: Ontario Canada

slacko-6.0 beta 2

#398 Post by Billtoo »

I downloaded the pui-experimental.tar.gz file and unpacked it in a
hold directory, entered the hold/pui directory and did sh install, then
sh puppyinstaller-z
It installed to a 32gb usb 3.0 flash drive that I had prepared in gparted
(formatted to ext4 and boot flag set)
Installed from cd (read files from cd)

Shutdown,turned on laptop, it booted from the flash drive.

video-info-glx 1.5.1 Sun 6 Jul 2014 on Slacko Puppy 5.9.3 Linux 3.4.94 i686
2.0 VGA compatible controller: Intel Corporation Device 0166 (rev 09)
oem: Intel(R) Sandybridge/Ivybridge Graphics Chipset Accelerated VGA BIOS
product: Intel(R) Sandybridge/Ivybridge Graphics Controller Hardware Version 0.0

X Server: Xorg Driver: intel
X.Org version: 1.14.3
dimensions: 1366x768 pixels (361x203 millimeters)
depth of root window: 24 planes

direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile x86/MMX/SSE2
OpenGL core profile version string: 3.1 (Core Profile) Mesa 9.1.7

Intel(R) Core(TM) i3-3227U CPU @ 1.90GHz
Core 0: @779 1: @779 2: @779 3: @779 MHz

EDIT:
Added FbBox-1.0 + PupMates, works well.
Attachments
screenshot2.jpg
(85.99 KiB) Downloaded 399 times
screenshot.jpg
(39.1 KiB) Downloaded 567 times
Last edited by Billtoo on Sun 06 Jul 2014, 23:04, edited 2 times in total.

User avatar
zigbert
Posts: 6621
Joined: Wed 29 Mar 2006, 18:13
Location: Valåmoen, Norway
Contact:

#399 Post by zigbert »

This is maybe a start? Based on shinobars work.
Code is found at https://github.com/puppylinux-woof-CE/w ... bin/dotpup
I think there should have been an explanation somewhere what frugal and full install is...

Image

User avatar
vicmz
Posts: 1262
Joined: Sun 15 Jan 2012, 22:47

#400 Post by vicmz »

zigbert wrote:I think there should have been an explanation somewhere what frugal and full install is...
How about including Frugal Installer or a similar utility? I mean, there's a wizard for full install, why not a wizard for frugal as well?
[url=http://murga-linux.com/puppy/viewtopic.php?t=76948]Puppy Linux en español[/url]

Post Reply